knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE )
This vignette describes the complete workflow for the prediction of Caenorhabditis elegans (C. elegans) lipids performed by Witting et al. (in preparation). All template reactions at the current stage have been curated from the WormJam model.
# load required library library("LipidNetworkPredictR") library("dplyr") library("rgoslin") library("igraph")
In order to store all the results a data frame for the reactions is created. Lipids abbreviations are just appended.
## create data frame to store reactions lipid_reactions <- data.frame() ## create vector to store shorthand notations of generated lipids ##lipid_abbrev <- vector() lipid_df <- tibble()
The following abbreviations are used (in alphabetical order):
AcylDHAP
: acyl-dihydroxyacetonephosphate,AlkylDHAP
: dihydroxyacetonephosphate,CerP
: Ceramide phosphates (Ceramide-1-phosphates) [SP0205],CDPDG
: cytidine diphosphate diacylglycerol,Cer
: N-acylsphingosines (ceramides) [SP0201],CL
: Diacylglycerophosphoglycerophosphodiradylglycerols
(cardiolipin) [GP1201],CoA
: Fatty acyl CoAs [FA0705],DG
: Diacylglycerols [GL0201],DGO
: 1-alkyl,2-acylglycerolsDhCer
: N-acylsphinganines (dihydroceramides) [SP0202],DhSM
: Dihydrosphingomyelins [SP0301],FA
: Fatty acids and Conjugates [FA01],FAO
: Fatty alcohols [FA05],GlcCer
: glycosylceramide [SP0501],GPNAE
: glycerophospho-N-acylethanolamine,LNAPE
: lyso-N-Acyl-phosphatidylethanolamine,LPA
: 1-acylglycerophosphates [GP1005],LPAO
: 1-alkylglycerophosphates [GP1006],LPCO
: 1-alkylglycerophosphocholine [GP0106],LPEP
: 1Z-alkenylglycerophosphocholine [GP0107],NAE
: N-acyl ethanolamines (endocannabinoids) [FA804],NAPE
: N-Acyl-phosphatidylethanolamine,NAPE_sn1
: sn1 N-Acyl-phosphatidylethanolamineNAPEP_sn1
: ...NAPE_sn2
: sn2 N-Acyl-phosphatidylethanolamineNAPEP_sn2
: ...NAPEO
: ...PA
: Diacylglycerophosphates [GP1001],PAO
: 1-alkyl,2-acylglycerophosphates [GP1002]PC
: Diacylglycerophosphocholine [GP0101],PCO
: 1-alkyl,2-acylglycerophosphocholine [GP0102]PE
: Diacylglycerophosphoethanolamines [GP0201],PEP
: 1(1Z-alkenyl),2-acylglycerophosphoethanolamines [GP0203],PEO
: 1-alkyl,2-acylglyerophosphoethanolamines [GP0202]PG
: Diacylglycerophosphoglycerols [GP0401],PGP
: Diacylglycerophosphoglycerophosphates [GP0501]PI
: Diacylglycerophosphoinositols [GP0601],PNAE
: N-acyl ethanolamine phosphates,PS
: Diacylglycerophosphoserines [GP0301],SM
: Ceramide phosphocholines (sphingomyelins) [SP0301],sn1LPC
: 1-acylglycerophosphocholine [GP0105],sn1LPE
: 1-acylglycerophosphoethanolamines [GP0205],sn1MG
: 1-acylglycerols [GL0101],sn2LPC
: 2-acylglycerophosphocholine [GP0105],sn2LPE
: 2-acylglycerophosphoethanolamines [GP0205],sn2MG
: 2-acylglycerols [GL0101]SPHINGA
: Sphinganines [SP0102],SPHINGO
: Sphing-4-enines (sphingosines) [SP0101],TG
: Triacylglycerols [GL0301]First input for the prediction are fatty acids that were shown to be present in C. elegans by different groups. A consensus list was generated based on fatty acids from WormJam and detected in C. elegans. A data frame of these fatty acids is supplied with this package. Fatty acids used in glycero- and glycerophospholipids are different from the ones used in sphingolipid biosynthesis. The pools are only partially overlapping between the two. Therefore, two different files for the two different pools are supplied. The following lines read the fatty acids into a data frame and isolates the shorthand notation of the fatty acids, which are further used for downstream processing.
## read data frame with fatty acids detected in C. elegans f <- system.file("extdata", "celegans_fatty_acids_GL_GP.txt", package = "LipidNetworkPredictR") fatty_acid_gl_gp_df <- read.table(f, sep = "\t", header = TRUE, comment.char = "", stringsAsFactors = FALSE) |> data.frame() ## get short hand notations for fatty acids FA_GPGL <- fatty_acid_gl_gp_df$shorthand ## take only a subset of those to speed things up FA_GPGL <- FA_GPGL[FA_GPGL %in% c("FA(12:0)", "FA(14:0)", "FA(15:0)", "FA(16:0)", "FA(17:0)", "FA(18:0)", "FA(19:0)", "FA(20:0)")] lipid_info <- rgoslin::parseLipidNames(FA_GPGL) ## add lipids to data frame lipid_df <- dplyr::bind_rows(lipid_df, lipid_info)
The lines below perform the same action for fatty acids used in sphingolipid biosynthesis.
## read data frame with fatty acids detected in C. elegans f <- system.file("extdata", "celegans_fatty_acids_SPH.txt", package = "LipidNetworkPredictR") fatty_acid_sph_df <- read.table(f, sep = "\t", header = TRUE, comment.char = "", stringsAsFactors = FALSE) |> data.frame() ## get short hand notations for fatty acids FA_SPH <- fatty_acid_sph_df$shorthand ## take only a subset of those to speed things up FA_SPH <- FA_SPH[FA_SPH %in% c("FA(12:0)", "FA(14:0)", "FA(15:0)", "FA(16:0)", "FA(17:0)", "FA(18:0)", "FA(19:0)", "FA(20:0)" )] lipid_info <- rgoslin::parseLipidNames(FA_SPH) ## add lipids to data frame lipid_df <- dplyr::bind_rows(lipid_df, lipid_info)
Acyl groups are transfered in their activate form of acyl CoA (CoA). Their synthesis requires ATP. C. elegans harbors different Acyl-CoA synthetases and their substrate specificity is not established so far. In order to be able to use all defined acyls they are converted to acyl CoA. The reaction converts fatty acids (FA) to acyl-CoA.
Phosphaditic acid (PA) and Diacylgylcerols (DG) are an important intermediate for the biosynthesis of different lipids. The represent a branching point between triacylglycerols and glycerophospholipids. They are synthesized from lysosphosphaditic and phosphaditic acid by successive acylation of glycerol 3-phosphate. The first block of reactions handles the generation of PA and DG as well as their degradation via monoacylglycerols to fatty acids.
The first step to obtain DG is the biosynthesis of lysophophaditic acid from acyl CoA_GPGL and glycerol 3-phosphate. This reaction takes place in the ER and the mitochondria. In the ER the reaction is catalyzed by acl-5 (WBGene00011106) or acl-6 (WBGene00017261), while in the mitochondria acl-4 (WBGene00018657) is used. No subcellular specificity is currently used, therefore the assignments are merged together to yield a single reaction.
In the next step a second acyl group is transferred to the LPA to produce PA. This reaction is catalyzed by acl-9 (WBGene00022646) or acl-8 (WBGene00020264) or mboa-3 (WBGene00016934) or acl-1 (WBGene00010339) or acl-2 (WBGene00011543) in the ER. For the mitochondrial counterpart no genes are known so far. acl-3 (WBGene00006491) might be a good candidate since it is predicted to locate in the mitochondria.
Diacylglycerols (DG) are produced from PA by dephosphorylation. DG are important intermediates for biosynthesis of glycerophospholipids or triacylglycerols (DG). A prominent enzyme catalyzing this reactions is LPIN-1. Plasma membrane or ER WBGene00008749 or WBGene00018756 or WBGene00020895 or WBGene00010425 nucleus WBGene00010425
DG can be phosphorylated to create PA, which is the reversal of the reaction above. Under normal conditions this reactions is inactive, but can be activated yielding PA. Normally, DG is used for synthesis of TGs and phospho- lipids, but phosphorylation yields a switch in DG to PA, which both have also different signaling functions. In this case a lipid, which has been generated previously by a different reactions is produced.
DG are degraded by the activity of different lipases yielding mono acylglycerols. In the case of this reaction the fatty acid at sn1 position is removed yieling an sn2-MG. sn2-MG can be converted to sn1-MG, which in turn can be re-acylated at a later stage.
DG are degraded by the activity of different lipases yielding mono acylglycerols. In the case of this reaction the fatty acid at sn1 position is removed yieling an sn2-MG. sn2-MG can be converted to sn1-MG, which in turn can be re-acylated at a later stage.
Acyl chain migration can happen to produced 1-Acyl-MGs from 2-Acyl-MGs. Both species are in equilibrium to each other. However, 1-Acyl-MGs can be reacylated to yields DGs.
Both, sn1- and sn2-MG, can degraded to free fatty acids and glycerol, which can be used for energy production upon conversion to Acyl-CoAs and import into mitochondria for beta-oxidation. Other possibilities include the re-use in lipid biosynthesis.
Similar to the degradation, all MG can be reacylated to yields DG again.
Additionally, 1-Acyl-MG can be also phosphorylated to yield LPA, which is then fed into lipid biosynthesis.
Triacylglycerols (TG) are storage lipids in C. elegans and other organisms. They are stored in lipid droplets. In C. elegans they are also found in yolk for the production of eggs.
TG are synthesized by acylation of DG in the ER and sequestered into lipid droplets. Since TGs harbor three acyl chains their combinatorial spaces is large.
TG are "symmetric" molecules, therefore from each TG two different DG can produced.
The glycerophospholipids phosphatidylcholine, -ethanolamine and serine are synthesized from DG by addition of headgroups. Additionally they can be interconverted
PS can be formed from PC (RHEA:45088) and from PE (RHEA:27606).
PE can be formed from PS species by decarboxylation. The reaction takes place only in mitochondria.
PLA1 cleaves of the acyl at the sn1 position producing an sn2LPC (RHEA:18689_.
PLA2 on PC (RHEA:15801).
PLD on PC (RHEA:14445).
sn1LPC to FA_GPGL.
sn2LPC to FA_GPGL.
Only sn1LPC get re-acylated --> constraining? = remodeling!
PLA1 on PE (RHEA:44408).
PLA2 on PE (RHEA:44604).
PLD on PE (pe_to_pa).
sn1LPE to FA_GPGL (RHEA:32967).
sn2LPE to FA_GPGL (sn2lpe_to_fa)
Only sn1LPE get re-acylated --> constraining? = remodeling!
PG, PI and CL are synthesized based on the common precursor CDP-DG
This reaction is taking place only in the mitochondria.
This reaction has no gene assignment at the moment (RHEA:33751).
The reaction from PG to CL is only taking place in mitochondria (RHEA:32931).
Some etherlipids... mostly PE, small amounts in PC. This reaction is constrained to 16:0, 18:0, 20:0!
Enzyme not known so far in C. elegans!!! EC 1.1.1.101
Same genes as for LPA to PA --> substrate specificity not known yet.
Headgroup transfer via cept-1 and cept-2.
reductase is unknown so far.
same as for PC!
This biosynthetic pathway is putative. Only a few enzymes have been found so far.
N-acyl-phosphatidylethanolamines are produced by the transfer of an acyl group from PC to the nitrogen of PE. In C. elegans this reaction is so far not known. It is unknown if the sn1 or sn2 position is transferred. Since C. elegans contains about equal amounts of PE, PE-O and PE-P it might be possible that the acyl group is transferred to all of them producing NAPE, NAPE-O and NAPE-P.
transfer of Sn1 fatty acyl to PE (pe_to_nape_sn1)
transfer of Sn1 fatty acyl to PE-O (peo_to_napeo_sn1)
transfer of Sn1 fatty acyl to PE-P (pep_to_napep_sn1)
transfer of Sn2 fatty acyl to PE (pe_to_nape_sn2)
transfer of Sn2 fatty acyl to PE-O (peo_to_napeo_sn2)
transfer of Sn2 fatty acyl to PE-P (pep_to_napep_sn2)
From NAPE (nape_to_nae)
From NAPEO (napeo_to_nae)
From NAPE.
reactions <- rbind( ## Block 0 c("RHEA:15421", "M_FA + M_ATP + M_CoA = M_AcylCoA + M_AMP + M_PPi"), ## FA_GPGL + ATP + CoA = CoA_GPGL + AMP + PPi ## Block 1 c("RHEA:15325", "M_AcylCoA + M_Glycerol-3-P = M_LPA + M_CoA"), ## CoA_GPGL + G3P = LPA + CoA c("RHEA:19709", "M_LPA + M_AcylCoA = M_PA + M_CoA"), ## LPA + CoA_GPGL = PA + CoA c("RHEA:27429", "M_PA + M_H2O = M_1,2-DG + M_Pi"), ## PA + H2O = DG + Pi c("RHEA:10272", "M_1,2-DG + M_ATP = M_PA + M_ADP + M_H+"), ## DG + ATP = PA + ADP + H+ c("RHEA:44712", "M_1,2-DG + M_H2O = M_1-MG + M_FA + M_H+"), ## DG + H2O = sn1MG + FA + H+ c("RHEA:33275", "M_1,2-DG + M_H2O = M_2-MG + M_FA + M_H+"), ## DG + H2O = sn2MG + FA + H+ c("sn2mg_to_sn1mg", "M_2-MG <=> M_1-MG"), ## sn1MG <=> sn2MG c("RHEA:34019", "M_1-MG + M_H2O = M_FA + M_Glycerol + M_H+"), ## sn1MG + H2O = FA + Glycerol + H+ c("RHEA:32871", "M_H2O + M_2-MG = M_FA + M_Glycerol + M_H+"), ## H2O + sn2MG = FA + Glycerol + H+ c("RHEA:38463", "M_1-MG + M_AcylCoA = M_1,2-DG + M_CoA"), ## sn1MG + CoA_GPGL = DG + CoA c("RHEA:32947", "M_2-MG + M_AcylCoA = M_1,2-DG + M_CoA"), ## sn2MG + CoA_GPGL = DG + CoA c("RHEA:33747", "M_1-MG + M_ATP = M_LPA + M_ADP + M_H+"), ## 1-MG + ATP = LPA + ADP + H+ ## Block 2 c("RHEA:10868", "M_1,2-DG + M_AcylCoA = M_TG + M_CoA"), ## DG + CoA_GPGL = TG + CoA c("RHEA:33271", "M_TG + M_H2O = M_1,2-DG + M_FA + M_H+"), ## TG + H2O = DG + FA + H+ ## Block 3 c("RHEA:32939", "M_1,2-DG + M_CDP-Choline = M_PC + M_CMP + M_H+"), ## DG + CDP-Choline = PC + CMP + H+ c("RHEA:32943", "M_1,2-DG + M_CDP-Ethanolamine = M_PE + M_CMP + M_H+"), ## DG + CDP-Ethanolamine = PE + CMP + H+ c("RHEA:45088", "M_PC + M_L-Serine = M_PS + M_Choline"), ## PC + L-Serine = PS + Choline c("RHEA:27606", "M_PE + M_L-Serine = M_PS + M_Ethanolamine"), ## PE + L-Serine = PS + Ethanolamine c("RHEA:20828", "M_PS + M_H+ = M_PE + M_CO2"), ## PS + H+ = PE + CO2 ## Block 4 c("RHEA:18689", "M_PC_c + M_H2O_c = M_2-LPC_c + M_FA_c + M_H+_c"), ## PC + H2O = sn2LPC + FA_GPGL c("RHEA:15801", "M_PC + M_H2O = M_1-LPC + M_FA + M_H+"), ## PC + H2O = sn1LPC + FA_GPGL + H+ c("RHEA:14445", "M_PC + M_H2O = M_PA + M_Choline + M_H+"), ## PC + H2O = PA + Choline + H+ c("RHEA:15177", "M_1-LPC + M_H2O = M_FA + M_H+ + M_Glycerophosphocholine"), ## sn1LPC + H2O = FA_GPGL + H+ + Glycerophosphocholine c("RHEA:44696", "M_2-LPC + M_H2O = M_FA + M_H+ + M_Glycerophosphocholine"), ## sn2LPC + H2O = FA_GPGL + H+ + Glycerophosphocholine c("RHEA:12937", "M_1-LPC_c + M_AcylCoA_c = M_PC_c + M_CoA_c"), ## sn1LPC + CoA_GPGL = PC + CoA_GPGL c("RHEA:44408", "M_PE + M_H2O = M_2-LPE + M_FA + M_H+"), ## PE + H2O = sn2LPE + FA_GPGL + H+ c("RHEA:44604", "M_PE + M_H2O = M_1-LPE + M_FA + M_H+"), ## PE + H2O = sn1LPE + FA_GPGL + H+ c("pe_to_pa", "M_PE + M_H2O <=> M_PA + M_Ethanolamine + M_H+"), ## PE + H2O <=> PA + Ethanolamine + H+ c("RHEA:32967", "M_1-LPE + M_H2O = M_FA + M_H+ + M_Glycerophosphoethanolamine"), ## sn1LPE + H2O = FA_GPGL + H+ + Glycerophosphoethanolamine c("sn2lpe_to_fa", "M_2-LPE + M_H2O <=> M_FA + M_H+ + M_Glycerophosphoethanolamine"), ## sn2LPE + H2O <=> FA_GPGL + H+ + Glycerophosphoethanolamine c("RHEA:32995", "M_1-LPE + M_AcylCoA = M_PE + M_CoA"), ## sn1LPE + CoA_GPGL = PE + CoA ## Block 5 c("RHEA:16229", "M_PA + M_CTP + M_H+ = M_CDP-DG + M_PPi"), ## PA + CTP + H+ = CDP-DG + PPi c("RHEA:11580", "M_CDP-DG + M_myo-Inositol = M_PI + M_CMP + M_H+"), ## CDP-DG + myo-Inositol = PI + CMP + H+ c("RHEA:12593", "M_CDP-DG + M_Glycerol-3-P = M_PGP + M_CMP + M_H+"), ## CDP-DG + Glycerol-3-P = PGP + CMP + M_H+ c("RHEA:33751", "M_PGP + M_H2O = M_PG + M_Pi"), ## PGP + H2O = PG + Pi c("RHEA:32931", "M_PG + M_CDP-DG = M_CL + M_CMP + M_H+"), ## PG + CDP-DG = CL + CMP + H+ ## Block 6 c("RHEA:52716", "M_AcylCoA + 2 M_H+ + 2 M_NADPH = M_FAO + M_CoA + 2 M_NADP"), ## AcylCoA_GPGL + 2 H+ + 2 NADPH = FAO + CoA + 2 NADP c("RHEA:17657", "M_AcylCoA + M_Dihydroxyacetone-P = M_AcylDHAP + M_CoA"), ##CoA_GPGL + Dihydroxyacetone-P = AcylDHAP + CoA c("RHEA:36171", "M_AcylDHAP + M_FAO = M_AlkylDHAP + M_FA + M_H+"), ##AcylDHAP + FAO = AlkylDHAP + FA_GPGL + H+ c("RHEA:36175", "M_AlkylDHAP + M_H+ + M_NADPH = M_LPA-O + M_NADP"), ## AlkylDHAP + H+ + NADPH = LPAO + NADP c("RHEA:36235", "M_LPA-O + M_AcylCoA = M_PA-O + M_CoA"), ## LPAO + CoA_GPGL = PAO + CoA c("RHEA:36239", "M_PA-O + M_H2O = M_DG-O + M_Pi"), ## PAO + H2O = DGO + Pi c("RHEA:36187", "M_DG-O + M_CDP-Ethanolamine = M_PE-O + M_CMP + M_H+"), ## DGO + CDP-Ethanolamine = PEO + CMP + H+ c("RHEA:22956", "M_PE-O + M_Fe2+cytochrome_b5 + 2 M_H+ + M_O2 = M_PE-P + M_Fe3+cytochrome_b5 + 2 M_H2O"), ## PEO + Fe2+cytochrome_b5 + 2 H+ + O2 = PEP + Fe3+cytochrome_b5 + 2 H2O c("RHEA:36179", "M_DG-O + M_CDP-Choline = M_PC-O + M_CMP + M_H+"), ## DGO + CDP-Choline = PCO + CMP + H+ ## Block 7 c("peo_to_lpeo", "M_PE-O + M_H2O <=> M_LPE-O + M_FA + M_H+"), ## PEO + H2O <=> LPEO + FA_GPGL + H+ c("lpeo_to_peo", "M_AcylCoA + M_LPE-O = M_CoA + M_PE-O"), ## CoA_GPGL + LPEO = CoA + M_PEO c("RHEA:36195", "M_PE-P + M_H2O = M_LPE-P + M_FA + M_H+"), ## PEP + H2O = LPE-P + FA + H+ c("RHEA:16245", "M_LPE-P + M_AcylCoA = M_PE-P + M_CoA"), ## LPEP + CoA_GPGL = PEP + CoA c("RHEA:36231", "M_PC-O + M_H2O = M_LPC-O + M_FA + M_H"), ## PCO + H2O = LPCO + FA_GPGL + H+ ## Block 8 c("RHEA:17730", "M_Cholesterol + M_AcylCoA = M_CE + M_CoA"), ## Cholesterol + AcylCoA = CE + CoA ## Block Y c("RHEA:45188", "M_PC + M_PE = M_2-LPC + M_H+ + M_NAPE"), ## PC + PE = sn2LPC + H+ + NAPE c("peo_to_napeo_sn1", "M_PE-O + M_PC = M_NAPEO + M_2-LPC"), ## PEO + PC = NAPEO + sn2LPC c("RHEA:63596", "M_PE-P + M_PC = M_NAPEP + M_2-LPC"), ## PEP + PC = NAPEP + sn2LPC c("RHEA:45192", "M_PC + M_PE = M_1-LPC + M_H+ + M_NAPE"), ## ## PC + PE = sn1LPC + H+ + NAPE c("peo_to_napeo_sn2", "M_PE-O + M_PC = M_NAPEO + M_1-LPC"), ## PEO + PC = NAPEO + sn1LPC c("pep_to_napep_sn2", "M_PE-P + M_PC = M_NAPEP + M_1-LPC"), ## PEP + PC = NAPEP + sn1LPC c("RHEA:33159", "M_NAPE + M_H2O = M_NAE + M_PA"), ## NAPE + H2O <=> NAE + PA c("napeo_to_nae", "M_NAPEO + M_H2O <=> M_NAE + M_PA-O"), ## akac2nape + H2O <=> NAE + PAO c("nape_to_pnae", "M_NAPE + M_H2O <=> M_PNAE + M_1,2-DG"), ## NAPE + H2O <=> PNAE + DG c("RHEA:45460", "M_NAPE + M_H2O = M_LNAPE + M_FA + M_H+"), ## NAPE + H2O <=> LNAPE + FA_GPGL c("RHEA:45420", "M_H2O + M_LNAPE = M_FA + M_H+ + M_GPNAE"), ## H2O + LNAPE = FA_GPGL + H+ + GPNAE c("RHEA:17505", "M_H2O + M_NAE = M_FA + M_Ethanolamine") ## H2O + NAE = FA_GPGL + Ethanolamine ) reactions <- data.frame(order = seq_len(nrow(reactions)), reaction_RHEA = reactions[, 1], reaction_formula = reactions[, 2]) ## run the function reactions_GPGL <- create_reactions( substrates = list(FA = FA_GPGL, SPH = "SPH(d16:0(1OH,3OH)(15Me))"), reactions = reactions) ## show the first entry of reactions_GPGL reactions_GPGL[[1]]
The object reactions_GPGL
is a list that contains 63 entries, each consisting
of another two list entries. The first entry will contain the products of each
reaction and the second entry will contain a data.frame
with the
following information on each reaction:
reaction_name
: the name of the reaction,reaction_formula
: the reaction formula,reaction_isReversible
: a logical value whether the reaction is reversible,reaction_geneAssociation
: the associated (enzymatic) genes/proteins,reaction_pathway
: the pathway of the reaction,reaction_substrate
: the substrates of the reaction separated by +
reaction_product
: the products of the reaction separated by +
.The function create_reaction_adjacency_matrix
will create an adjacency
matrix from the reactions_GPGL
. This adjacency matrix may be used in
subsequent analysis, e.g. using the igraph
package.
adj_GPGL <- create_reaction_adjacency_matrix(reactions_GPGL)
The fatty acyls for the synthesis of sphingolipids are required as acyl-CoA. The main differences are that fatty acyls in sphingolipids are generally saturated and longer compared to glycero- and glycerophospholipids and often contain a hydroxygroup at the second position of the acyl.
Gene is unknown.
reactions <- rbind( c(1, "RHEA:15421", "M_FA + M_ATP + M_CoA = M_AcylCoA + M_AMP + M_PPi"), ## Block X c(2, "RHEA:53424", "M_AcylCoA + M_Sphinganine = M_DhCer + M_CoA + M_H+"), c(3, "RHEA:44620", "M_PC + M_DhCer = M_1,2-DG + M_DhSM"), c(4, "RHEA:45300", "M_DhSM + M_H2O = M_DhCer + M_H+ + M_Phosphocholine"), c(5, "RHEA:46544", "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 = 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O"), c(6, "RHEA:18765", "M_PC + M_Cer <=> M_1,2-DG + M_SM"), c(7, "RHEA:45644", "M_H2O + M_SM = M_H+ + M_Cer + M_Phosphocholine"), c(8, "RHEA:17929", "M_Cer + M_ATP = M_ADP + M_CerP + M_H+"), c(9, "RHEA:33743", "M_H2O + M_CerP = M_Pi + M_Cer"), c(10, "RHEA:12088", "M_Cer + M_UDP-Glucose = M_GlcCer + M_H+ + M_UDP") ) reactions <- data.frame(order = as.numeric(reactions[, 1]), reaction_RHEA = reactions[, 2], reaction_formula = reactions[, 3]) ## run the function reactions_SPH <- create_reactions(substrates = list(FA = FA_SPH, SPH = "SPH(d16:0(1OH,3OH)(15Me))"), reactions = reactions) ## show the first entry of reactions_SPH reactions_SPH[[1]]
The object reactions_SPH
is a list that contains 10 entries, each consisting
of another two list entries. The first entry will contain the products of each
reaction and the second entry will contain a data.frame
with the
following information on each reaction:
reaction_name
: the name of the reaction,reaction_formula
: the reaction formula,reaction_isReversible
: a logical value whether the reaction is reversible,reaction_geneAssociation
: the associated (enzymatic) genes/proteins,reaction_pathway
: the pathway of the reaction,reaction_substrate
: the substrates of the reaction separated by +
reaction_product
: the products of the reaction separated by +
.The function create_reaction_adjacency_matrix
will create an adjacency
matrix from the reactions_GPGL
. This adjacency matrix may be used in
subsequent analysis, e.g. using the igraph
package.
adj_SPH <- create_reaction_adjacency_matrix(reactions_SPH)
The adjacency matrix can be converted to graph objects, e.g. via the
sna
or the igraph
packages. The LipidNetworkPredictR
package enables
users to add experimental data on an igraph
graph object derived from the
reaction adjacency matrix.
Here, we will simimulate data and map these data on the igraph
object g
.
First, we will create an igraph
object from the adjacency matrix adj_GPGL
.
g <- igraph::graph_from_adjacency_matrix(adjmatrix = adj_SPH, mode = "directed", weighted = TRUE, diag = FALSE) plot(g, vertex.label = NA)
Experimental data can be used to uncover relational information between
features of a network, such as constructing correlation networks based on
Pearson or Spearman coefficients. Such networks can be overlaid with the
networks that are based on the biochemistry, such as provided by
LipidNetworkPredictR
.
Such correlation data can be provided by either (1) an adjacency matrix
where the entries are the correlation coefficients or (2) a data.frame
object with columns specifying the in- and outgoing nodes and (an) additional
column(s) specifying the correlation coefficients.
Here, we will only show how to add information via (1).
## simulate the correlation adjacency matrix .names <- rownames(adj_SPH) n <- length(.names) set.seed(2024) attributes <- matrix(runif(n ^ 2, min = -1, max = 1), ncol = n, nrow = n, dimnames = list(.names, .names)) attributes[upper.tri(attributes)] <- attributes[lower.tri(attributes)] diag(attributes) <- 1 ## add the information to the object g g_new <- add_attributes(g, attribute_type = "edges", attributes = attributes)
In a next step, we can explore the weighted biochemical reaction network and
use the built-in functions in the igraph
package.
plot(g_new, edge.weights = E(g_new)$value, vertex.label = NA) ## create an undirected graph, take absolute values from correlation ## coefficients g_new_undirected <- g_new E(g_new_undirected)$weight <- abs(E(g_new_undirected)$value) g_new_undirected <- as.undirected(g_new_undirected) cluster_louvain(g_new_undirected)
Data can be mapped on vertices of the network, e.g. log2-fold changes or
t-values regarding contrasts. Information is passed to the igraph
object g
via the argument attributes
. The assignment of the vertices will be done
via the column cols_vertex
(here: "name"
) of the attributes
object.
The logFC_cond1
and logFC_cond2
were previously simulated using rnorm
.
attributes <- data.frame( name = c("CoA(12:0)", "CoA(14:0)", "CoA(16:0)", "Cer(16:0(3OH,4OH,15Me)/12:0)", "Cer(16:0(3OH,4OH,15Me)/14:0)", "Cer(16:0(3OH,4OH,15Me)/15:0)", "Cer(16:0(3OH,4OH,15Me)/16:0)", "Cer(16:0(3OH,4OH,15Me)/17:0)", "Cer(16:0(3OH,4OH,15Me)/18:0)", "Cer(16:0(3OH,4OH,15Me)/19:0)", "Cer(16:0(3OH,4OH,15Me)/20:0)", "CerP(16:0(3OH,4OH,15Me)/12:0)", "FA(12:0)", "FA(14:0)", "FA(16:0)", "SM(16:0(3OH,4OH,15Me)/12:0)", "SM(16:0(3OH,4OH,15Me)/14:0)", "SM(16:0(3OH,4OH,15Me)/15:0)", "SM(16:0(3OH,4OH,15Me)/16:0)", "SM(16:0(3OH,4OH,15Me)/17:0)", "SM(16:0(3OH,4OH,15Me)/18:0)", "SM(16:0(3OH,4OH,15Me)/19:0)", "SM(16:0(3OH,4OH,15Me)/20:0)", "SPH(d16:0(1OH,3OH)(15Me))", "GlcCer(16:0(3OH,4OH,15Me)/17:0)", "GlcCer(16:0(3OH,4OH,15Me)/18:0)", "PA(16:0/16:0)"), logFC_cond1 = c(-5.08, 0.75, 5.43, -0.62, 2.35, 1.39, 2.91, 0.26, -4.14, 0.19, 6.18, 0.78, -1.81, 4.66, -0.10, 2.84, -0.81, -0.81, -0.32, 0.17, 2.25, -1.94, 0.80, 4.21, 0.20, -3.29, -0.11), logFC_cond2 = c(-2.73, 6.14, 1.98, 0.09, 1.57, 1.77, 3.08, 4.04, -3.01, 1.22, -4.25, 0.39, 0.53, 3.30, 7.10, 2.81, -0.99, -0.09, -8.25, 4.94, -3.54, -7.74, -1.98, 0.73, 2.36, 2.53, -0.62)) g_new <- add_attributes(g, attribute_type = "vertex", attributes = attributes, cols_vertex = "name")
Perform clustering based on vertex attributes in the g
object. While igraph
does not have built-in clustering algorithms specifically designed for vertex
attributes, we can use general clustering functions combined with preprocessing
or external libraries to achieve this.
We can treat vertex attributes as data points and perform clustering using a method such as k-means, hierarchical clustering, or any other clustering algorithm.
## create a data.frame of vertex attributes attributes_network <- data.frame( logFC_cond1 = V(g_new)$logFC_cond1, logFC_cond2 = V(g_new)$logFC_cond2) rownames(attributes_network) <- V(g_new)$name attributes_network <- attributes_network |> na.omit() ## perform k-means clustering on attributes set.seed(2024) clusters <- kmeans(attributes_network, centers = 2)$cluster |> as.data.frame() clusters$name <- rownames(clusters) colnames(clusters)[1] <- "cluster" ## assign clustering results as a new vertex attribute g_new <- add_attributes(g_new, attribute_type = "vertex", attributes = clusters, cols_vertex = "name") ## check the cluster assignment V(g_new)$cluster
If we want to combine vertex attributes with the graph's structural information (e.g., topology), we can extend clustering algorithms with custom similarity metrics.
Example: Similarity based on attributes
## compute a similarity matrix based on vertex attributes, Euclidean distance ## between attributes similarity_matrix <- dist(attributes_network) ## perform hierarchical clustering and cut into 2 clusters hc <- hclust(similarity_matrix) clusters <- cutree(hc, k = 2) clusters <- data.frame(name = names(clusters), cluster = clusters) ## assign clustering results as a new vertex attribute g_new <- add_attributes(g_new, attribute_type = "vertex", attributes = clusters, cols_vertex = "name") ## check the cluster assignment V(g_new)$cluster
The igraph
package provides community detection algorithms based on network
topology (e.g., Louvain). We can augment this by adding attribute similarity
as weights.
create edge weights based on attributes: combine structural and attribute-based similarity into edge weights.
run community detection: use algorithms like cluster_louvain
or
cluster_fast_greedy
with the custom weights.
## calculate edge weights based on attribute similarity E(g_new)$weight_logFC_cond1 <- 1 / (1 + abs(V(g_new)[ends(g_new, E(g_new))[,1]]$logFC_cond1 - V(g_new)[ends(g_new, E(g_new))[,2]]$logFC_cond1)) ## perform community detection g_new_undirected <- as.undirected(g_new) community <- cluster_louvain(g_new_undirected, weights = E(g_new_undirected)$weight_logFC_cond1) ## assign community membership to vertices V(g_new_undirected)$community <- membership(community) # Check the community assignment V(g_new_undirected)$community
Please find here a list of the implemented reactions (ordered according to RHEA id).
dg_to_pa
:
- "RHEA:10272"
: "M_1,2-DG + M_ATP = M_PA + M_ADP + M_H+"
- "RHEA:10273"
: "M_1,2-DG + M_ATP => M_PA + M_ADP + M_H+"
- "RHEA:10274"
: "M_1,2-DG + M_ATP <= M_PA + M_ADP + M_H+"
- "RHEA:10275"
: "M_1,2-DG + M_ATP <=> M_PA + M_ADP + M_H+"
pc_to_dg
:
- "RHEA:10604"
: "M_PC + M_H2O = M_1,2-DG + M_H+ + M_Phosphocholine"
- "RHEA:10605"
: "M_PC + M_H2O => M_1,2-DG + M_H+ + M_Phosphocholine"
- "RHEA:10606"
: "M_PC + M_H2O <= M_1,2-DG + M_H+ + M_Phosphocholine"
- "RHEA:10607"
: "M_PC + M_H2O <=> M_1,2-DG + M_H+ + M_Phosphocholine"
dg_to_tg
:
- "RHEA:10868"
: "M_1,2-DG + M_AcylCoA = M_TG + M_CoA"
- "RHEA:10869"
: "M_1,2-DG + M_AcylCoA => M_TG + M_CoA"
- "RHEA:10870"
: "M_1,2-DG + M_AcylCoA <= M_TG + M_CoA"
- "RHEA:10871"
: "M_1,2-DG + M_AcylCoA <=> M_TG + M_CoA"
cdpdg_to_pi
:
- "RHEA:11580"
: "M_CDP-DG + M_myo-Inositol = M_PI + M_CMP + M_H+"
- "RHEA:11581"
: "M_CDP-DG + M_myo-Inositol => M_PI + M_CMP + M_H+"
- "RHEA:11582"
: "M_CDP-DG + M_myo-Inositol <= M_PI + M_CMP + M_H+"
- "RHEA:11583"
: "M_CDP-DG + M_myo-Inositol <=> M_PI + M_CMP + M_H+"
cer_to_glccer
:
- "RHEA:12088"
: "M_Cer + M_UDP-Glucose = M_GlcCer + M_H+ + M_UDP"
- "RHEA:12089"
: "M_Cer + M_UDP-Glucose => M_GlcCer + M_H+ + M_UDP"
- "RHEA:12090"
: "M_Cer + M_UDP-Glucose <= M_GlcCer + M_H+ + M_UDP"
- "RHEA:12091"
: "M_Cer + M_UDP-Glucose <=> M_GlcCer + M_H+ + M_UDP"
cdpdg_to_pgp
:
- "RHEA:12593"
: "M_CDP-DG + M_Glycerol-3-P = M_PGP + M_CMP + M_H+"
- "RHEA:12594"
: "M_CDP-DG + M_Glycerol-3-P => M_PGP + M_CMP + M_H+"
- "RHEA:12595"
: "M_CDP-DG + M_Glycerol-3-P <= M_PGP + M_CMP + M_H+"
- "RHEA:12596"
: "M_CDP-DG + M_Glycerol-3-P <=> M_PGP + M_CMP + M_H+"
sn1lpc_to_pc
:
- "RHEA:12937"
: "M_1-LPC + M_AcylCoA = M_PC + M_CoA"
- "RHEA:12938"
: "M_1-LPC + M_AcylCoA => M_PC + M_CoA"
- "RHEA:12939"
: "M_1-LPC + M_AcylCoA <= M_PC + M_CoA"
- "RHEA:12940"
: "M_1-LPC + M_AcylCoA <=> M_PC + M_CoA"
pc_to_pa
:
- "RHEA:14445"
: "M_PC + M_H2O = M_PA + M_Choline + M_H+"
- "RHEA:14446"
: "M_PC + M_H2O => M_PA + M_Choline + M_H+"
- "RHEA:14447"
: "M_PC + M_H2O <= M_PA + M_Choline + M_H+"
- "RHEA:14448"
: "M_PC + M_H2O <=> M_PA + M_Choline + M_H+"
sn1lpc_to_fa
:
- "RHEA:15177"
: "M_1-LPC + M_H2O = M_FA + M_H+ + M_Glycerophosphocholine"
- "RHEA:15178"
: "M_1-LPC + M_H2O => M_FA + M_H+ + M_Glycerophosphocholine"
- "RHEA:15179"
: "M_1-LPC + M_H2O <= M_FA + M_H+ + M_Glycerophosphocholine"
- "RHEA:15180"
: "M_1-LPC + M_H2O <=> M_FA + M_H+ + M_Glycerophosphocholine"
coa_to_lpa
:
- "RHEA:15325"
: "M_AcylCoA + M_Glycerol-3-P = M_LPA + M_CoA"
- "RHEA:15326"
: "M_AcylCoA + M_Glycerol-3-P => M_LPA + M_CoA"
- "RHEA:15327"
: "M_AcylCoA + M_Glycerol-3-P <= M_LPA + M_CoA"
- "RHEA:15328"
: "M_AcylCoA + M_Glycerol-3-P <=> M_LPA + M_CoA"
fa_to_coa
:
- "RHEA:15421"
/"RHEA:38883"
: "M_FA + M_ATP + M_CoA = M_AcylCoA + M_AMP + M_PPi"
- "RHEA:15422"
/"RHEA:38884"
: "M_FA + M_ATP + M_CoA => M_AcylCoA + M_AMP + M_PPi"
- "RHEA:15423"
/"RHEA:38885"
: "M_FA + M_ATP + M_CoA <= M_AcylCoA + M_AMP + M_PPi"
- "RHEA:15424"
/"RHEA:38886"
: "M_FA + M_ATP + M_CoA <=> M_AcylCoA + M_AMP + M_PPi"
pc_to_sn1lpc
:
- "RHEA:15801"
: "M_PC + M_H2O = M_1-LPC + M_FA + M_H+"
- "RHEA:15802"
: "M_PC + M_H2O => M_1-LPC + M_FA + M_H+A"
- "RHEA:15803"
: "M_PC + M_H2O <= M_1-LPC + M_FA + M_H+"
- "RHEA:15804"
: "M_PC + M_H2O <=> M_1-LPC + M_FA + M_H+"
pa_to_cdpdg
:
- "RHEA:16229"
: "M_PA + M_CTP + M_H+ = M_CDP-DG + M_PPi"
- "RHEA:16230"
: "M_PA + M_CTP + M_H+ => M_CDP-DG + M_PPi"
- "RHEA:16231"
: "M_PA + M_CTP + M_H+ <= M_CDP-DG + M_PPi"
- "RHEA:16232"
: "M_PA + M_CTP + M_H+ <=> M_CDP-DG + M_PPi"
lpep_to_pep
:
- "RHEA:16245"
: "M_LPE-P + M_AcylCoA = M_PE-P + M_CoA"
- "RHEA:16246"
: "M_LPE-P + M_AcylCoA => M_PE-P + M_CoA"
- "RHEA:16247"
: "M_LPE-P + M_AcylCoA <= M_PE-P + M_CoA"
- "RHEA:16248"
: "M_LPE-P + M_AcylCoA <=> M_PE-P + M_CoA"
sn2mg_to_dg
:
- "RHEA:16741"
/"RHEA:32947"
: "M_2-MG + M_AcylCoA = M_1,2-DG + M_CoA"
- "RHEA:16742"
/"RHEA:32948"
: "M_2-MG + M_AcylCoA => M_1,2-DG + M_CoA"
- "RHEA:16743"
/"RHEA:32949"
: "M_2-MG + M_AcylCoA <= M_1,2-DG + M_CoA"
- "RHEA:16744"
/"RHEA:32950"
: "M_2-MG + M_AcylCoA <=> M_1,2-DG + M_CoA"
lpep_to_fal
:
- "RHEA:16905"
: "M_1-LPE-P + M_H2O = M_FAL + M_Glycerophosphoethanolamine"
- "RHEA:16906"
: "M_1-LPE-P + M_H2O => M_FAL + M_Glycerophosphoethanolamine"
- "RHEA:16907"
: "M_1-LPE-P + M_H2O <= M_FAL + M_Glycerophosphoethanolamine"
- "RHEA:16908"
: "M_1-LPE-P + M_H2O <=> M_FAL + M_Glycerophosphoethanolamine"
coa_to_ce
:
- "RHEA:17229"
: "M_Cholesterol + M_AcylCoA = M_CE + M_CoA"
- "RHEA:17230"
: "M_Cholesterol + M_AcylCoA => M_CE + M_CoA"
- "RHEA:17231"
: "M_Cholesterol + M_AcylCoA <= M_CE + M_CoA"
- "RHEA:17232"
: "M_Cholesterol + M_AcylCoA <=> M_CE + M_CoA"
nae_to_fa
:
- "RHEA:17505"
/"RHEA:39995"
: "M_H2O + M_NAE = M_FA + M_Ethanolamine"
- "RHEA:17506"
/"RHEA:39996"
: "M_H2O + M_NAE => M_FA + M_Ethanolamine"
- "RHEA:17507"
/"RHEA:39997"
: "M_H2O + M_NAE <= M_FA + M_Ethanolamine"
- "RHEA:17508"
/"RHEA:39998"
: "M_H2O + M_NAE <=> M_FA + M_Ethanolamine"
coa_to_acdhap
:
- "RHEA:17657"
: "M_AcylCoA + M_Dihydroxyacetone-P = M_AcylDHAP + M_CoA"
- "RHEA:17658"
: "M_AcylCoA + M_Dihydroxyacetone-P => M_AcylDHAP + M_CoA"
- "RHEA:17659"
: "M_AcylCoA + M_Dihydroxyacetone-P <= M_AcylDHAP + M_CoA"
- "RHEA:17660"
: "M_AcylCoA + M_Dihydroxyacetone-P <=> M_AcylDHAP + M_CoA"
cer_to_cerp
:
- "RHEA:17929"
: "M_Cer + M_ATP = M_ADP + M_CerP + M_H+"
- "RHEA:17930"
: "M_Cer + M_ATP => M_ADP + M_CerP + M_H+"
- "RHEA:17931"
: "M_Cer + M_ATP <= M_ADP + M_CerP + M_H+"
- "RHEA:17932"
: "M_Cer + M_ATP <=> M_ADP + M_CerP + M_H+"
pi_to_sn1lpi
:
- "RHEA:18001"
: "M_PI + M_H2O = M_1-LPI + M_FA + M_H+"
- "RHEA:18002"
: "M_PI + M_H2O => M_1-LPI + M_FA + M_H+"
- "RHEA:18003"
: "M_PI + M_H2O <= M_1-LPI + M_FA + M_H+"
- "RHEA:18004"
: "M_PI + M_H2O <=> M_1-LPI + M_FA + M_H+"
pc_to_sn2lpc
:
- "RHEA:18689"
: "M_PC + M_H2O = M_2-LPC + M_FA + M_H+"
- "RHEA:18690"
: "M_PC + M_H2O => M_2-LPC + M_FA + M_H+"
- "RHEA:18691"
: "M_PC + M_H2O <= M_2-LPC + M_FA + M_H+"
- "RHEA:18692"
: "M_PC + M_H2O <=> M_2-LPC + M_FA + M_H+"
cer_to_sm
:
- "RHEA:18765"
: "M_PC + M_Cer <=> M_1,2-DG + M_SM"
- "RHEA:18766"
: "M_PC + M_Cer <=> M_1,2-DG + M_SM"
- "RHEA:18767"
: "M_PC + M_Cer <=> M_1,2-DG + M_SM"
- "RHEA:18768"
: "M_PC + M_Cer <=> M_1,2-DG + M_SM"
lpa_to_pa
:
- "RHEA:19709"
: "M_LPA + M_AcylCoA = M_PA + M_CoA"
- "RHEA:19710"
: "M_LPA + M_AcylCoA => M_PA + M_CoA"
- "RHEA:19711"
: "M_LPA + M_AcylCoA <= M_PA + M_CoA"
- "RHEA:19712"
: "M_LPA + M_AcylCoA <=> M_PA + M_CoA"
ps_to_pe
- "RHEA:20828"
: "M_PS + M_H+ = M_PE + M_CO2"
- "RHEA:20829"
: "M_PS + M_H+ => M_PE + M_CO2"
- "RHEA:20830"
: "M_PS + M_H+ <= M_PE + M_CO2"
- "RHEA:20831"
: "M_PS + M_H+ <=> M_PE + M_CO2"
peo_to_pep
:
- "RHEA:22956"
: "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 = M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O"
- "RHEA:22957"
: "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 => M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O"
- "RHEA:22958"
: "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <= M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O"
- "RHEA:22959"
: "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <=> M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O"
lpco_to_pco
:
- "RHEA:23992"
: "M_1-LPC-O + M_AcylCoA = M_PC-O + M_CoA"
- "RHEA:23993"
: "M_1-LPC-O + M_AcylCoA => M_PC-O + M_CoA"
- "RHEA:23994"
: "M_1-LPC-O + M_AcylCoA <= M_PC-O + M_CoA"
- "RHEA:23995"
: "M_1-LPC-O + M_AcylCoA <=> M_PC-O + M_CoA"
pa_to_dg
:
- "RHEA:27429"
: "M_PA + M_H2O = M_1,2-DG + M_Pi"
- "RHEA:27430"
: "M_PA + M_H2O => M_1,2-DG + M_Pi"
- "RHEA:27431"
: "M_PA + M_H2O <= M_1,2-DG + M_Pi"
- "RHEA:27432"
: "M_PA + M_H2O <=> M_1,2-DG + M_Pi"
pe_to_ps
:
- "RHEA:27606"
: "M_PE + M_L-Serine = M_PS + M_Ethanolamine"
- "RHEA:27607"
: "M_PE + M_L-Serine => M_PS + M_Ethanolamine"
- "RHEA:27608"
: "M_PE + M_L-Serine <= M_PS + M_Ethanolamine"
- "RHEA:27609"
: "M_PE + M_L-Serine <=> M_PS + M_Ethanolamine"
sn2mg_to_fa
:
- "RHEA:32871"
: "M_H2O + M_2-MG = M_FA + M_Glycerol + M_H+"
- "RHEA:32872"
: "M_H2O + M_2-MG => M_FA + M_Glycerol + M_H+"
- "RHEA:32873"
: "M_H2O + M_2-MG <= M_FA + M_Glycerol + M_H+"
- "RHEA:32874"
: "M_H2O + M_2-MG <=> M_FA + M_Glycerol + M_H+"
pg_to_cl
:
- "RHEA:32931"
: "M_PG + M_CDP-DG = M_CL + M_CMP + M_H+"
- "RHEA:32932"
: "M_PG + M_CDP-DG => M_CL + M_CMP + M_H+"
- "RHEA:32933"
: "M_PG + M_CDP-DG <= M_CL + M_CMP + M_H+"
- "RHEA:32934"
: "M_PG + M_CDP-DG <=> M_CL + M_CMP + M_H+"
cl_to_lcl
:
- "RHEA:32935"
: "M_CL + M_H2O = M_1,2,4-LCL + M_FA + M_H+"
- "RHEA:32936"
: "M_CL + M_H2O => M_1,2,4-LCL + M_FA + M_H+"
- "RHEA:32937"
: "M_CL + M_H2O <= M_1,2,4-LCL + M_FA + M_H+"
- "RHEA:32938"
: "M_CL + M_H2O <=> M_1,2,4-LCL + M_FA + M_H+"
dg_to_pc
:
- "RHEA:32939"
: "M_1,2-DG + M_CDP-Choline = M_PC + M_CMP + M_H+"
- "RHEA:32940"
: "M_1,2-DG + M_CDP-Choline => M_PC + M_CMP + M_H+"
- "RHEA:32941"
: "M_1,2-DG + M_CDP-Choline <= M_PC + M_CMP + M_H+"
- "RHEA:32942"
: "M_1,2-DG + M_CDP-Choline <=> M_PC + M_CMP + M_H+"
dg_to_pe
:
- "RHEA:32943"
: "M_1,2-DG + M_CDP-Ethanolamine = M_PE + M_CMP + M_H+"```
-
"RHEA:32944":
"M_1,2-DG + M_CDP-Ethanolamine => M_PE + M_CMP + M_H+"-
"RHEA:32945":
"M_1,2-DG + M_CDP-Ethanolamine <= M_PE + M_CMP + M_H+"-
"RHEA:32946":
"M_1,2-DG + M_CDP-Ethanolamine <=> M_PE + M_CMP + M_H+"`
sn1lpe_to_fa
:
- "RHEA:32967"
: "M_1-LPE + M_H2O = M_FA + M_H+ + M_Glycerophosphoethanolamine"
- "RHEA:32968"
: "M_1-LPE + M_H2O => M_FA + M_H+ + M_Glycerophosphoethanolamine"
- "RHEA:32969"
: "M_1-LPE + M_H2O <= M_FA + M_H+ + M_Glycerophosphoethanolamine"
- "RHEA:32970"
: "M_1-LPE + M_H2O <=> M_FA + M_H+ + M_Glycerophosphoethanolamine"
sn1lpe_to_pe
:
- "RHEA:32995"
: "M_1-LPE + M_AcylCoA = M_PE + M_CoA"
- "RHEA:32996"
: "M_1-LPE + M_AcylCoA => M_PE + M_CoA"
- "RHEA:32997"
: "M_1-LPE + M_AcylCoA <= M_PE + M_CoA"
- "RHEA:32998"
: "M_1-LPE + M_AcylCoA <=> M_PE + M_CoA"
nape_to_nae
:
- "RHEA:33159"
: "M_H2O + M_NAPE = M_PA + M_NAE + M_H+"
- "RHEA:33160"
: "M_H2O + M_NAPE => M_PA + M_NAE + M_H+"
- "RHEA:33161"
: "M_H2O + M_NAPE <= M_PA + M_NAE + M_H+"
- "RHEA:33162"
: "M_H2O + M_NAPE <=> M_PA + M_NAE + M_H+"
sn1lpi_to_pi
:
- "RHEA:33195"
: "M_1-LPI + M_AcylCoA = M_PI + M_CoA"
- "RHEA:33196"
: "M_1-LPI + M_AcylCoA => M_PI + M_CoA"
- "RHEA:33197"
: "M_1-LPI + M_AcylCoA <= M_PI + M_CoA"
- "RHEA:33198"
: "M_1-LPI + M_AcylCoA <=> M_PI + M_CoA"
lpg_to_pg
- "RHEA:33203"
: "PG(14:0/0:0) + CoA(16:0) = PG(14:0/16:0) + CoA"
- "RHEA:33204"
: "PG(14:0/0:0) + CoA(16:0) => PG(14:0/16:0) + CoA"
- "RHEA:33205"
: "PG(14:0/0:0) + CoA(16:0) <= PG(14:0/16:0) + CoA"
- "RHEA:33206"
: "PG(14:0/0:0) + CoA(16:0) <=> PG(14:0/16:0) + CoA"
tg_to_dg
:
- "RHEA:33271"
/"RHEA:44864"
: "M_TG + M_H2O = M_1,2-DG + M_FA + M_H+"
- "RHEA:33272"
/"RHEA:44865"
: "M_TG + M_H2O => M_1,2-DG + M_FA + M_H+"
- "RHEA:33273"
/"RHEA:44866"
: "M_TG + M_H2O <= M_1,2-DG + M_FA + M_H+"
- "RHEA:33274"
/"RHEA:44867"
: "M_TG + M_H2O <=> M_1,2-DG + M_FA + M_H+"
dg_to_sn2mg
:
- "RHEA:33275"
: "M_1,2-DG + M_H2O = M_2-MG + M_FA + M_H+"
- "RHEA:33276"
: "M_1,2-DG + M_H2O => M_2-MG + M_FA + M_H+"
- "RHEA:33277"
: "M_1,2-DG + M_H2O <= M_2-MG + M_FA + M_H+"
- "RHEA:33278"
: "M_1,2-DG + M_H2O <=> M_2-MG + M_FA + M_H+"
cerp_to_cer
:
- "RHEA:33743"
: "M_H2O + M_CerP = M_Pi + M_Cer"
- "RHEA:33744"
: "M_H2O + M_CerP => M_Pi + M_Cer"
- "RHEA:33745"
: "M_H2O + M_CerP <= M_Pi + M_Cer"
- "RHEA:33746"
: "M_H2O + M_CerP <=> M_Pi + M_Cer"
sn1mg_to_lpa
:
- "RHEA:33747"
: "M_1-MG + M_ATP = M_LPA + M_ADP + M_H+"
- "RHEA:33748"
: "M_1-MG + M_ATP => M_LPA + M_ADP + M_H+"
- "RHEA:33749"
: "M_1-MG + M_ATP <= M_LPA + M_ADP + M_H+"
- "RHEA:33750"
: "M_1-MG + M_ATP <=> M_LPA + M_ADP + M_H+"
pgp_to_pg
:
- "RHEA:33751"
: "M_PGP + M_H2O = M_PG + M_Pi"
- "RHEA:33752"
: "M_PGP + M_H2O => M_PG + M_Pi"
- "RHEA:33753"
: "M_PGP + M_H2O <= M_PG + M_Pi"
- "RHEA:33754"
: "M_PGP + M_H2O <=> M_PG + M_Pi"
sn1mg_to_fa
:
- "RHEA:34019"
: "M_1-MG + M_H2O = M_FA + M_Glycerol + M_H+"
- "RHEA:34020"
: "M_1-MG + M_H2O => M_FA + M_Glycerol + M_H+"
- "RHEA:34021"
: "M_1-MG + M_H2O <= M_FA + M_Glycerol + M_H+"
- "RHEA:34022"
: "M_1-MG + M_H2O <=> M_FA + M_Glycerol + M_H+"
dg_to_sn1mg
:
- "RHEA:35663"
/"RHEA:44712"
: "M_1,2-DG + M_H2O = M_1-MG + M_FA + M_H+"
- "RHEA:35664"
/"RHEA:44713"
: "M_1,2-DG + M_H2O => M_1-MG + M_FA + M_H+"
- "RHEA:35665"
/"RHEA:44714"
: "M_1,2-DG + M_H2O <= M_1-MG + M_FA + M_H+"
- "RHEA:35666"
/"RHEA:44715"
: "M_1,2-DG + M_H2O <=> M_1-MG + M_FA + M_H+"
lcl_to_cl
:
- "RHEA:35839"
: "M_1,2,4-LCL + M_AcylCoA = M_CL + M_CoA"
- "RHEA:35840"
: "M_1,2,4-LCL + M_AcylCoA => M_CL + M_CoA"
- "RHEA:35841"
: "M_1,2,4-LCL + M_AcylCoA <= M_CL + M_CoA"
- "RHEA:35842"
: "M_1,2,4-LCL + M_AcylCoA <=> M_CL + M_CoA"
lpco_to_mgo
:
- "RHEA:36083"
: "M_1-LPC-O + M_H2O = M_1-MG-O + M_H+ + M_Phosphocholine"
- "RHEA:36084"
: "M_1-LPC-O + M_H2O => M_1-MG-O + M_H+ + M_Phosphocholine"
- "RHEA:36085"
: "M_1-LPC-O + M_H2O <= M_1-MG-O + M_H+ + M_Phosphocholine"
- "RHEA:36086"
: "M_1-LPC-O + M_H2O <=> M_1-MG-O + M_H+ + M_Phosphocholine"
acyldhap_to_alkyldhap
:
- "RHEA:36171"
: "M_AcylDHAP + M_FAO = M_AlkylDHAP + M_FA + M_H+"
- "RHEA:36172"
: "M_AcylDHAP + M_FAO => M_AlkylDHAP + M_FA + M_H+"
- "RHEA:36173"
: "M_AcylDHAP + M_FAO <= M_AlkylDHAP + M_FA + M_H+"
- "RHEA:36174"
: "M_AcylDHAP + M_FAO <=> M_AlkylDHAP + M_FA + M_H+"
alkyldhap_to_lpao
:
- "RHEA:36175"
: "M_AlkylDHAP + M_H+ + M_NADPH = M_LPA-O + M_NADP"
- "RHEA:36176"
: "M_AlkylDHAP + M_H+ + M_NADPH => M_LPA-O + M_NADP"
- "RHEA:36177"
: "M_AlkylDHAP + M_H+ + M_NADPH <= M_LPA-O + M_NADP"
- "RHEA:36178"
: "M_AlkylDHAP + M_H+ + M_NADPH <=> M_LPA-O + M_NADP"
dgo_to_pco
:
- "RHEA:36179"
: "M_DG-O + M_CDP-Choline = M_PC-O + M_CMP + M_H+"
- "RHEA:36180"
: "M_DG-O + M_CDP-Choline => M_PC-O + M_CMP + M_H+"
- "RHEA:36181"
: "M_DG-O + M_CDP-Choline <= M_PC-O + M_CMP + M_H+"
- "RHEA:36182"
: "M_DG-O + M_CDP-Choline <=> M_PC-O + M_CMP + M_H+"
dgo_to_peo
:
- "RHEA:36187"
: "M_DG-O + M_CDP-Ethanolamine = M_PE-O + M_CMP + M_H+"
- "RHEA:36188"
: "M_DG-O + M_CDP-Ethanolamine => M_PE-O + M_CMP + M_H+"
- "RHEA:36189"
: "M_DG-O + M_CDP-Ethanolamine <= M_PE-O + M_CMP + M_H+"
- "RHEA:36190"
: "M_DG-O + M_CDP-Ethanolamine <=> M_PE-O + M_CMP + M_H+"
pep_to_lpep
:
- "RHEA:36195"
: "M_PE-P + M_H2O = M_LPE-P + M_FA + M_H+"
- "RHEA:36196"
: "M_PE-P + M_H2O => M_LPE-P + M_FA + M_H+"
- "RHEA:36197"
: "M_PE-P + M_H2O <= M_LPE-P + M_FA + M_H+"
- "RHEA:36198"
: "M_PE-P + M_H2O <=> M_LPE-P + M_FA + M_H+"
lpep_to_mgp
:
- "RHEA:36199"
: "M_1-LPE-P + M_H2O = M_1-MG-P + M_H+ + M_Phosphoethanolamine"
- "RHEA:36200"
: "M_1-LPE-P + M_H2O => M_1-MG-P + M_H+ + M_Phosphoethanolamine"
- "RHEA:36201"
: "M_1-LPE-P + M_H2O <= M_1-MG-P + M_H+ + M_Phosphoethanolamine"
- "RHEA:36202"
: "M_1-LPE-P + M_H2O <=> M_1-MG-P + M_H+ + M_Phosphoethanolamine"
lpep_to_lpap
:
- "RHEA:36203"
: "M_1-LPE-P + M_H2O = M_LPA-P + M_Ethanolamine + M_H+"
- "RHEA:36204"
: "M_1-LPE-P + M_H2O => M_LPA-P + M_Ethanolamine + M_H+"
- "RHEA:36205"
: "M_1-LPE-P + M_H2O <= M_LPA-P + M_Ethanolamine + M_H+"
- "RHEA:36206"
: "M_1-LPE-P + M_H2O <=> M_LPA-P + M_Ethanolamine + M_H+"
pco_to_lpco
:
- "RHEA:36231"
: "M_PC-O + M_H2O = M_LPC-O + M_FA + M_H+"
- "RHEA:36232"
: "M_PC-O + M_H2O => M_LPC-O + M_FA + M_H+"
- "RHEA:36233"
: "M_PC-O + M_H2O <= M_LPC-O + M_FA + M_H+"
- "RHEA:36234"
: "M_PC-O + M_H2O <=> M_LPC-O + M_FA + M_H+"
lpao_to_pao
:
- "RHEA:36235"
: "M_LPA-O + M_AcylCoA = M_PA-O + M_CoA"
- "RHEA:36236"
: "M_LPA-O + M_AcylCoA => M_PA-O + M_CoA"
- "RHEA:36237"
: "M_LPA-O + M_AcylCoA <= M_PA-O + M_CoA"
- "RHEA:36238"
: "M_LPA-O + M_AcylCoA <=> M_PA-O + M_CoA"
pao_to_dgo
:
- "RHEA:36239"
: "M_PA-O + M_H2O = M_DG-O + M_Pi"
- "RHEA:36240"
: "M_PA-O + M_H2O => M_DG-O + M_Pi"
- "RHEA:36241"
: "M_PA-O + M_H2O <= M_DG-O + M_Pi"
- "RHEA:36242"
: "M_PA-O + M_H2O <=> M_DG-O + M_Pi"
sn1mg_to_dg
:
- "RHEA:38463"
/"RHEA:39943"
: "M_1-MG + M_AcylCoA = M_1,2-DG + M_CoA"
- "RHEA:38464"
/"RHEA:39944"
: "M_1-MG + M_AcylCoA => M_1,2-DG + M_CoA"
- "RHEA:38465"
/"RHEA:39945"
: "M_1-MG + M_AcylCoA <= M_1,2-DG + M_CoA"
- "RHEA:38466"
/"RHEA:39946"
: "M_1-MG + M_AcylCoA <=> M_1,2-DG + M_CoA"
lpco_to_lpao
:
- "RHEA:39927"
: "M_1-LPC-O + M_H2O = M_1-LPA-O + M_Choline + M_H+"
- "RHEA:39928"
: "M_1-LPC-O + M_H2O => M_1-LPA-O + M_Choline + M_H+"
- "RHEA:39929"
: "M_1-LPC-O + M_H2O <= M_1-LPA-O + M_Choline + M_H+"
- "RHEA:39930"
: "M_1-LPC-O + M_H2O <=> M_1-LPA-O + M_Choline + M_H+"
pi_to_dg
:
- "RHEA:43484"
: "M_PI + M_H2O = M_myo-Inositol-1-P + M_1,2-DG + M_H+"
- "RHEA:43485"
: "M_PI + M_H2O => M_myo-Inositol-1-P + M_1,2-DG + M_H+"
- "RHEA:43486"
: "M_PI + M_H2O <= M_myo-Inositol-1-P + M_1,2-DG + M_H+"
- "RHEA:43487"
: "M_PI + M_H2O <=> M_myo-Inositol-1-P + M_1,2-DG + M_H+"
pe_to_sn2lpe
:
- "RHEA:44408"
: "M_PE + M_H2O = M_2-LPE + M_FA + M_H+"
- "RHEA:44409"
: "M_PE + M_H2O => M_2-LPE + M_FA + M_H+"
- "RHEA:44410"
: "M_PE + M_H2O <= M_2-LPE + M_FA + M_H+"
- "RHEA:44411"
: "M_PE + M_H2O <=> M_2-LPE + M_FA + M_H+"
pe_to_sn1lpe
:
- "RHEA:44604"
: "M_PE + M_H2O = M_1-LPE + M_FA + M_H+"
- "RHEA:44605"
: "M_PE + M_H2O => M_1-LPE + M_FA + M_H+"
- "RHEA:44606"
: "M_PE + M_H2O <= M_1-LPE + M_FA + M_H+"
- "RHEA:44607"
: "M_PE + M_H2O <=> M_1-LPE + M_FA + M_H+"
dhcer_to_dhsm
:
- "RHEA:44620"
: "M_PC + M_DhCer = M_1,2-DG + M_DhSM"
- "RHEA:44621"
: "M_PC + M_DhCer => M_1,2-DG + M_DhSM"
- "RHEA:44622"
: "M_PC + M_DhCer <= M_1,2-DG + M_DhSM"
- "RHEA:44623"
: "M_PC + M_DhCer <=> M_1,2-DG + M_DhSM"
sn2lpc_to_fa
:
- "RHEA:44696"
: "M_2-LPC + M_H2O = M_FA + M_H+ + M_Glycerophosphocholine"
- "RHEA:44697"
: "M_2-LPC + M_H2O => M_FA + M_H+ + M_Glycerophosphocholine"
- "RHEA:44698"
: "M_2-LPC + M_H2O <= M_FA + M_H+ + M_Glycerophosphocholine"
- "RHEA:44699"
: "M_2-LPC + M_H2O <=> M_FA + M_H+ + M_Glycerophosphocholine"
pc_to_ps
:
- "RHEA:45088"
: "M_PC + M_L-Serine = M_PS + M_Choline"
- "RHEA:45089"
: "M_PC + M_L-Serine => M_PS + M_Choline"
- "RHEA:45090"
: "M_PC + M_L-Serine <= M_PS + M_Choline"
- "RHEA:45091"
: "M_PC + M_L-Serine <=> M_PS + M_Choline"
pe_to_nape_sn1
:
- "RHEA:45188"
: "M_PC + M_PE = M_2-LPC + M_H+ + M_NAPE"
- "RHEA:45189"
: "M_PC + M_PE => M_2-LPC + M_H+ + M_NAPE"
- "RHEA:45190"
: "M_PC + M_PE <= M_2-LPC + M_H+ + M_NAPE"
- "RHEA:45191"
: "M_PC + M_PE <=> M_2-LPC + M_H+ + M_NAPE"
pe_to_nape_sn2
:
- "RHEA:45192"
: "M_PC + M_PE = M_1-LPC + M_H+ + M_NAPE"
- "RHEA:45193"
: "M_PC + M_PE => M_1-LPC + M_H+ + M_NAPE"
- "RHEA:45194"
: "M_PC + M_PE <= M_1-LPC + M_H+ + M_NAPE"
- "RHEA:45195"
: "M_PC + M_PE <=> M_1-LPC + M_H+ + M_NAPE"
dhsm_to_dhcer
:
- "RHEA:45300"
: "M_DhSM + M_H2O = M_DhCer + M_H+ + M_Phosphocholine"
- "RHEA:45301"
: "M_DhSM + M_H2O => M_DhCer + M_H+ + M_Phosphocholine"
- "RHEA:45302"
: "M_DhSM + M_H2O <= M_DhCer + M_H+ + M_Phosphocholine"
- "RHEA:45303"
: "M_DhSM + M_H2O <=> M_DhCer + M_H+ + M_Phosphocholine"
lnape_to_gpnae
:
- "RHEA:45420"
: "M_H2O + M_LNAPE = M_FA + M_H+ + M_GPNAE"
- "RHEA:45421"
: "M_H2O + M_LNAPE => M_FA + M_H+ + M_GPNAE"
- "RHEA:45422"
: "M_H2O + M_LNAPE <= M_FA + M_H+ + M_GPNAE"
- "RHEA:45423"
: "M_H2O + M_LNAPE <=> M_FA + M_H+ + M_GPNAE"
nape_to_lnape
:
- "RHEA:45460"
: "M_H2O + M_NAPE = M_FA + M_H+ + M_LNAPE"
- "RHEA:45461"
: "M_H2O + M_NAPE => M_FA + M_H+ + M_LNAPE"
- "RHEA:45462"
: "M_H2O + M_NAPE <= M_FA + M_H+ + M_LNAPE"
- "RHEA:45463"
: "M_H2O + M_NAPE <=> M_FA + M_H+ + M_LNAPE"`
dhcer_to_cer
:
- "RHEA:46544"
: "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 = 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O"
- "RHEA:46545"
: "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 => 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O"
- "RHEA:46546"
: "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <= 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O"
- "RHEA:46547"
: "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <=> 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O"
sm_to_cer
:
- "RHEA:45644"
: "M_H2O + M_SM = M_H+ + M_Cer + M_Phosphocholine"
- "RHEA:45644"
: "M_H2O + M_SM => M_H+ + M_Cer + M_Phosphocholine"
- "RHEA:45644"
: "M_H2O + M_SM <= M_H+ + M_Cer + M_Phosphocholine"
- "RHEA:45644"
: "M_H2O + M_SM <=> M_H+ + M_Cer + M_Phosphocholine"
coa_to_fao
:
- "RHEA:52716"
: "M_AcylCoA + 2 M_H+ + 2 M_NADPH = M_FAO + M_CoA + 2 M_NADP
"
- "RHEA:52717"
: "M_AcylCoA + 2 M_H+ + 2 M_NADPH => M_FAO + M_CoA + 2 M_NADP"
- "RHEA:52718"
: "M_AcylCoA + 2 M_H+ + 2 M_NADPH <= M_FAO + M_CoA + 2 M_NADP"
- "RHEA:52719"
: "M_AcylCoA + 2 M_H+ + 2 M_NADPH <=> M_FAO + M_CoA + 2 M_NADP"
sphinga_to_dhcer
:
- "RHEA:53424"
: "M_AcylCoA + M_Sphinganine = M_DhCer + M_CoA + M_H+"
- "RHEA:53425"
: "M_AcylCoA + M_Sphinganine => M_DhCer + M_CoA + M_H+"
- "RHEA:53426"
: "M_AcylCoA + M_Sphinganine <= M_DhCer + M_CoA + M_H+"
- "RHEA:53427"
: "M_AcylCoA + M_Sphinganine <=> M_DhCer + M_CoA + M_H+"
pep_to_napep_sn1
:
- "RHEA:63596"
: "M_PE-P + M_PC = M_2-LPC+ M_H+ + M_NAPEP"
- "RHEA:63597"
: "M_PE-P + M_PC => M_2-LPC+ M_H+ + M_NAPEP"
- "RHEA:63598"
: "M_PE-P + M_PC <= M_2-LPC+ M_H+ + M_NAPEP"
- "RHEA:63599"
: "M_PE-P + M_PC <=> M_2-LPC+ M_H+ + M_NAPEP"
pe_to_dg
:
- "RHEA:78951"
: "M_H2O + M_PE = M_P-Ethanolamine + M_1,2-DG + M_H+"
- "RHEA:78952"
: "M_H2O + M_PE => M_P-Ethanolamine + M_1,2-DG + M_H+"
- "RHEA:78953"
: "M_H2O + M_PE <= M_P-Ethanolamine + M_1,2-DG + M_H+"
- "RHEA:78954"
: "M_H2O + M_PE <=> M_P-Ethanolamine + M_1,2-DG + M_H+"
sn2lpe_to_fa
:
- "sn2lpe_to_fa"
: "M_2-LPE + M_H2O <=> M_FA + M_H+ + M_Glycerophosphoethanolamine"
lpeo_to_peo
:
- "lpeo_to_peo"
: "M_AcylCoA + M_ak2lgpe <=> M_CoA + M_PE-O"
sn2mg_to_sn1mg
:
- "sn2mg_to_sn1mg"
: "M_2-MG <=> M_1-MG"
nape_to_pnae
:
- "nape_to_pnae"
: "M_NAPE + M_H2O <=> M_PNAE + M_1,2-DG"
napeo_to_nae
:
- "napeo_to_nae"
: "M_NAPEO + M_H2O <=> M_NAE + M_PA-O"
pe_to_pa
:
- "pe_to_pa"
: "M_PE + M_H2O <=> M_PA + M_Ethanolamine + M_H+"
peo_to_lpeo
:
- "peo_to_lpeo"
: "M_PE-O + M_H2O <=> M_LPE-O + M_FA + M_H+"
peo_to_napeo_sn1
:
- "peo_to_napeo_sn1"
: "M_PE-O + M_PC <=> M_NAPEO + M_2-LPC"
peo_to_napeo_sn2
:
- "peo_to_napeo_sn2"
: "M_PE-O + M_PC <=> M_NAPEO + M_1-LPC"
pep_to_napep_sn2
:
- "pep_to_napep_sn2"
: "M_PE-P + M_PC <=> M_NAPEP + M_1-LPC"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.