001// Copyright 2019 nils.hoffmann. 002// 003// Licensed under the Apache License, Version 2.0 (the "License"); 004// you may not use this file except in compliance with the License. 005// You may obtain a copy of the License at 006// 007// http://www.apache.org/licenses/LICENSE-2.0 008// 009// Unless required by applicable law or agreed to in writing, software 010// distributed under the License is distributed on an "AS IS" BASIS, 011// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012// See the License for the specific language governing permissions and 013// limitations under the License. 014package de.isas.lipidomics.domain; 015 016import de.isas.lipidomics.palinom.exceptions.ConstraintViolationException; 017import java.lang.String; 018import java.util.Arrays; 019import java.util.List; 020import java.util.Optional; 021 022/** 023 * This class was generated by the LipidClassGenerator. 024 * 025 * Enumeration of lipid classes. The shorthand names / abbreviations are used to 026 * look up the lipid class association of a lipid head group. We try to map each 027 * abbreviation and synonyms thereof to LipidMAPS main class. However, not all 028 * described head groups are categorized in LipidMAPS, or only occur in other 029 * databases, so they do not have such an association at the moment. 030 * 031 * Example: Category=Glyerophospholipids maps to Class=Glycerophosphoinositols 032 * (PI) 033 * 034 * @author nils.hoffmann 035 */ 036public enum LipidClass { 037 SP_3P_SULFO_LACCER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C12H20O13S", java.util.Arrays.asList("(3'-sulfo)LacCer")), 038 SP_FUC_IGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C24H41O19", java.util.Arrays.asList("(Fuc)iGb3Cer")), 039 SP_1_O_BEHENOYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C22H43O", java.util.Arrays.asList("1-O-behenoyl-Cer")), 040 SP_1_O_CARBOCEROYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C28H55O", java.util.Arrays.asList("1-O-carboceroyl-Cer")), 041 SP_1_O_CEROTOYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C26H51O", java.util.Arrays.asList("1-O-cerotoyl-Cer")), 042 SP_1_O_EICOSANOYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C20H39O", java.util.Arrays.asList("1-O-eicosanoyl-Cer")), 043 SP_1_O_LIGNOCEROYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C24H47O", java.util.Arrays.asList("1-O-lignoceroyl-Cer")), 044 SP_1_O_MYRISTOYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C14H27O", java.util.Arrays.asList("1-O-myristoyl-Cer")), 045 SP_1_O_PALMITOYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C16H31O", java.util.Arrays.asList("1-O-palmitoyl-Cer")), 046 SP_1_O_STEAROYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C18H35O", java.util.Arrays.asList("1-O-stearoyl-Cer")), 047 SP_1_O_TRICOSANOYL_CER(LipidCategory.SP, "Acylceramides [SP0204]", 2, "2", "C70H59O", java.util.Arrays.asList("1-O-tricosanoyl-Cer")), 048 FA_10_HDOHE(LipidCategory.FA, "Other Docosanoids [FA0400]", 0, "0", "C22H32O3", java.util.Arrays.asList("10-HDoHE")), 049 FA_11_HDOHE(LipidCategory.FA, "Other Docosanoids [FA0400]", 0, "0", "C22H32O3", java.util.Arrays.asList("11-HDoHE")), 050 FA_11_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("11-HETE")), 051 FA_11_12_DHET(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H34O4", java.util.Arrays.asList("11,12-DHET", "11,12-DiHETrE")), 052 FA_11_12_EET(LipidCategory.FA, "Epoxyeicosatrienoic acids [FA0308]", 0, "0", "C20H32O3", java.util.Arrays.asList("11(12)-EET", "11,12-EpETrE")), 053 FA_12_HEPE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosapentaenoic acids [FA0307]", 0, "0", "C20H30O3", java.util.Arrays.asList("12-HEPE")), 054 FA_12_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("12-HETE")), 055 FA_12_HHTRE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatrienoic acids [FA0305]", 0, "0", "C17H28O3", java.util.Arrays.asList("12-HHTrE")), 056 FA_12_OXOETE(LipidCategory.FA, "Fatty acids and conjugates [FA01]", 0, "0", "C20H30O3", java.util.Arrays.asList("12-OxoETE")), 057 FA_12_13_EPOME(LipidCategory.FA, "Other Octadecanoids [FA0200]", 0, "0", "C18H32O3", java.util.Arrays.asList("12(13)-EpOME")), 058 FA_13_HODE(LipidCategory.FA, "Other Octadecanoids [FA0200]", 0, "0", "C18H32O3", java.util.Arrays.asList("13-HODE")), 059 FA_13_HOTRE(LipidCategory.FA, "Other Octadecanoids [FA0200]", 0, "0", "C18H30O3", java.util.Arrays.asList("13-HOTrE")), 060 FA_14_15_DHET(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H34O4", java.util.Arrays.asList("14,15-DHET", "14,15-DiHETrE")), 061 FA_14_15_EET(LipidCategory.FA, "Epoxyeicosatrienoic acids [FA0308]", 0, "0", "C20H32O3", java.util.Arrays.asList("14(15)-EET", "14,15-EpETrE")), 062 FA_14_15_EPETE(LipidCategory.FA, "Other Eicosanoids [FA0300]", 0, "0", "C20H30O3", java.util.Arrays.asList("14(15)-EpETE")), 063 FA_15_HEPE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosapentaenoic acids [FA0307]", 0, "0", "C20H30O3", java.util.Arrays.asList("15-HEPE")), 064 FA_15_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("15-HETE")), 065 FA_15D_PGJ2(LipidCategory.FA, "Prostaglandins [FA0301]", 0, "0", "C20H28O3", java.util.Arrays.asList("15d-PGJ2")), 066 FA_16_HDOHE(LipidCategory.FA, "Other Docosanoids [FA0400]", 0, "0", "C22H32O3", java.util.Arrays.asList("16-HDoHE")), 067 FA_16_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("16-HETE")), 068 FA_18_HEPE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosapentaenoic acids [FA0307]", 0, "0", "C20H30O3", java.util.Arrays.asList("18-HEPE")), 069 FA_5_HEPE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosapentaenoic acids [FA0307]", 0, "0", "C20H30O3", java.util.Arrays.asList("5-HEPE")), 070 FA_5_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("5-HETE")), 071 FA_5_HPETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O4", java.util.Arrays.asList("5-HpETE")), 072 FA_5_OXOETE(LipidCategory.FA, "Fatty acids and conjugates [FA01]", 0, "0", "C20H30O3", java.util.Arrays.asList("5-OxoETE")), 073 FA_5_12_DIHETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O4", java.util.Arrays.asList("5,12-DiHETE")), 074 FA_5_6_DIHETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O4", java.util.Arrays.asList("5,6-DiHETE")), 075 FA_5_6_15_LXA4(LipidCategory.FA, "Lipoxins [FA0304]", 0, "0", "C20H32O5", java.util.Arrays.asList("5,6,15-LXA4")), 076 FA_5_6_EET(LipidCategory.FA, "Epoxyeicosatrienoic acids [FA0308]", 0, "0", "C20H32O3", java.util.Arrays.asList("5(6)-EET", "5,6-EpETrE")), 077 GP_6_AC_GLC_GP(LipidCategory.GP, "Glycosylglycerophospholipids [GP14]", 2, "2", "C11H19O12P", java.util.Arrays.asList("6-Ac-Glc-GP")), 078 FA_8_HDOHE(LipidCategory.FA, "Other Docosanoids [FA0400]", 0, "0", "C22H32O3", java.util.Arrays.asList("8-HDoHE")), 079 FA_8_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("8-HETE")), 080 FA_8_9_DHET(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H34O4", java.util.Arrays.asList("8,9-DHET", "8,9-DiHETrE")), 081 FA_8_9_EET(LipidCategory.FA, "Epoxyeicosatrienoic acids [FA0308]", 0, "0", "C20H32O3", java.util.Arrays.asList("8(9)-EET", "8,9-EpETrE")), 082 FA_9_HEPE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosapentaenoic acids [FA0307]", 0, "0", "C20H30O3", java.util.Arrays.asList("9-HEPE")), 083 FA_9_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C20H32O3", java.util.Arrays.asList("9-HETE")), 084 FA_9_HODE(LipidCategory.FA, "Other Octadecanoids [FA0200]", 0, "0", "C18H32O3", java.util.Arrays.asList("9-HODE")), 085 FA_9_HOTRE(LipidCategory.FA, "Other Octadecanoids [FA0200]", 0, "0", "C18H30O3", java.util.Arrays.asList("9-HOTrE")), 086 FA_9_10_EPOME(LipidCategory.FA, "Other Octadecanoids [FA0200]", 0, "0", "C18H32O3", java.util.Arrays.asList("9(10)-EpOME")), 087 AA(LipidCategory.FA, "Unsaturated fatty acids [FA0103]", 0, "0", "C20H32O2", java.util.Arrays.asList("AA", "Arachidonic acid", "Arachidonic Acid")), 088 AC_O_9_GD1A(LipidCategory.SP, "Globoside", 2, "2", "C50H78N3O37", java.util.Arrays.asList("Ac-O-9-GD1a")), 089 AC_O_9_GT1B(LipidCategory.SP, "Globoside", 2, "2", "C61H94N4O45", java.util.Arrays.asList("Ac-O-9-GT1b")), 090 AC_O_9_GT3(LipidCategory.SP, "Globoside", 2, "2", "C47H71N3O35", java.util.Arrays.asList("Ac-O-9-GT3")), 091 AC2SGL(LipidCategory.SL, "Acyltrehaloses [SL03]", 2, "2", "C20H36O14S", java.util.Arrays.asList("AC2SGL")), 092 ALPHA_LA(LipidCategory.FA, "Fatty acids and conjugates [FA01]", 0, "0", "", java.util.Arrays.asList("alpha-LA", "ALA")), 093 ANACARD(LipidCategory.PK, "Anacardic acids and derivatives [PK1504]", 2, "2", "", java.util.Arrays.asList("ANACARD")), 094 BMP(LipidCategory.GP, "Monoacylglycerophosphomonoradylglycerols [GP0410]", 4, "4", "C6H11O8P", java.util.Arrays.asList("BMP")), 095 BRANCHED_FORSSMAN(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C48H80N3O35", java.util.Arrays.asList("Branched-Forssman")), 096 CAR(LipidCategory.FA, "Fatty acyl carnitines [FA0707]", 2, "2", "", java.util.Arrays.asList("CAR")), 097 CATECHOL(LipidCategory.PK, "Alkyl catechols and derivatives [PK1502]", 2, "2", "", java.util.Arrays.asList("CATECHOL")), 098 CDPDAG(LipidCategory.GP, "CDP-diacylglycerols [GP1301]", 2, "2", "C12H19N3O13P2", java.util.Arrays.asList("CDPDAG", "CDPDG", "CDP-DG", "CDP-DAG")), 099 CER(LipidCategory.SP, "Ceramides [SP02]", 2, "2", "H", java.util.Arrays.asList("Cer", "Ceramide")), 100 CERP(LipidCategory.SP, "Ceramide 1-phosphates [SP0205]", 2, "2", "H2O3P", java.util.Arrays.asList("CerP", "C1P")), 101 CL(LipidCategory.GP, "Glycerophosphoglycerophosphoglycerols [GP12]", 4, "4", "C9H18O13P2", java.util.Arrays.asList("CL")), 102 COA(LipidCategory.FA, "Fatty acyl CoAs [FA0705]", 1, "1", "C21H35N7O16P3S", java.util.Arrays.asList("CoA")), 103 CPA(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 1, "1", "C3H6O5P", java.util.Arrays.asList("CPA")), 104 DAG(LipidCategory.GL, "Diacylglycerols [GL0201]", 3, "2", "C3H5O3", java.util.Arrays.asList("DAG", "DG")), 105 DAT(LipidCategory.SL, "Acyltrehaloses [SL03]", 2, "2", "C15H26O11", java.util.Arrays.asList("DAT")), 106 DGCC(LipidCategory.GL, "Other Glycerolipids [GL00]", 2, "2", "C10H19NO6", java.util.Arrays.asList("DGCC")), 107 DGDG(LipidCategory.GL, "Glycosyldiradylglycerols [GL05]", 2, "2", "C15H26O13", java.util.Arrays.asList("DGDG")), 108 DHA(LipidCategory.FA, "Unsaturated fatty acids [FA0103]", 0, "0", "C22H32O2", java.util.Arrays.asList("DHA", "Docosapentaenoic acid")), 109 DHDG(LipidCategory.GL, "Dihexosyldiacylglycerol", 2, "2", "C15H26O13", java.util.Arrays.asList("DHDG")), 110 DLCL(LipidCategory.GP, "Glycerophosphoglycerophosphoglycerols [GP12]", 4, "2", "C9H16O13P2", java.util.Arrays.asList("DLCL")), 111 DMPE(LipidCategory.GP, "Dimethylphosphatidylethanolamine", 2, "2", "C7H16NO6P", java.util.Arrays.asList("DMPE")), 112 DSGG(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C54H86N3O41", java.util.Arrays.asList("DSGG")), 113 EPA(LipidCategory.FA, "Unsaturated fatty acids [FA0103]", 0, "0", "C20H30O2", java.util.Arrays.asList("EPA", "Eicosapentaenoic acid")), 114 EPC(LipidCategory.SP, "Ceramide phosphoethanolamines [SP0302]", 2, "2", "C2H7NO3P", java.util.Arrays.asList("EPC", "PE-Cer")), 115 FA(LipidCategory.FA, "Fatty acids and conjugates [FA01]", 1, "1", "HO", java.util.Arrays.asList("FA")), 116 FAHFA(LipidCategory.FA, "Wax monoesters [FA0701]", 0, "0", "", java.util.Arrays.asList("FAHFA")), 117 FMC_5(LipidCategory.SP, "Simple Glc series [SP0501]", 2, "2", "C16H21O10", java.util.Arrays.asList("FMC-5")), 118 FMC_6(LipidCategory.SP, "Neutral glycosphingolipids [SP05]", 2, "2", "C9H18O11P", java.util.Arrays.asList("FMC-6")), 119 FORSSMAN(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C34H57N2O25", java.util.Arrays.asList("Forssman")), 120 FUC_BRANCHED_FORSSMAN(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C54H90N3O39", java.util.Arrays.asList("Fuc-Branched-Forssman")), 121 FUC_GA1(LipidCategory.SP, "Globoside", 2, "2", "C32H54NO24", java.util.Arrays.asList("Fuc-GA1")), 122 FUC_GD1B(LipidCategory.SP, "Globoside", 2, "2", "C54H86N3O40", java.util.Arrays.asList("Fuc-GD1b")), 123 FUC_GM1(LipidCategory.SP, "Globoside", 2, "2", "C43H70N2O32", java.util.Arrays.asList("Fuc-GM1")), 124 FUC_GM1_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C43H70N2O33", java.util.Arrays.asList("Fuc-GM1(NeuGc)")), 125 FUC_IGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C24H41O19", java.util.Arrays.asList("Fuc-iGb3Cer")), 126 FUC_GAL_GM1(LipidCategory.SP, "Acidic glycosphingolipids [SP06]", 2, "2", "C49H80N2O37", java.util.Arrays.asList("Fuc(Gal)-GM1")), 127 FUC_GAL_GAL_IGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C44H74NO34", java.util.Arrays.asList("Fuc(Gal)Gal-iGb4Cer")), 128 FUCGALGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C30H51O24", java.util.Arrays.asList("FucGalGb3Cer")), 129 GA1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C26H44NO20", java.util.Arrays.asList("GA1")), 130 GA2(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C20H34NO15", java.util.Arrays.asList("GA2")), 131 GAL_GD1B(LipidCategory.SP, "Globoside", 2, "2", "C54H86N3O41", java.util.Arrays.asList("Gal-GD1b")), 132 GAL_IGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C32H54NO25", java.util.Arrays.asList("Gal-iGb4Cer")), 133 GAL_FUC_GA1(LipidCategory.SP, "Globoside", 2, "2", "C38H64NO29", java.util.Arrays.asList("Gal(Fuc)-GA1")), 134 GAL_FUC_GD1B(LipidCategory.SP, "Globoside", 2, "2", "C60H96N3O45", java.util.Arrays.asList("Gal(Fuc)-GD1b")), 135 GALGAL_GD1B(LipidCategory.SP, "Globoside", 2, "2", "C60H96N3O46", java.util.Arrays.asList("GalGal-GD1b")), 136 GALGALGALGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C36H61O30", java.util.Arrays.asList("GalGalGalGb3Cer")), 137 GALGALGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C30H51O25", java.util.Arrays.asList("GalGalGb3Cer")), 138 GALGALNAC_GM1B_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C51H83N3O39", java.util.Arrays.asList("GalGalNAc-GM1b(NeuGc)")), 139 GALGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C24H41O20", java.util.Arrays.asList("GalGb3Cer")), 140 GALGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C32H54NO25", java.util.Arrays.asList("GalGb4Cer")), 141 GALGLCNAC_GALGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C46H77N2O35", java.util.Arrays.asList("GalGlcNAc-GalGb4Cer")), 142 GALNAC_GD1A(LipidCategory.SP, "Globoside", 2, "2", "C56H89N4O41", java.util.Arrays.asList("GalNAc-GD1a")), 143 GALNAC_GD1A_NEUAC_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C56H89N4O42", java.util.Arrays.asList("GalNAc-GD1a(NeuAc/NeuGc)")), 144 GALNAC_GD1A_NEUGC_NEUAC(LipidCategory.SP, "Globoside", 2, "2", "C56H89N4O42", java.util.Arrays.asList("GalNAc-GD1a(NeuGc/NeuAc)")), 145 GALNAC_GM1(LipidCategory.SP, "Globoside", 2, "2", "C45H73N3O33", java.util.Arrays.asList("GalNAc-GM1")), 146 GALNAC_GM1B(LipidCategory.SP, "Globoside", 2, "2", "C45H73N3O33", java.util.Arrays.asList("GalNAc-GM1b")), 147 GALNAC_GM1B_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C45H73N3O34", java.util.Arrays.asList("GalNAc-GM1b(NeuGc)")), 148 GALNACGAL_FUC_GA1(LipidCategory.SP, "Globoside", 2, "2", "C46H77N2O34", java.util.Arrays.asList("GalNAcGal(Fuc)-GA1")), 149 GALNACGALGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C32H54NO25", java.util.Arrays.asList("GalNAcGalGb3Cer")), 150 GB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C18H31O15", java.util.Arrays.asList("GB3Cer", "Gb3Cer")), 151 GB4(LipidCategory.SP, "Neutral glycosphingolipids [SP05]", 2, "2", "C26H44NO20", java.util.Arrays.asList("GB4", "Gb4")), 152 GB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C26H44NO20", java.util.Arrays.asList("GB4Cer", "Tetrahexosylceramide", "Gb4Cer")), 153 GD1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C48H76N3O36", java.util.Arrays.asList("GD1")), 154 GD1A(LipidCategory.SP, "Ganglioside GD1a(d18:1(4E))", 2, "2", "C48H76N3O36", java.util.Arrays.asList("GD1a")), 155 GD1A_ALPHA(LipidCategory.SP, "Ganglioside GD1a alpha(d18:1(4E))", 2, "2", "C48H76N3O36", java.util.Arrays.asList("GD1a alpha")), 156 GD1A_NEUAC_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C48H76N3O36", java.util.Arrays.asList("GD1a(NeuAc/NeuGc)")), 157 GD1A_NEUGC_NEUAC(LipidCategory.SP, "Globoside", 2, "2", "C48H76N3O37", java.util.Arrays.asList("GD1a(NeuGc/NeuAc)")), 158 GD1A_NEUGC_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C48H76N3O38", java.util.Arrays.asList("GD1a(NeuGc/NeuGc)")), 159 GD1B(LipidCategory.SP, "Ganglioside GD1b(d18:1(4E))", 2, "2", "C48H76N3O36", java.util.Arrays.asList("GD1b")), 160 GD1C(LipidCategory.SP, "Ganglioside GD1c(d18:1(4E))", 2, "2", "C48H76N3O36", java.util.Arrays.asList("GD1c")), 161 GD1C_NEUGC_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C48H76N3O38", java.util.Arrays.asList("GD1c(NeuGc/NeuGc)")), 162 GD2(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C42H66N3O31", java.util.Arrays.asList("GD2")), 163 GD3(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C34H55N2O26", java.util.Arrays.asList("GD3")), 164 GLC_DG(LipidCategory.GL, "Glycosyldiradylglycerols [GL05]", 2, "2", "", java.util.Arrays.asList("Glc-DG")), 165 GLC_GP(LipidCategory.GP, "Diacylglycosylglycerophospholipids [GP1401]", 2, "2", "C9H17O11P", java.util.Arrays.asList("Glc-GP")), 166 GLCNAC_GALGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C40H67N2O30", java.util.Arrays.asList("GlcNAc-GalGb4Cer")), 167 GLCNACGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C26H44NO20", java.util.Arrays.asList("GlcNAcGb3Cer")), 168 GLOBO_A(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C46H77N2O34", java.util.Arrays.asList("Globo-A")), 169 GLOBO_B(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C44H74NO34", java.util.Arrays.asList("Globo-B")), 170 GLOBO_H(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C38H64NO29", java.util.Arrays.asList("Globo-H")), 171 GLOBO_LEX_9(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C52H87N2O39", java.util.Arrays.asList("Globo-Lex-9")), 172 GM1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C37H60N2O28", java.util.Arrays.asList("GM1")), 173 GM1_ALPHA(LipidCategory.SP, "Globoside", 2, "2", "C37H60N2O28", java.util.Arrays.asList("GM1 alpha")), 174 GM1_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C37H60N2O28", java.util.Arrays.asList("GM1(NeuGc)")), 175 GM1B(LipidCategory.SP, "Ganglioside GM1b(d18:1(4E))", 2, "2", "C37H60N2O28", java.util.Arrays.asList("GM1b")), 176 GM1B_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C37H60N2O29", java.util.Arrays.asList("GM1b(NeuGc)")), 177 GM2(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C31H50N2O23", java.util.Arrays.asList("GM2")), 178 GM2_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C31H50N2O24", java.util.Arrays.asList("GM2(NeuGc)")), 179 GM3(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C23H38NO18", java.util.Arrays.asList("GM3")), 180 GM4(LipidCategory.SP, "Gangliosides [SP0601]", 2, "2", "C17H28NO13", java.util.Arrays.asList("GM4")), 181 GP_NAE(LipidCategory.FA, "Glycerophosphoethanolamine", 0, "0", "C5H12NO6P", java.util.Arrays.asList("GP-NAE")), 182 GP1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C81H124N6O60", java.util.Arrays.asList("GP1")), 183 GP1C(LipidCategory.SP, "Ganglioside GP1c(d18:1(4E))", 2, "2", "C81H124N6O60", java.util.Arrays.asList("GP1c")), 184 GP1C_ALPHA(LipidCategory.SP, "Ganglioside GP1c alpha(d18:1(4E))", 2, "2", "C81H124N6O60", java.util.Arrays.asList("GP1c alpha")), 185 GQ1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C70H108N5O52", java.util.Arrays.asList("GQ1")), 186 GQ1B(LipidCategory.SP, "Ganglioside GQ1b(d18:1(4E))", 2, "2", "C70H108N5O52", java.util.Arrays.asList("GQ1b")), 187 GQ1B_ALPHA(LipidCategory.SP, "Ganglioside GQ1b alpha(d18:1(4E))", 2, "2", "C70H108N5O52", java.util.Arrays.asList("GQ1b alpha")), 188 GQ1C(LipidCategory.SP, "Ganglioside GQ1c(d18:1(4E))", 2, "2", "C70H108N5O52", java.util.Arrays.asList("GQ1c")), 189 GT1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C59H92N4O44", java.util.Arrays.asList("GT1")), 190 GT1A(LipidCategory.SP, "Ganglioside GT1a(d18:1(4E))", 2, "2", "C59H92N4O44", java.util.Arrays.asList("GT1a")), 191 GT1A_ALPHA(LipidCategory.SP, "Ganglioside GT1a alpha(d18:1(4E))", 2, "2", "C59H92N4O44", java.util.Arrays.asList("GT1a alpha")), 192 GT1B(LipidCategory.SP, "Ganglioside GT1b(d18:1(4E))", 2, "2", "C59H92N4O44", java.util.Arrays.asList("GT1b")), 193 GT1B_ALPHA(LipidCategory.SP, "Globoside", 2, "2", "C59H92N4O44", java.util.Arrays.asList("GT1b alpha")), 194 GT1B_ALPHA_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C59H92N4O45", java.util.Arrays.asList("GT1b alpha(NeuGc)")), 195 GT1C(LipidCategory.SP, "Ganglioside GT1c(d18:1(4E))", 2, "2", "C59H92N4O44", java.util.Arrays.asList("GT1c")), 196 GT2(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C53H82N4O39", java.util.Arrays.asList("GT2")), 197 GT3(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C45H69N3O34", java.util.Arrays.asList("GT3")), 198 HEX2CER(LipidCategory.SP, "Neutral glycosphingolipids [SP05]", 2, "2", "C12H21O10", java.util.Arrays.asList("Hex2Cer", "LacCer")), 199 HEX3CER(LipidCategory.SP, "Neutral glycosphingolipids [SP05]", 2, "2", "C18H31O15", java.util.Arrays.asList("Hex3Cer", "GB3", "Gb3")), 200 HEXCER(LipidCategory.SP, "Neutral glycosphingolipids [SP05]", 2, "2", "C6H11O5", java.util.Arrays.asList("HexCer", "GalCer", "GlcCer", "Glucosylceramide")), 201 I_FORSSMAN(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C34H57N2O25", java.util.Arrays.asList("i-Forssman")), 202 IGB3CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C18H31O15", java.util.Arrays.asList("iGb3Cer")), 203 IGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C26H44NO20", java.util.Arrays.asList("iGb4Cer")), 204 IPC(LipidCategory.SP, "Ceramide phosphoinositols [SP0303]", 2, "2", "C6H12O8P", java.util.Arrays.asList("IPC", "PI-Cer")), 205 LBPA(LipidCategory.GP, "Monoacylglycerophosphomonoradylglycerols [GP0410]", 4, "2", "C6H11O8P", java.util.Arrays.asList("LBPA")), 206 LCB(LipidCategory.SP, "Sphingoid base homologs and variants [SP0104]", 2, "1", "H", java.util.Arrays.asList("LCB", "Sphingosine", "So", "Sphinganine", "Sa", "SPH", "Sph")), 207 LCBP(LipidCategory.SP, "Sphingoid base 1-phosphates [SP0105]", 2, "1", "H2O3P", java.util.Arrays.asList("LCBP", "Sphingosine-1-phosphate", "S1P", "SPH-P", "SIP", "Sphinganine-1-phosphate", "Sa1P")), 208 LCDPDAG(LipidCategory.GP, "Lyso-CDP-diacylglycerol", 2, "1", "", java.util.Arrays.asList("LCDPDAG")), 209 LDMPE(LipidCategory.GP, "Lysodimethylphosphatidylethanolamine", 2, "1", "", java.util.Arrays.asList("LDMPE")), 210 LEX_GM1(LipidCategory.SP, "Globoside", 2, "2", "C57H93N3O42", java.util.Arrays.asList("Lex-GM1")), 211 LHEXCER(LipidCategory.SP, "Hexosylsphingosine", 2, "1", "C6H11O5", java.util.Arrays.asList("LHexCer", "HexSph")), 212 LINOLEIC_ACID(LipidCategory.FA, "Unsaturated fatty acids [FA0103]", 0, "0", "C18H32O2", java.util.Arrays.asList("Linoleic acid")), 213 LMMPE(LipidCategory.GP, "Lysomonomethylphosphatidylethanolamine", 2, "1", "C6H14NO6P", java.util.Arrays.asList("LMMPE")), 214 LPA(LipidCategory.GP, "Monoacylglycerophosphates [GP1005]", 2, "1", "C3H7O6P", java.util.Arrays.asList("LPA", "LysoPA")), 215 LPC(LipidCategory.GP, "Monoacylglycerophosphocholines [GP0105]", 2, "1", "C8H18NO6P", java.util.Arrays.asList("LPC", "LysoPC")), 216 LPE(LipidCategory.GP, "Monoacylglycerophosphoethanolamines [GP0205]", 2, "1", "C5H12NO6P", java.util.Arrays.asList("LPE", "LysoPE")), 217 LPG(LipidCategory.GP, "Monoacylglycerophosphoglycerols [GP0405]", 2, "1", "C6H13O8P", java.util.Arrays.asList("LPG", "LysoPG")), 218 LPI(LipidCategory.GP, "Monoacylglycerophosphoinositols [GP0605]", 2, "1", "C9H17O11P", java.util.Arrays.asList("LPI", "LysoPI")), 219 LPIM1(LipidCategory.GP, "Monoacylglycerophosphoinositolglycans [GP1504]", 2, "1", "C15H27O16P", java.util.Arrays.asList("LPIM1")), 220 LPIM2(LipidCategory.GP, "Monoacylglycerophosphoinositolglycans [GP1504]", 2, "1", "C21H37O21P", java.util.Arrays.asList("LPIM2")), 221 LPIM3(LipidCategory.GP, "Monoacylglycerophosphoinositolglycans [GP1504]", 2, "1", "C27H47O26P", java.util.Arrays.asList("LPIM3")), 222 LPIM4(LipidCategory.GP, "Monoacylglycerophosphoinositolglycans [GP1504]", 2, "1", "C34H59O30P", java.util.Arrays.asList("LPIM4")), 223 LPIM5(LipidCategory.GP, "Monoacylglycerophosphoinositolglycans [GP1504]", 2, "1", "C39H67O36P", java.util.Arrays.asList("LPIM5")), 224 LPIM6(LipidCategory.GP, "Monoacylglycerophosphoinositolglycans [GP1504]", 2, "1", "C45H77O41P", java.util.Arrays.asList("LPIM6")), 225 LPIMIP(LipidCategory.GP, "Lysophosphatidylinositol- mannosideinositolphosphate", 2, "1", "", java.util.Arrays.asList("LPIMIP")), 226 LPIN(LipidCategory.GP, "Lysophosphatidylinositol-glucosamine", 2, "1", "", java.util.Arrays.asList("LPIN")), 227 LPS(LipidCategory.GP, "Monoacylglycerophosphoserines [GP0305]", 2, "1", "C6H12NO8P", java.util.Arrays.asList("LPS", "LysoPS")), 228 LSM(LipidCategory.SP, "Ceramides [SP02]", 2, "1", "C5H13NO3P", java.util.Arrays.asList("LSM", "SPC", "LysoSM")), 229 LTB4(LipidCategory.FA, "Leukotrienes [FA0302]", 0, "0", "C20H32O4", java.util.Arrays.asList("LTB4")), 230 LTC4(LipidCategory.FA, "Eicosanoid derivatives", 0, "0", "C30H47N3O9S", java.util.Arrays.asList("LTC4")), 231 LTD4(LipidCategory.FA, "Leukotrienes [FA0302]", 0, "0", "C25H40N2O6S", java.util.Arrays.asList("LTD4")), 232 M_IP_2C(LipidCategory.SP, "Phosphosphingolipids [SP03]", 2, "2", "C18H33O21P2", java.util.Arrays.asList("M(IP)2C")), 233 MAG(LipidCategory.GL, "Monoacylglycerols [GL0101]", 3, "1", "C3H5O3", java.util.Arrays.asList("MAG", "MG")), 234 MARESIN_1(LipidCategory.FA, "Maresins [FA0405]", 0, "0", "C22H32O4", java.util.Arrays.asList("Maresin 1")), 235 MGDG(LipidCategory.GL, "Glycosyldiacylglycerols [GL0501]", 2, "2", "C9H16O8", java.util.Arrays.asList("MGDG")), 236 MHDG(LipidCategory.GL, "Monohexosyldiacylglycerol", 2, "2", "C9H16O8", java.util.Arrays.asList("MHDG")), 237 MIPC(LipidCategory.SP, "Phosphosphingolipids [SP03]", 2, "2", "C12H22O13P", java.util.Arrays.asList("MIPC")), 238 MLCL(LipidCategory.GP, "Glycerophosphoglycerophosphoglycerols [GP12]", 4, "3", "C9H18O13P2", java.util.Arrays.asList("MLCL")), 239 MMPE(LipidCategory.GP, "Monomethylphosphatidylethanolamine", 2, "2|4", "C6H14NO6P", java.util.Arrays.asList("MMPE")), 240 MSGG(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C43H70N2O33", java.util.Arrays.asList("MSGG")), 241 NAE(LipidCategory.FA, "Fatty amides", 0, "0", "C2H6NO", java.util.Arrays.asList("NAE")), 242 NAPE(LipidCategory.GP, "Diacylglycerophosphoethanolamines [GP0201]", 3, "3", "C5H11NO6P", java.util.Arrays.asList("NAPE")), 243 NEUAC_ALPHA2_6_MSGG(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C54H86N3O41", java.util.Arrays.asList("NeuAc(alpha2-6)-MSGG")), 244 NEUAC_ALPHA2_8_MSGG(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C54H86N3O41", java.util.Arrays.asList("NeuAc(alpha2-8)-MSGG")), 245 NEUACGAL_IGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C43H70N2O33", java.util.Arrays.asList("NeuAcGal-iGb4Cer")), 246 NEUGC_GALGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C43H70N2O34", java.util.Arrays.asList("NeuGc-GalGb4Cer")), 247 NEUGC_LACNAC_GM1_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C62H99N4O48", java.util.Arrays.asList("NeuGc-LacNAc-GM1(NeuGc)")), 248 NEUGCNEUGC_GALGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C54H86N3O43", java.util.Arrays.asList("NeuGcNeuGc-GalGb4Cer")), 249 NOR1(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C32H54NO25", java.util.Arrays.asList("NOR1")), 250 NOR2(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C46H77N2O35", java.util.Arrays.asList("NOR2")), 251 NORINT(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C40H67N2O30", java.util.Arrays.asList("NORint")), 252 PA(LipidCategory.GP, "Glycerophosphates [GP10]", 2, "2", "C3H7O6P", java.util.Arrays.asList("PA")), 253 PALMITIC_ACID(LipidCategory.FA, "Straight chain fatty acids [FA0101]", 0, "0", "C16H32O2", java.util.Arrays.asList("Palmitic acid")), 254 PARA_FORSSMAN(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C34H57N2O25", java.util.Arrays.asList("Para-Forssman")), 255 PAT16(LipidCategory.SL, "Acyltrehaloses [SL03]", 4, "4", "", java.util.Arrays.asList("PAT16")), 256 PAT18(LipidCategory.SL, "Acyltrehaloses [SL03]", 4, "4", "", java.util.Arrays.asList("PAT18")), 257 PC(LipidCategory.GP, "Glycerophosphocholines [GP01]", 2, "2", "C8H18NO6P", java.util.Arrays.asList("PC")), 258 PE(LipidCategory.GP, "Glycerophosphoethanolamines [GP02]", 2, "2", "C5H12NO6P", java.util.Arrays.asList("PE")), 259 PE_GLCDG(LipidCategory.GL, "Glycosylalkylacylglycerols [GL0502]", 2, "2", "C11H22NO11P", java.util.Arrays.asList("PE-GlcDG")), 260 PE_NME(LipidCategory.GP, "Diacylglycerophosphoethanolamines [GP0201]", 2, "2", "C6H14NO6P", java.util.Arrays.asList("PE-NMe")), 261 PE_NME2(LipidCategory.GP, "Diacylglycerophosphoethanolamines [GP0201]", 2, "2", "C7H16NO6P", java.util.Arrays.asList("PE-NMe2")), 262 PET(LipidCategory.GP, "Glycerophosphoethanolamines [GP02]", 2, "2", "C5H11O6P", java.util.Arrays.asList("PEt")), 263 PG(LipidCategory.GP, "Glycerophosphoglycerols [GP04]", 2, "2", "C6H13O8P", java.util.Arrays.asList("PG")), 264 PGB2(LipidCategory.FA, "Prostaglandins [FA0301]", 0, "0", "C20H30O4", java.util.Arrays.asList("PGB2")), 265 PGD2(LipidCategory.FA, "Prostaglandins [FA0301]", 0, "0", "C20H32O5", java.util.Arrays.asList("PGD2")), 266 PGE2(LipidCategory.FA, "Prostaglandins [FA0301]", 0, "0", "C20H32O5", java.util.Arrays.asList("PGE2")), 267 PGF2ALPHA(LipidCategory.FA, "Prostaglandins [FA0301]", 0, "0", "C20H34O5", java.util.Arrays.asList("PGF2alpha")), 268 PGI2(LipidCategory.FA, "Prostaglandins [FA0301]", 0, "0", "C20H32O5", java.util.Arrays.asList("PGI2")), 269 PGP(LipidCategory.GP, "Glycerophosphoglycerophosphates [GP05]", 2, "2", "C6H14O11P2", java.util.Arrays.asList("PGP")), 270 PHENOL(LipidCategory.PK, "Alkyl phenols and derivatives [PK1501]", 2, "2", "", java.util.Arrays.asList("PHENOL")), 271 PI(LipidCategory.GP, "Glycerophosphoinositols [GP06]", 2, "2", "C9H17O11P", java.util.Arrays.asList("PI")), 272 PIM1(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C15H27O16P", java.util.Arrays.asList("PIM1")), 273 PIM2(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C21H37O21P", java.util.Arrays.asList("PIM2")), 274 PIM3(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C27H47O26P", java.util.Arrays.asList("PIM3")), 275 PIM4(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C33H57O31P", java.util.Arrays.asList("PIM4")), 276 PIM5(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C39H67O36P", java.util.Arrays.asList("PIM5")), 277 PIM6(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C45H77O41P", java.util.Arrays.asList("PIM6")), 278 PIMIP(LipidCategory.GP, "Phosphatidylinositol mannoside inositol phosphate", 2, "2", "", java.util.Arrays.asList("PIMIP")), 279 PIP(LipidCategory.GP, "Diacylglycerophosphoinositol monophosphates [GP0701]", 2, "2", "C9H18O14P2", java.util.Arrays.asList("PIP")), 280 PIP_3P(LipidCategory.GP, "Diacylglycerophosphoinositol monophosphates [GP0701]", 2, "2", "C9H18O14P2", java.util.Arrays.asList("PIP[3']", "PIP[3]")), 281 PIP_4P(LipidCategory.GP, "Diacylglycerophosphoinositol monophosphates [GP0701]", 2, "2", "C9H18O14P2", java.util.Arrays.asList("PIP[4']", "PIP[4]")), 282 PIP_5P(LipidCategory.GP, "Diacylglycerophosphoinositol monophosphates [GP0701]", 2, "2", "C9H18O14P2", java.util.Arrays.asList("PIP[5']", "PIP[5]")), 283 PIP2(LipidCategory.GP, "Diacylglycerophosphoinositol bisphosphates [GP0801]", 2, "2", "C9H19O17P3", java.util.Arrays.asList("PIP2")), 284 PIP2_3P_4P(LipidCategory.GP, "Diacylglycerophosphoinositol bisphosphates [GP0801]", 2, "2", "C9H19O17P3", java.util.Arrays.asList("PIP2[3',4']", "PIP2[3,4]")), 285 PIP2_3P_5P(LipidCategory.GP, "Diacylglycerophosphoinositol bisphosphates [GP0801]", 2, "2", "C9H19O17P3", java.util.Arrays.asList("PIP2[3',5']", "PIP2[3,5]")), 286 PIP2_4P_5P(LipidCategory.GP, "Diacylglycerophosphoinositol bisphosphates [GP0801]", 2, "2", "C9H19O17P3", java.util.Arrays.asList("PIP2[4',5']", "PIP2[4,5]")), 287 PIP3(LipidCategory.GP, "Diacylglycerophosphoinositol trisphosphates [GP0901]", 2, "2", "C9H20O20P4", java.util.Arrays.asList("PIP3")), 288 PIP3_3P_4P_5P(LipidCategory.GP, "Diacylglycerophosphoinositol trisphosphates [GP0901]", 2, "2", "C9H20O20P4", java.util.Arrays.asList("PIP3[3',4',5']", "PIP3[3,4,5]")), 289 PNC(LipidCategory.GP, "Glycerophosphonocholines [GP16]", 2, "2", "C8H18NO5P", java.util.Arrays.asList("PnC")), 290 PNE(LipidCategory.GP, "Glycerophosphoinositolglycans [GP15]", 2, "2", "C5H12NO5P", java.util.Arrays.asList("PnE")), 291 PPA(LipidCategory.GP, "Diacylglyceropyrophosphates [GP1101]", 2, "2", "C3H8O9P2", java.util.Arrays.asList("PPA")), 292 PS(LipidCategory.GP, "Glycerophosphoserines [GP03]", 2, "2", "C6H12NO8P", java.util.Arrays.asList("PS")), 293 PS_NAC(LipidCategory.GP, "Diacylglycerophosphoserines [GP0301]", 3, "3", "C6H11NO8P", java.util.Arrays.asList("PS-NAc")), 294 PT(LipidCategory.GP, "Other Glycerophospholipids [GP00]", 2, "2", "C7H14NO8P", java.util.Arrays.asList("PT")), 295 RESOLVIN_D1(LipidCategory.FA, "Resolvin Ds [FA0403]", 0, "0", "C22H32O5", java.util.Arrays.asList("Resolvin D1")), 296 RESOLVIN_D2(LipidCategory.FA, "Resolvin Ds [FA0403]", 0, "0", "C22H32O5", java.util.Arrays.asList("Resolvin D2")), 297 RESOLVIN_D3(LipidCategory.FA, "Resolvin Ds [FA0403]", 0, "0", "C22H32O5", java.util.Arrays.asList("Resolvin D3")), 298 RESOLVIN_D5(LipidCategory.FA, "Resolvin Ds [FA0403]", 0, "0", "C22H32O4", java.util.Arrays.asList("Resolvin D5")), 299 RESORCINOL(LipidCategory.PK, "Alkyl resorcinols and derivatives [PK1503]", 2, "2", "", java.util.Arrays.asList("RESORCINOL")), 300 SB1A(LipidCategory.SP, "Globoside", 2, "2", "C26H42NO26S2", java.util.Arrays.asList("SB1a")), 301 SE_27_1(LipidCategory.ST, "Sterol esters [ST0102]", 1, "1", "C27H45O", java.util.Arrays.asList("SE 27:1", "ChE", "CE", "Cholesteryl ester", "Cholesterol ester", "SE", "Sterol ester")), 302 SE_27_2(LipidCategory.ST, "Sterol esters [ST0102]", 1, "1", "C27H43O", java.util.Arrays.asList("SE 27:2", "Desmosterol ester")), 303 SE_28_2(LipidCategory.ST, "Sterol esters [ST0102]", 1, "1", "C28H45O", java.util.Arrays.asList("SE 28:2", "Ergostadienol ester")), 304 SE_28_3(LipidCategory.ST, "Sterol esters [ST0102]", 1, "1", "C28H43O", java.util.Arrays.asList("SE 28:3", "Ergosterol ester")), 305 SE_29_2(LipidCategory.ST, "Sterol esters [ST0102]", 1, "1", "C29H47O", java.util.Arrays.asList("SE 29:2", "Stigmasterol ester")), 306 SE_30_2(LipidCategory.ST, "Sterol esters [ST0102]", 1, "1", "C30H49O", java.util.Arrays.asList("SE 30:2", "Lanosterol ester")), 307 SHEX2CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C12H19O14S", java.util.Arrays.asList("SHex2Cer", "SulfoHex2Cer")), 308 SHEXCER(LipidCategory.SP, "Sulfoglycosphingolipids (sulfatides) [SP0602]", 2, "2", "C6H11O8S", java.util.Arrays.asList("SHexCer", "SulfoHexCer", "(3'-sulfo)Galbeta-Cer", "(3'-sulfo)GalCer")), 309 SLBPA(LipidCategory.GP, "Diacylglycerophosphomonoradylglycerols [GP0409]", 4, "3", "C6H11O8P", java.util.Arrays.asList("SLBPA")), 310 SM(LipidCategory.SP, "Ceramide phosphocholines (sphingomyelins) [SP0301]", 2, "2", "C5H13NO3P", java.util.Arrays.asList("SM")), 311 SM1A(LipidCategory.SP, "Globoside", 2, "2", "C26H43NO23S", java.util.Arrays.asList("SM1a")), 312 SM1B(LipidCategory.SP, "Globoside", 2, "2", "C26H43NO23S", java.util.Arrays.asList("SM1b")), 313 SO3_GAL_IGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C34H56N2O28S", java.util.Arrays.asList("SO3-Gal-iGb4Cer")), 314 SO3_GALGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C32H53NO28S", java.util.Arrays.asList("SO3-GalGb4Cer")), 315 SO3_GB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C26H43NO23S", java.util.Arrays.asList("SO3-Gb4Cer")), 316 SO3_GM1_NEUGC(LipidCategory.SP, "Globoside", 2, "2", "C37H59N2O32S", java.util.Arrays.asList("SO3-GM1(NeuGc)")), 317 SO3_IGB4CER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C26H43NO23S", java.util.Arrays.asList("SO3-iGb4Cer")), 318 SQDG(LipidCategory.GL, "Glycosyldiradylglycerols [GL05]", 2, "2", "C9H16O10S", java.util.Arrays.asList("SQDG")), 319 SQMG(LipidCategory.GL, "Glycosylmonoacylglycerols [GL0401]", 2, "1", "C9H16O10S", java.util.Arrays.asList("SQMG")), 320 ST_27_1_1(LipidCategory.ST, "Cholesterol and derivatives [ST0101]", 0, "0", "C27H46O", java.util.Arrays.asList("ST 27:1;1", "CH", "FC", "Cholesterol", "Ch", "ST")), 321 ST_27_2_1(LipidCategory.ST, "Cholesterol and derivatives [ST0101]", 0, "0", "C27H44O", java.util.Arrays.asList("ST 27:2;1", "Desmosterol")), 322 ST_28_2_1(LipidCategory.ST, "Ergosterols and C24-methyl derivatives [ST0103]", 0, "0", "C28H46O", java.util.Arrays.asList("ST 28:2;1", "Ergostadienol")), 323 ST_28_3_1(LipidCategory.ST, "Ergosterols and C24-methyl derivatives [ST0103]", 0, "0", "C28H44O", java.util.Arrays.asList("ST 28:3;1", "Ergosterol")), 324 ST_29_2_1(LipidCategory.ST, "Stigmasterols and C24-ethyl derivatives [ST0104]", 0, "0", "C29H48O", java.util.Arrays.asList("ST 29:2;1", "Stigmasterol")), 325 ST_30_2_1(LipidCategory.ST, "Cholesterol and derivatives [ST0101]", 0, "0", "C30H50O", java.util.Arrays.asList("ST 30:2;1", "Lanosterol")), 326 SULFOGALCER(LipidCategory.SP, "Glycosphingolipids", 2, "2", "C6H11O8S", java.util.Arrays.asList("SulfoGalCer")), 327 TAG(LipidCategory.GL, "Triacylglycerols [GL0301]", 3, "3", "C3H5O3", java.util.Arrays.asList("TAG", "TG")), 328 TETRANOR_12_HETE(LipidCategory.FA, "Hydroxy/hydroperoxyeicosatetraenoic acids [FA0306]", 0, "0", "C16H26O3", java.util.Arrays.asList("tetranor-12-HETE")), 329 TXB1(LipidCategory.FA, "Thromboxanes [FA0303]", 0, "0", "C20H36O6", java.util.Arrays.asList("TXB1")), 330 TXB2(LipidCategory.FA, "Thromboxanes [FA0303]", 0, "0", "C20H34O6", java.util.Arrays.asList("TXB2")), 331 TXB3(LipidCategory.FA, "Thromboxanes [FA0303]", 0, "0", "C20H32O6", java.util.Arrays.asList("TXB3")), 332 UNDEFINED(LipidCategory.UNDEFINED, "Undefined lipid class", 0, "0", "", java.util.Arrays.asList("UNDEFINED")), 333 WE(LipidCategory.FA, "Fatty esters [FA07]", 2, "2", "", java.util.Arrays.asList("WE")); 334 335 private final LipidCategory category; 336 337 private final String lipidMapsClassName; 338 339 private final String allowedNumFaStr; 340 341 private final List<Integer> allowedNumFa; 342 343 private final Integer maxNumFa; 344 345 private final String sumFormula; 346 347 private final ElementTable elementTable; 348 349 private final List<String> synonyms; 350 351 private LipidClass(LipidCategory category, String lipidMapsClassName, Integer maxNumFa, 352 String allowedNumFaStr, String sumFormula, List<String> synonyms) { 353 this.category = category; 354 this.lipidMapsClassName = lipidMapsClassName; 355 this.maxNumFa = maxNumFa; 356 this.allowedNumFaStr = allowedNumFaStr; 357 this.sumFormula = sumFormula; 358 ElementTable et = new ElementTable(); 359 if (this.sumFormula != null && !this.sumFormula.isEmpty()) { 360 try { 361 et = new ElementTable(this.sumFormula); 362 } catch (de.isas.lipidomics.palinom.exceptions.ParsingException ex) { 363 et = new ElementTable(); 364 } 365 } 366 this.elementTable = et;; 367 if (synonyms.isEmpty()) { 368 throw new IllegalArgumentException("Must supply at least one synonym!"); 369 }; 370 this.allowedNumFa = Arrays.asList(allowedNumFaStr.split("\\|")).stream().map((t) -> { 371 return Integer.parseInt(t); 372 }).collect(java.util.stream.Collectors.toList()); 373 this.synonyms = synonyms; 374 } 375 376 public LipidCategory getCategory() { 377 return this.category; 378 } 379 380 public String getAbbreviation() { 381 return this.synonyms.get(0); 382 } 383 384 public String getLipidMapsClassName() { 385 return this.lipidMapsClassName; 386 } 387 388 public Integer getMaxNumFa() { 389 return this.maxNumFa; 390 } 391 392 public List<Integer> getAllowedNumFa() { 393 return this.allowedNumFa; 394 } 395 396 public String getSumFormula() { 397 return this.elementTable.getSumFormula(); 398 } 399 400 public ElementTable getElements() { 401 return this.elementTable.copy(); 402 } 403 404 public List<String> getSynonyms() { 405 return this.synonyms; 406 } 407 408 public boolean matchesAbbreviation(String headGroup) { 409 return this.synonyms.stream().anyMatch((synonym) -> { 410 return synonym.equals(headGroup); 411 }); 412 } 413 414 public String getLysoAbbreviation(LipidClass lipidClass) { 415 if (lipidClass.getCategory() == LipidCategory.GP) { 416 return "L" + lipidClass.getAbbreviation(); 417 } 418 throw new ConstraintViolationException("Lipid category must be " + LipidCategory.GP + " for lyso-classes!"); 419 } 420 421 public static Optional<LipidClass> forHeadGroup(String headGroup) { 422 return Arrays.asList(values()).stream().filter((lipidClass) -> { 423 return lipidClass.matchesAbbreviation(headGroup.trim()); 424 }).findFirst(); 425 } 426}