The Liebisch abbrevations are a shorthand notation for lipid structures. This is particularly useful when the lipid is incompletely characterized [1,2].
We can use the following code to depict CE 16:1
, using CXSMILES as intermediate step:
Script code/DepictLipidAbbrev.groovy
cxsmiles = LMAbbrevTool.cxsmiles("CE 16:1")
mol1 = sp.parseSmiles(cxsmiles)
new DepictionGenerator()
.withMolTitle()
.depict(mol1)
.writeTo("CE_16_1.svg");
The output looks like this:
Instead of depicting, we can just output the CXSMILES generated from the shorthand notation:
Script code/LiebischExamples.groovy
println LMAbbrevTool.cxsmiles("CE 8:0")
println LMAbbrevTool.cxsmiles("FA 14:1")
println LMAbbrevTool.cxsmiles("LPC 10:1")
The output looks like this:
C1[C@H](OC(=O)CCCCCCC)CC2=CC[C@@]3([H])[C@]4([H]...
)CC[C@]([H])([C@]([H])(C)CCCC(C)C)[C@@]4(C)CC[...
C@]3([H])[C@@]2(C)C1
OC(=O)CC=CC[H] |Sg:n:3:x:ht,Sg:n:6:y:ht| x+y=11
[C@](COP(=O)([O-])OCC[N+](C)(C)C)([H])(O)COC(=O)...
CC=CC[H] |Sg:n:19:x:ht,Sg:n:22:y:ht| x+y=7
The abbreviation FA 14:1
indicates the structure is a fatty acid with an chain with 13 carbon atoms
(and 14 carbons in the compound in total), and with one double bond equivalent. There can be branching
and there can even be rings. For example, this is said to be a valid FA 14:1
:
If we take this loose definition, the number of possible structures is high. With Surge we can enumerate the number of structures