OpenMS
Loading...
Searching...
No Matches
MonosaccharideDB.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Timo Sachsenberg $
7// --------------------------------------------------------------------------
8
9#pragma once
10
12#include <OpenMS/OpenMSConfig.h>
13
14#include <map>
15#include <vector>
16#include <string>
17
18namespace OpenMS
19{
41 class OPENMS_DLLAPI MonosaccharideDB
42 {
43 public:
45 struct OPENMS_DLLAPI Monosaccharide
46 {
47 std::string symbol;
48 std::string name;
49 double mass;
50 std::string formula;
51 std::vector<std::string> synonyms;
52 };
53
56
61
63 bool hasSymbol(const std::string& symbol) const;
64
70 const Monosaccharide* getMonosaccharide(const std::string& symbol) const;
71
78 const Monosaccharide& getMonosaccharideOrThrow(const std::string& symbol) const;
79
81 std::vector<std::string> getAllSymbols() const;
82
85
87
88 private:
91
93 ~MonosaccharideDB() = default;
94
97
100
103
106
109
111 std::map<std::string, Monosaccharide> monosaccharides_;
112
114 std::map<std::string, std::string> synonym_to_symbol_;
115 };
116
117} // namespace OpenMS
Singleton database of monosaccharides for glycan notation.
Definition MonosaccharideDB.h:42
std::vector< std::string > synonyms
Alternative symbols/names.
Definition MonosaccharideDB.h:51
double mass
Monoisotopic mass in Daltons.
Definition MonosaccharideDB.h:49
std::vector< std::string > getAllSymbols() const
Get all known primary symbols.
MonosaccharideDB(MonosaccharideDB &&)=delete
Deleted move constructor.
const Monosaccharide & getMonosaccharideOrThrow(const std::string &symbol) const
Get monosaccharide by symbol (throws if not found)
std::string symbol
Primary symbol (e.g., "Hex", "HexNAc")
Definition MonosaccharideDB.h:47
void loadFromJSON_()
Load monosaccharide data from JSON file.
MonosaccharideDB & operator=(MonosaccharideDB &&)=delete
Deleted move assignment.
bool hasSymbol(const std::string &symbol) const
Check if a symbol (or synonym) is a known monosaccharide.
~MonosaccharideDB()=default
Destructor.
std::string name
Full name or description.
Definition MonosaccharideDB.h:48
std::map< std::string, std::string > synonym_to_symbol_
Map from synonyms to primary symbol (for lookup)
Definition MonosaccharideDB.h:114
std::string formula
Chemical formula (e.g., "C6H10O5")
Definition MonosaccharideDB.h:50
MonosaccharideDB(const MonosaccharideDB &)=delete
Deleted copy constructor.
MonosaccharideDB & operator=(const MonosaccharideDB &)=delete
Deleted copy assignment.
std::map< std::string, Monosaccharide > monosaccharides_
Map from primary symbol to monosaccharide data.
Definition MonosaccharideDB.h:111
Size getNumberOfMonosaccharides() const
Get the number of monosaccharides in the database.
const Monosaccharide * getMonosaccharide(const std::string &symbol) const
Get monosaccharide by symbol.
MonosaccharideDB()
Private constructor (singleton pattern)
static const MonosaccharideDB * getInstance()
Structure representing a monosaccharide.
Definition MonosaccharideDB.h:46
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19