![]() |
OpenMS
|
Singleton database of monosaccharides for glycan notation. More...
#include <OpenMS/CHEMISTRY/MonosaccharideDB.h>
Classes | |
| struct | Monosaccharide |
| Structure representing a monosaccharide. More... | |
Accessors | |
| std::map< String, Monosaccharide > | monosaccharides_ |
| Map from primary symbol to monosaccharide data. | |
| std::map< String, String > | synonym_to_symbol_ |
| Map from synonyms to primary symbol (for lookup) | |
| static MonosaccharideDB * | getInstance () |
| bool | hasSymbol (const String &symbol) const |
| Check if a symbol (or synonym) is a known monosaccharide. | |
| const Monosaccharide * | getMonosaccharide (const String &symbol) const |
| Get monosaccharide by symbol. | |
| const Monosaccharide & | getMonosaccharideOrThrow (const String &symbol) const |
| Get monosaccharide by symbol (throws if not found) | |
| std::vector< String > | getAllSymbols () const |
| Get all known primary symbols. | |
| Size | getNumberOfMonosaccharides () const |
| Get the number of monosaccharides in the database. | |
| MonosaccharideDB () | |
| Private constructor (singleton pattern) | |
| ~MonosaccharideDB ()=default | |
| Destructor. | |
| MonosaccharideDB (const MonosaccharideDB &)=delete | |
| Deleted copy constructor. | |
| MonosaccharideDB (MonosaccharideDB &&)=delete | |
| Deleted move constructor. | |
| MonosaccharideDB & | operator= (const MonosaccharideDB &)=delete |
| Deleted copy assignment. | |
| MonosaccharideDB & | operator= (MonosaccharideDB &&)=delete |
| Deleted move assignment. | |
| void | loadFromJSON_ () |
| Load monosaccharide data from JSON file. | |
Singleton database of monosaccharides for glycan notation.
This class provides access to monosaccharide symbols used in ProForma glycan notation. The data is loaded from a JSON file (CHEMISTRY/monosaccharides.json) which contains monosaccharide symbols, their full names, monoisotopic masses, chemical formulas, and synonyms.
The monosaccharide data originates from the HUPO-PSI ProForma specification: https://github.com/HUPO-PSI/ProForma
Common monosaccharides include:
| struct OpenMS::MonosaccharideDB::Monosaccharide |
Structure representing a monosaccharide.
| Class Members | ||
|---|---|---|
| String | formula | Chemical formula (e.g., "C6H10O5") |
| double | mass | Monoisotopic mass in Daltons. |
| String | name | Full name or description. |
| String | symbol | Primary symbol (e.g., "Hex", "HexNAc") |
| vector< String > | synonyms | Alternative symbols/names. |
|
private |
Private constructor (singleton pattern)
|
privatedefault |
Destructor.
|
privatedelete |
Deleted copy constructor.
|
privatedelete |
Deleted move constructor.
| std::vector< String > getAllSymbols | ( | ) | const |
Get all known primary symbols.
|
static |
Returns a pointer to the singleton instance of the monosaccharide database This is thread-safe upon first and subsequent calls (Meyers' singleton)
| const Monosaccharide * getMonosaccharide | ( | const String & | symbol | ) | const |
Get monosaccharide by symbol.
| symbol | The monosaccharide symbol (e.g., "Hex") or a known synonym |
| const Monosaccharide & getMonosaccharideOrThrow | ( | const String & | symbol | ) | const |
Get monosaccharide by symbol (throws if not found)
| symbol | The monosaccharide symbol or synonym |
| Exception::ElementNotFound | if symbol is not known |
| Size getNumberOfMonosaccharides | ( | ) | const |
Get the number of monosaccharides in the database.
| bool hasSymbol | ( | const String & | symbol | ) | const |
Check if a symbol (or synonym) is a known monosaccharide.
|
private |
Load monosaccharide data from JSON file.
|
privatedelete |
Deleted copy assignment.
|
privatedelete |
Deleted move assignment.
|
private |
Map from primary symbol to monosaccharide data.