Skip to content

C++ implementation of parsers for the Grammars on succinct lipid nomenclature (Goslin).

License

Notifications You must be signed in to change notification settings

lifs-tools/cppgoslin

Repository files navigation

C++ implementation for Goslin

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:

  1. Ease the handling with lipid names for developers working on mass spectrometry-based lipidomics tools.
  2. Offering a tool to unify all existing dialects of lipid names.

Related Projects

Installation

Prerequisites

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.

Testing cppgoslin

To run the tests, please type:

make test
make runtests

If a test should fail, please contact the developers.

Using cppgoslin

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.

Supported lipids

Lipid categoryLipid classAbbreviation
Glycerophospholipids (GP)BismonoacylglycerophosphateBMP / LBPA
CDP-diacylglycerolCDP-DAG
DimethylphosphatidylethanolamineDMPE
MonomethylphosphatidylethanolamineMMPE
Phosphatidylinositol mannoside inositol phosphatePIMIP
Lyso-CDP-diacylglycerolLCDPDAG
LysodimethylphosphatidylethanolamineLDMPE
LysomonomethylphosphatidylethanolamineLMMPE
Lysophosphatidylinositol- mannosideinositolphosphateLPIMIP
Lysophosphatidylinositol-glucosamineLPIN
Lysophosphatidic acidLPA
LysophophatidylcholineLPC
Ether lysophosphatidic acidLPC O-a
LPC O-p
LysophosphatidylethanolamineLPE
Ether lysophosphatidylethanolamineLPE O-a
LPE O-p
LysophosphatidylglycerolLPG
LysophosphatidylinositolLPI
LysophosphatidylserineLPS
CardiolipinCL
GlycerophosphoglycerophosphoglycerolsDLCL
MonolysocardiolipinMLCL
Phosphatidic acidPA
PhosphatidylcholinePC
Ether phosphatidylcholinePC O-a
PC O-p
PhosphatidylethanolaminePE
Ether phosphatidylethanolaminePE O-a
PE O-p
PhosphatidylethanolPEt
PhosphatidylglycerolPG
PhosphatidylinositolPI
PhosphatidylinositolphosphatePIP / PIP[3'] / PIP[4'] / PIP[5']
PhosphatidylinositolbisphosphatePIP2 / PIP2[3',4'] / PIP2[3',5'] / PIP2[4',5']
PhosphatidylinositoltrisphosphatePIP3 / PIP3[3',4',5']
PhosphatidylserinePS
Phosphatidylinositol mannosidePIM / PIM1 / PIM2 / PIM3
PIM4 / PIM5 / PIM6
Lysophosphatidylinositol mannosideLPIM / LPIM1 / LPIM2 / LPIM3
LPIM4 / LPIM5 / LPIM6
Phosphatidylglycerol phosphatePGP
DiacylglyceropyrophosphatePPA
DiacylglycosylglycerophospholipidGlc-GP / 6-Ac-Glc-GP
DiacylglycerophosphonocholinePnC
DiacylglycerophosphonoethanolaminePnE
DiacylglycerophosphoethanolaminePE-NMe / PE-NMe2
DiacylglycerophosphomonoradylglycerolSLBPA
N-acylphosphatidylethanolamineNAPE
CPA
Sphingolipids (SP)CeramideCer
Ceramide phosphateCerP
EthanolaminephosphoceramideEPC
Ganglioside GB3GB3
Ganglioside GB4GB4
Ganglioside GD3GD3
Ganglioside GM3GM3
Ganglioside GM4GM4
DihexosylceramideHex2Cer
HexosylceramideHexCer
InositolphosphoceramideIPC
Long-chain baseLCB
Long-chain base phosphateLCBP
LysomonohexosylceramideLHexCer
LysosphingomyelinLSM
MannosyldiinositolphosphoceramideM(IP)2C
MannosylinositolphosphoceramideMIPC
SulfatideSHexCer
SphingomyelinSM
Sterol lipids (ST)CholesterolCh
Cholesteryl esterChE
Glycerolipids (GL)DiacylglycerolDAG
DigalactosyldiacylglycerolDGDG
MonoacylglycerolMAG
MonogalactosyldiacylglycerolMGDG
Sulfoquinovosyl monoacylglycerolsSQMG
Sulfoquinovosyl diacylglycerolSQDG
TriacylglycerolTAG
Saccharo lipids (SL)DAT
AC2SGL
PAT16 / PAT18
Mediator (LM)Docosanoids10-HDoHE
11-HDoHE
16-HDoHE
8-HDoHE
Maresin 1
Resolvin D1
Resolvin D2
Resolvin D3
Resolvin D5
Docosanoids11(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
Octadecanoids12(13)-EpOME
13-HODE
13-HOTrE
9(10)-EpOME
9-HODE
9-HOTrE
Fatty Acids and ConjugatesAA (Arachidonic acid)
ALA (α-Linolenic acid)
DHA (Docosahexaenoic acid)
EPA (Eicosapentaenoic acid)
Linoleic acid
Palmitic acid
Tetranor-12-HETE