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 {
49 double mass;
51 std::vector<String> synonyms;
52 };
53
56
60
62 bool hasSymbol(const String& symbol) const;
63
69 const Monosaccharide* getMonosaccharide(const String& symbol) const;
70
77 const Monosaccharide& getMonosaccharideOrThrow(const String& symbol) const;
78
80 std::vector<String> getAllSymbols() const;
81
84
86
87 private:
90
92 ~MonosaccharideDB() = default;
93
96
99
102
105
108
110 std::map<String, Monosaccharide> monosaccharides_;
111
113 std::map<String, String> synonym_to_symbol_;
114 };
115
116} // namespace OpenMS
Singleton database of monosaccharides for glycan notation.
Definition MonosaccharideDB.h:42
String symbol
Primary symbol (e.g., "Hex", "HexNAc")
Definition MonosaccharideDB.h:47
double mass
Monoisotopic mass in Daltons.
Definition MonosaccharideDB.h:49
const Monosaccharide & getMonosaccharideOrThrow(const String &symbol) const
Get monosaccharide by symbol (throws if not found)
MonosaccharideDB(MonosaccharideDB &&)=delete
Deleted move constructor.
std::vector< String > getAllSymbols() const
Get all known primary symbols.
std::vector< String > synonyms
Alternative symbols/names.
Definition MonosaccharideDB.h:51
bool hasSymbol(const String &symbol) const
Check if a symbol (or synonym) is a known monosaccharide.
void loadFromJSON_()
Load monosaccharide data from JSON file.
MonosaccharideDB & operator=(MonosaccharideDB &&)=delete
Deleted move assignment.
static MonosaccharideDB * getInstance()
~MonosaccharideDB()=default
Destructor.
const Monosaccharide * getMonosaccharide(const String &symbol) const
Get monosaccharide by symbol.
String name
Full name or description.
Definition MonosaccharideDB.h:48
std::map< String, String > synonym_to_symbol_
Map from synonyms to primary symbol (for lookup)
Definition MonosaccharideDB.h:113
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.
Size getNumberOfMonosaccharides() const
Get the number of monosaccharides in the database.
std::map< String, Monosaccharide > monosaccharides_
Map from primary symbol to monosaccharide data.
Definition MonosaccharideDB.h:110
MonosaccharideDB()
Private constructor (singleton pattern)
Structure representing a monosaccharide.
Definition MonosaccharideDB.h:46
A more convenient string class.
Definition String.h:34
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