Genome scale metabolic networks typically do not represent lipid metabolism in full detail. This package aims to use template reactions to generate a lipid reaction network at resolution of acyl chains.


To install LipidNetworkPredictR from GitHub, install the package via devtools:

if (!requireNamespace("devtools", quietly = TRUE))

The code in the Github repository is a place where we publicly disclose our development process.

Quick start


## define the fatty acids that the reactions will be built upon
FA <- c("FA(14:0(12Me))", "FA(16:0(14Me))", "FA(15:1(9Z)(14Me))",        
    "FA(17:0(16Me))", "FA(12:0(11Me))", "FA(13:0(12Me))", "FA(14:0(13Me))",
    "FA(15:0(14Me))", "FA(16:0(15Me))", "FA(12:0)", "FA(14:0)")

## create data.frame with reactions and reaction order, for illustrative
## reasons this will only represent a small subset of the actual lipid 
## metabolism
reactions <- rbind(
    c(1, "RHEA:15421", "M_atp + M_coa + M_fatacid <=> M_ppi + M_amp + M_fataccoa", FALSE),
    c(2, "RHEA:15325", "M_glyc3p + M_fataccoa <=> M_coa + M_alpa_pl", FALSE),
    c(3, "RHEA:19709", "M_fataccoa + M_alpa_pl <=> M_coa + M_pa_pl", FALSE),
    c(4, "pa_to_dg", "M_h2o + M_pa_pl <=> M_pi + M_12dag", FALSE)
reactions <- data.frame(order = reactions[, 1], RHEA = reactions[, 2],
    reactions = reactions[, 3], directed = reactions[, 4])
reactions$order <- as.numeric(reactions$order)
reactions$directed <- as.logical(reactions$directed)

## run the function
reactions <- create_reactions(substrates = list(FA = FA), reactions = reactions)

## create the adjacency matrix
adj <- create_reaction_adjacency_matrix(reaction_l)

The adj object can be further analyzed in subsequent analysis (e.g. by using igraph).

michaelwitting/wormLipidPredictR documentation built on July 1, 2023, 9:20 p.m.