This is the Goslin reference implementation for C++.
NOTE: This is an early development version, please use at your own risk and report issues to help improve it!
The cppgoslin has been developed with regard the following general issues:
- Ease the handling with lipid names for developers working on mass spectrometry-based lipidomics tools.
- Offering a tool to unify all existing dialects of lipid names.
- This project
- Goslin grammars and test files
- Java implementation
- Python implementation
- R implementation
- Webapplication and REST API
The cppgoslin library needs a g++ compiler version capable of C++ 11 standard and has simple makefiles for easy compilation and installation.
g++
make
To install the library globally on your system, simply type:
[sudo] make install
Be sure that you have root permissions. Here, the library and headers are installed into the /usr directory. If you want to change, you have to edit the first line within the makefile.
To run the tests, please type:
make test
make runtests
If a test should fail, please contact the developers.
The two major functions within cppgoslin are the parsing and printing of lipid names. A minimalistic example will demonstrate both functions the easiest way. In the examples folder, you will find the lipid_name_parser.cpp file. Compile it by typing:
cd examples
make
./lipid_name_parser
Be aware that when changing the installing directory you also have to change the library directory within the examples makefile.
| Lipid category | Lipid class | Abbreviation |
|---|---|---|
| Glycerophospholipids (GP) | Bismonoacylglycerophosphate | BMP / LBPA |
| CDP-diacylglycerol | CDP-DAG | |
| Dimethylphosphatidylethanolamine | DMPE | |
| Monomethylphosphatidylethanolamine | MMPE | |
| Phosphatidylinositol mannoside inositol phosphate | PIMIP | |
| Lyso-CDP-diacylglycerol | LCDPDAG | |
| Lysodimethylphosphatidylethanolamine | LDMPE | |
| Lysomonomethylphosphatidylethanolamine | LMMPE | |
| Lysophosphatidylinositol- mannosideinositolphosphate | LPIMIP | |
| Lysophosphatidylinositol-glucosamine | LPIN | |
| Lysophosphatidic acid | LPA | |
| Lysophophatidylcholine | LPC | |
| Ether lysophosphatidic acid | LPC O-a | |
| LPC O-p | ||
| Lysophosphatidylethanolamine | LPE | |
| Ether lysophosphatidylethanolamine | LPE O-a | |
| LPE O-p | ||
| Lysophosphatidylglycerol | LPG | |
| Lysophosphatidylinositol | LPI | |
| Lysophosphatidylserine | LPS | |
| Cardiolipin | CL | |
| Glycerophosphoglycerophosphoglycerols | DLCL | |
| Monolysocardiolipin | MLCL | |
| Phosphatidic acid | PA | |
| Phosphatidylcholine | PC | |
| Ether phosphatidylcholine | PC O-a | |
| PC O-p | ||
| Phosphatidylethanolamine | PE | |
| Ether phosphatidylethanolamine | PE O-a | |
| PE O-p | ||
| Phosphatidylethanol | PEt | |
| Phosphatidylglycerol | PG | |
| Phosphatidylinositol | PI | |
| Phosphatidylinositolphosphate | PIP / PIP[3'] / PIP[4'] / PIP[5'] | |
| Phosphatidylinositolbisphosphate | PIP2 / PIP2[3',4'] / PIP2[3',5'] / PIP2[4',5'] | |
| Phosphatidylinositoltrisphosphate | PIP3 / PIP3[3',4',5'] | |
| Phosphatidylserine | PS | |
| Phosphatidylinositol mannoside | PIM / PIM1 / PIM2 / PIM3 PIM4 / PIM5 / PIM6 | |
| Lysophosphatidylinositol mannoside | LPIM / LPIM1 / LPIM2 / LPIM3 LPIM4 / LPIM5 / LPIM6 | |
| Phosphatidylglycerol phosphate | PGP | |
| Diacylglyceropyrophosphate | PPA | |
| Diacylglycosylglycerophospholipid | Glc-GP / 6-Ac-Glc-GP | |
| Diacylglycerophosphonocholine | PnC | |
| Diacylglycerophosphonoethanolamine | PnE | |
| Diacylglycerophosphoethanolamine | PE-NMe / PE-NMe2 | |
| Diacylglycerophosphomonoradylglycerol | SLBPA | |
| N-acylphosphatidylethanolamine | NAPE | |
| CPA | ||
| Sphingolipids (SP) | Ceramide | Cer |
| Ceramide phosphate | CerP | |
| Ethanolaminephosphoceramide | EPC | |
| Ganglioside GB3 | GB3 | |
| Ganglioside GB4 | GB4 | |
| Ganglioside GD3 | GD3 | |
| Ganglioside GM3 | GM3 | |
| Ganglioside GM4 | GM4 | |
| Dihexosylceramide | Hex2Cer | |
| Hexosylceramide | HexCer | |
| Inositolphosphoceramide | IPC | |
| Long-chain base | LCB | |
| Long-chain base phosphate | LCBP | |
| Lysomonohexosylceramide | LHexCer | |
| Lysosphingomyelin | LSM | |
| Mannosyldiinositolphosphoceramide | M(IP)2C | |
| Mannosylinositolphosphoceramide | MIPC | |
| Sulfatide | SHexCer | |
| Sphingomyelin | SM | |
| Sterol lipids (ST) | Cholesterol | Ch |
| Cholesteryl ester | ChE | |
| Glycerolipids (GL) | Diacylglycerol | DAG |
| Digalactosyldiacylglycerol | DGDG | |
| Monoacylglycerol | MAG | |
| Monogalactosyldiacylglycerol | MGDG | |
| Sulfoquinovosyl monoacylglycerols | SQMG | |
| Sulfoquinovosyl diacylglycerol | SQDG | |
| Triacylglycerol | TAG | |
| Saccharo lipids (SL) | DAT | |
| AC2SGL | ||
| PAT16 / PAT18 | ||
| Mediator (LM) | Docosanoids | 10-HDoHE |
| 11-HDoHE | ||
| 16-HDoHE | ||
| 8-HDoHE | ||
| Maresin 1 | ||
| Resolvin D1 | ||
| Resolvin D2 | ||
| Resolvin D3 | ||
| Resolvin D5 | ||
| Docosanoids | 11(12)-EET | |
| 11,12-DHET | ||
| 11-HETE | ||
| 12-HEPE | ||
| 12-HETE | ||
| 12-HHTrE | ||
| 12-OxoETE | ||
| 14(15)-EET | ||
| 14(15)-EpETE | ||
| 14,15-DHET | ||
| 15d-PGJ2 | ||
| 15-HEPE | ||
| 15-HETE} | ||
| 16-HETE | ||
| 18-HEPE | ||
| 5(6)-EET | ||
| 5,12-DiHETE | ||
| 5,6,15-LXA4 | ||
| 5,6-DiHETE | ||
| 5-HEPE | ||
| 5-HETE | ||
| 5-HpETE | ||
| 5-OxoETE | ||
| 8(9)-EET | ||
| 8,9-DHET | ||
| 8-HETE | ||
| 9-HEPE | ||
| 9-HETE | ||
| LTB4 | ||
| LTC4 | ||
| LTD4 | ||
| PGB2 | ||
| PGD2 | ||
| PGE2 | ||
| PGF2alpha | ||
| PGI2 | ||
| TXB1 | ||
| TXB2 | ||
| TXB3 | ||
| Octadecanoids | 12(13)-EpOME | |
| 13-HODE | ||
| 13-HOTrE | ||
| 9(10)-EpOME | ||
| 9-HODE | ||
| 9-HOTrE | ||
| Fatty Acids and Conjugates | AA (Arachidonic acid) | |
| ALA (α-Linolenic acid) | ||
| DHA (Docosahexaenoic acid) | ||
| EPA (Eicosapentaenoic acid) | ||
| Linoleic acid | ||
| Palmitic acid | ||
| Tetranor-12-HETE |