tests/testthat/test_helper_.create_template.R

## function .create_template
test_that(".create_template works", {

    ## dg_to_pa
    reaction <- "RHEA:10272"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_ATP = M_PA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_PA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:30616 = CHEBI:58608 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:456216", "CHEBI:15378"))
    
    reaction <- "RHEA:10273"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_ATP => M_PA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_PA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:30616 => CHEBI:58608 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:456216", "CHEBI:15378"))
    
    reaction <- "RHEA:10274"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_ATP <= M_PA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_PA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:30616 <= CHEBI:58608 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:456216", "CHEBI:15378"))
    
    reaction <- "RHEA:10275"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_ATP <=> M_PA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_PA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:30616 <=> CHEBI:58608 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:456216", "CHEBI:15378"))
    
    ## pc_to_dg
    reaction <- "RHEA:10604"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O = M_1,2-DG + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 = CHEBI:17815 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:10605"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O => M_1,2-DG + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 => CHEBI:17815 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:10606"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <= M_1,2-DG + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <= CHEBI:17815 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:10607"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <=> M_1,2-DG + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <=> CHEBI:17815 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:15378", "CHEBI:295975"))
    
    ## dg_to_tg
    reaction <- "RHEA:10868"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_AcylCoA = M_TG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_TG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58342 = CHEBI:64615 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64615", "CHEBI:57287"))
    
    reaction <- "RHEA:10869"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_AcylCoA => M_TG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_TG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58342 => CHEBI:64615 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64615", "CHEBI:57287"))
    
    reaction <- "RHEA:10870"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_AcylCoA <= M_TG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_TG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58342 <= CHEBI:64615 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64615", "CHEBI:57287"))
    
    reaction <- "RHEA:10871"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_AcylCoA <=> M_TG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_TG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58342 <=> CHEBI:64615 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64615", "CHEBI:57287"))
    
    ## cdpdg_to_pi
    reaction <- "RHEA:11580"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_myo-Inositol = M_PI + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_myo-Inositol"))
    expect_equal(template$reaction_product, c("M_PI", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:17268 = CHEBI:57880 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:17268"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:11581"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_myo-Inositol => M_PI + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_myo-Inositol"))
    expect_equal(template$reaction_product, c("M_PI", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:17268 => CHEBI:57880 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:17268"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:11582"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_myo-Inositol <= M_PI + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_myo-Inositol"))
    expect_equal(template$reaction_product, c("M_PI", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:17268 <= CHEBI:57880 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:17268"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:11583"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_myo-Inositol <=> M_PI + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_myo-Inositol"))
    expect_equal(template$reaction_product, c("M_PI", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:17268 <=> CHEBI:57880 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:17268"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:60377", "CHEBI:15378"))
    
    ## cer_to_glccer
    reaction <- "RHEA:12088"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_UDP-Glucose = M_GlcCer + M_H+ + M_UDP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_UDP-Glucose"))
    expect_equal(template$reaction_product, c("M_GlcCer", "M_H+", "M_UDP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:58885 = CHEBI:22801 + CHEBI:15378 + CHEBI:58223")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:58885"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:22801", "CHEBI:15378", "CHEBI:58223"))
    
    reaction <- "RHEA:12089"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_UDP-Glucose => M_GlcCer + M_H+ + M_UDP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_UDP-Glucose"))
    expect_equal(template$reaction_product, c("M_GlcCer", "M_H+", "M_UDP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:58885 => CHEBI:22801 + CHEBI:15378 + CHEBI:58223")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:58885"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:22801", "CHEBI:15378", "CHEBI:58223"))
    
    reaction <- "RHEA:12090"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_UDP-Glucose <= M_GlcCer + M_H+ + M_UDP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_UDP-Glucose"))
    expect_equal(template$reaction_product, c("M_GlcCer", "M_H+", "M_UDP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:58885 <= CHEBI:22801 + CHEBI:15378 + CHEBI:58223")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:58885"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:22801", "CHEBI:15378", "CHEBI:58223"))
    
    reaction <- "RHEA:12091"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_UDP-Glucose <=> M_GlcCer + M_H+ + M_UDP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_UDP-Glucose"))
    expect_equal(template$reaction_product, c("M_GlcCer", "M_H+", "M_UDP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:58885 <=> CHEBI:22801 + CHEBI:15378 + CHEBI:58223")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:58885"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:22801", "CHEBI:15378", "CHEBI:58223"))
    
    ## cdpdg_to_pgp
    reaction <- "RHEA:12593"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_Glycerol-3-P = M_PGP + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_PGP", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:57597 = CHEBI:60110 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60110", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:12594"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_Glycerol-3-P => M_PGP + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_PGP", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:57597 => CHEBI:60110 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60110", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:12595"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_Glycerol-3-P <= M_PGP + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_PGP", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:57597 <= CHEBI:60110 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60110", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:12596"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CDP-DG + M_Glycerol-3-P <=> M_PGP + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CDP-DG", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_PGP", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58332 + CHEBI:57597 <=> CHEBI:60110 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58332", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60110", "CHEBI:60377", "CHEBI:15378"))
    
    ## sn1lpc_to_pc
    reaction <- "RHEA:12937"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_AcylCoA = M_PC + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:58342 = CHEBI:57643 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:57287"))
    
    reaction <- "RHEA:12938"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_AcylCoA => M_PC + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:58342 => CHEBI:57643 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:57287"))
    
    reaction <- "RHEA:12939"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_AcylCoA <= M_PC + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:58342 <= CHEBI:57643 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:57287"))
    
    reaction <- "RHEA:12940"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_AcylCoA <=> M_PC + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:58342 <=> CHEBI:57643 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:57287"))
    
    ## pc_to_pa
    reaction <- "RHEA:14445"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O = M_PA + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PA", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 = CHEBI:58608 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:15354", "CHEBI:15378"))
    
    reaction <- "RHEA:14446"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O => M_PA + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PA", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 => CHEBI:58608 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:15354", "CHEBI:15378"))
    
    reaction <- "RHEA:14447"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <= M_PA + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PA", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <= CHEBI:58608 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:15354", "CHEBI:15378"))
    
    reaction <- "RHEA:14448"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <=> M_PA + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PA", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <=> CHEBI:58608 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:15354", "CHEBI:15378"))
    
    ## sn1lpc_to_fa
    reaction <- "RHEA:15177"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_H2O = M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:15377 = CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    reaction <- "RHEA:15178"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_H2O => M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:15377 => CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    reaction <- "RHEA:15179"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_H2O <= M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:15377 <= CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    reaction <- "RHEA:15180"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC + M_H2O <=> M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58168 + CHEBI:15377 <=> CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58168", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    ## coa_to_lpa
    reaction <- "RHEA:15325"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Glycerol-3-P = M_LPA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_LPA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57597 = CHEBI:57970 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:57287"))
    
    reaction <- "RHEA:15326"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Glycerol-3-P => M_LPA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_LPA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57597 => CHEBI:57970 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:57287"))
    
    reaction <- "RHEA:15327"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Glycerol-3-P <= M_LPA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_LPA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57597 <= CHEBI:57970 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:57287"))
    
    reaction <- "RHEA:15328"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Glycerol-3-P <=> M_LPA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Glycerol-3-P"))
    expect_equal(template$reaction_product, c("M_LPA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57597 <=> CHEBI:57970 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57597"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:57287"))
    
    ## fa_to_coa
    reaction <- "RHEA:15421"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA = M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi")) 
    expect_equal(template$reaction_formula_chebi, "CHEBI:57560 + CHEBI:30616 + CHEBI:57287 = CHEBI:83139 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57560", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83139", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:15422"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA => M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi")) 
    expect_equal(template$reaction_formula_chebi, "CHEBI:57560 + CHEBI:30616 + CHEBI:57287 => CHEBI:83139 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57560", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83139", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:15423"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA <= M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57560 + CHEBI:30616 + CHEBI:57287 <= CHEBI:83139 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57560", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83139", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:15424"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA <=> M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57560 + CHEBI:30616 + CHEBI:57287 <=> CHEBI:83139 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57560", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83139", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:38883"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA = M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi")) 
    expect_equal(template$reaction_formula_chebi, "CHEBI:28868 + CHEBI:30616 + CHEBI:57287 = CHEBI:77636 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:28868", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77636", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:38884"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA => M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:28868 + CHEBI:30616 + CHEBI:57287 => CHEBI:77636 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:28868", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77636", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:38885"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA <= M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:28868 + CHEBI:30616 + CHEBI:57287 <= CHEBI:77636 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:28868", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77636", "CHEBI:456215", "CHEBI:33019"))
    
    reaction <- "RHEA:38886"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_FA + M_ATP + M_CoA <=> M_AcylCoA + M_AMP + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_FA", "M_ATP", "M_CoA"))
    expect_equal(template$reaction_product, c("M_AcylCoA", "M_AMP", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:28868 + CHEBI:30616 + CHEBI:57287 <=> CHEBI:77636 + CHEBI:456215 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:28868", "CHEBI:30616", "CHEBI:57287"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77636", "CHEBI:456215", "CHEBI:33019"))
    
    ## pc_to_sn1lpc
    reaction <- "RHEA:15801"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O = M_1-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 = CHEBI:58168 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:15802"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O => M_1-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 => CHEBI:58168 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:15803"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <= M_1-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <= CHEBI:58168 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:15804"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <=> M_1-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <=> CHEBI:58168 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:28868", "CHEBI:15378"))
    
    ## pa_to_cdpdg
    reaction <- "RHEA:16229"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_CTP + M_H+ = M_CDP-DG + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_CTP", "M_H+"))
    expect_equal(template$reaction_product, c("M_CDP-DG", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:37563 + CHEBI:15378 = CHEBI:58332 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:37563", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58332", "CHEBI:33019"))
    
    reaction <- "RHEA:16230"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_CTP + M_H+ => M_CDP-DG + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_CTP", "M_H+"))
    expect_equal(template$reaction_product, c("M_CDP-DG", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:37563 + CHEBI:15378 => CHEBI:58332 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:37563", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58332", "CHEBI:33019"))
    
    reaction <- "RHEA:16231"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_CTP + M_H+ <= M_CDP-DG + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_CTP", "M_H+"))
    expect_equal(template$reaction_product, c("M_CDP-DG", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:37563 + CHEBI:15378 <= CHEBI:58332 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:37563", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58332", "CHEBI:33019"))
    
    reaction <- "RHEA:16232"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_CTP + M_H+ <=> M_CDP-DG + M_PPi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_CTP", "M_H+"))
    expect_equal(template$reaction_product, c("M_CDP-DG", "M_PPi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:37563 + CHEBI:15378 <=> CHEBI:58332 + CHEBI:33019")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:37563", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58332", "CHEBI:33019"))
    
    ## lpep_to_pep
    reaction <- "RHEA:16245"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_LPE-P + M_AcylCoA = M_PE-P + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPE-P", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:58342 = CHEBI:77290 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:57287"))
    
    reaction <- "RHEA:16246"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_LPE-P + M_AcylCoA => M_PE-P + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPE-P", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:58342 => CHEBI:77290 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:57287"))
    
    reaction <- "RHEA:16247"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_LPE-P + M_AcylCoA <= M_PE-P + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPE-P", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:58342 <= CHEBI:77290 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:57287"))
    
    reaction <- "RHEA:16248"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_LPE-P + M_AcylCoA <=> M_PE-P + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPE-P", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:58342 <=> CHEBI:77290 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:57287"))

    ## sn2mg_to_dg
    reaction <- "RHEA:16741"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA = M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 = CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:16742"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA => M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 => CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:16743"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA <= M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 <= CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:16744"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA <=> M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 <=> CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:32947"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA = M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 = CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:32948"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA => M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 => CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:32949"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA <= M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 <= CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:32950"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG + M_AcylCoA <=> M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi,  "CHEBI:17389 + CHEBI:58342 <=> CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17389", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    ## lpep_to_fal
    reaction <- "RHEA:16905"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,"M_1-LPE-P + M_H2O = M_FAL + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FAL", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 = CHEBI:73359 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73359", "CHEBI:143890"))
    
    reaction <- "RHEA:16906"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,"M_1-LPE-P + M_H2O => M_FAL + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FAL", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 => CHEBI:73359 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73359", "CHEBI:143890"))
    
    reaction <- "RHEA:16907"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,"M_1-LPE-P + M_H2O <= M_FAL + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FAL", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 <= CHEBI:73359 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73359", "CHEBI:143890"))
    
    reaction <- "RHEA:16908"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O <=> M_FAL + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FAL", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 <=> CHEBI:73359 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73359", "CHEBI:143890"))
    
    
    ## nae_to_fa
    reaction <- "RHEA:17505"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE = M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:15897 = CHEBI:57560 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:15897"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57560", "CHEBI:57603"))
    
    reaction <- "RHEA:17506"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE => M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:15897 => CHEBI:57560 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:15897"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57560", "CHEBI:57603"))
    
    reaction <- "RHEA:17507"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE <= M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:15897 <= CHEBI:57560 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:15897"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57560", "CHEBI:57603"))
    
    reaction <- "RHEA:17508"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE <=> M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:15897 <=> CHEBI:57560 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:15897"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57560", "CHEBI:57603"))
    
    reaction <- "RHEA:39995"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE = M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:52640 = CHEBI:28868 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:52640"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:57603"))
    
    reaction <- "RHEA:39996"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE => M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:52640 => CHEBI:28868 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:52640"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:57603"))
    
    reaction <- "RHEA:39997"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE <= M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:52640 <= CHEBI:28868 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:52640"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:57603"))
    
    reaction <- "RHEA:39998"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAE <=> M_FA + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAE"))
    expect_equal(template$reaction_product, c("M_FA", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:52640 <=> CHEBI:28868 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:52640"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:57603"))
    
    ## coa_to_acyldhap
    reaction <- "RHEA:17657"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Dihydroxyacetone-P = M_AcylDHAP + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Dihydroxyacetone-P"))
    expect_equal(template$reaction_product, c("M_AcylDHAP", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57642 = CHEBI:57534 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57642"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57534", "CHEBI:57287"))
    
    reaction <- "RHEA:17658"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Dihydroxyacetone-P => M_AcylDHAP + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Dihydroxyacetone-P"))
    expect_equal(template$reaction_product, c("M_AcylDHAP", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57642 => CHEBI:57534 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57642"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57534", "CHEBI:57287"))
    
    reaction <- "RHEA:17659"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Dihydroxyacetone-P <= M_AcylDHAP + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Dihydroxyacetone-P"))
    expect_equal(template$reaction_product, c("M_AcylDHAP", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57642 <= CHEBI:57534 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57642"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57534", "CHEBI:57287"))
    
    reaction <- "RHEA:17660"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Dihydroxyacetone-P <=> M_AcylDHAP + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Dihydroxyacetone-P"))
    expect_equal(template$reaction_product, c("M_AcylDHAP", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 + CHEBI:57642 <=> CHEBI:57534 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", "CHEBI:57642"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57534", "CHEBI:57287"))
    
    ## coa_to_ce
    reaction <- "RHEA:17729"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cholesterol + M_AcylCoA = M_CE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cholesterol", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:16113 + CHEBI:58342 = CHEBI:17002 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:16113", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17002", "CHEBI:57287"))
    
    reaction <- "RHEA:17730"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cholesterol + M_AcylCoA => M_CE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cholesterol", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:16113 + CHEBI:58342 => CHEBI:17002 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:16113", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17002", "CHEBI:57287"))
    
    reaction <- "RHEA:17731"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cholesterol + M_AcylCoA <= M_CE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cholesterol", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:16113 + CHEBI:58342 <= CHEBI:17002 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:16113", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17002", "CHEBI:57287"))
    
    reaction <- "RHEA:17732"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cholesterol + M_AcylCoA <=> M_CE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cholesterol", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:16113 + CHEBI:58342 <=> CHEBI:17002 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:16113", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17002", "CHEBI:57287"))
    
    ## cer_to_cerp
    reaction <- "RHEA:17929"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_ATP = M_ADP + M_CerP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_ATP"))
    expect_equal(template$reaction_product, c("M_ADP", "M_CerP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:30616 = CHEBI:456216 + CHEBI:57674 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:456216", "CHEBI:57674", "CHEBI:15378"))
    
    reaction <- "RHEA:17930"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_ATP => M_ADP + M_CerP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_ATP"))
    expect_equal(template$reaction_product, c("M_ADP", "M_CerP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:30616 => CHEBI:456216 + CHEBI:57674 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:456216", "CHEBI:57674", "CHEBI:15378"))
    
    reaction <- "RHEA:17931"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_ATP <= M_ADP + M_CerP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_ATP"))
    expect_equal(template$reaction_product, c("M_ADP", "M_CerP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:30616 <= CHEBI:456216 + CHEBI:57674 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:456216", "CHEBI:57674", "CHEBI:15378"))
    
    reaction <- "RHEA:17932"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_Cer + M_ATP <=> M_ADP + M_CerP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_Cer", "M_ATP"))
    expect_equal(template$reaction_product, c("M_ADP", "M_CerP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52639 + CHEBI:30616 <=> CHEBI:456216 + CHEBI:57674 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52639", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:456216", "CHEBI:57674", "CHEBI:15378"))
    
    ## pi_to_sn1lpi
    reaction <- "RHEA:18001"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O = M_1-LPI + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPI", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 = CHEBI:64771 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64771", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:18002"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O => M_1-LPI + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPI", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 => CHEBI:64771 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64771", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:18003"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O <= M_1-LPI + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPI", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 <= CHEBI:64771 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64771", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:18004"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O <=> M_1-LPI + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPI", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 <=> CHEBI:64771 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64771", "CHEBI:28868", "CHEBI:15378"))
    
    ## cer_to_sm
    reaction <-  "RHEA:18765"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_Cer = M_1,2-DG + M_SM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_Cer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_SM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:52639 = CHEBI:17815 + CHEBI:17636")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:52639"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:17636"))
    
    reaction <-  "RHEA:18766"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_Cer => M_1,2-DG + M_SM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_Cer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_SM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:52639 => CHEBI:17815 + CHEBI:17636")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:52639"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:17636"))
    
    reaction <-  "RHEA:18767"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_Cer <= M_1,2-DG + M_SM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_Cer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_SM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:52639 <= CHEBI:17815 + CHEBI:17636")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:52639"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:17636"))
    
    reaction <-  "RHEA:18768"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_Cer <=> M_1,2-DG + M_SM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_Cer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_SM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:52639 <=> CHEBI:17815 + CHEBI:17636")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:52639"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:17636"))
    
    ## pc_to_sn2lpc
    reaction <- "RHEA:18689"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O = M_2-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 = CHEBI:57875 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:18690"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O => M_2-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 => CHEBI:57875 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:18691"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <= M_2-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <= CHEBI:57875 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:18692"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_H2O <=> M_2-LPC + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:15377 <=> CHEBI:57875 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:28868", "CHEBI:15378"))
    
    ## lpa_to_pa
    reaction <- "RHEA:19709"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA + M_AcylCoA = M_PA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57970 + CHEBI:58342 = CHEBI:58608 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57970", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:57287"))
    
    reaction <- "RHEA:19710"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA + M_AcylCoA => M_PA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57970 + CHEBI:58342 => CHEBI:58608 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57970", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:57287"))
    
    reaction <- "RHEA:19711"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA + M_AcylCoA <= M_PA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57970 + CHEBI:58342 <= CHEBI:58608 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57970", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:57287"))
    
    reaction <- "RHEA:19712"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA + M_AcylCoA <=> M_PA + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57970 + CHEBI:58342 <=> CHEBI:58608 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57970", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:57287"))
    
    ## ps_to_pe
    reaction <- "RHEA:20828"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PS + M_H+ = M_PE + M_CO2")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PS", "M_H+"))
    expect_equal(template$reaction_product, c("M_PE", "M_CO2"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57262 + CHEBI:15378 = CHEBI:64612 + CHEBI:16526")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57262", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:16526"))
    
    reaction <- "RHEA:20829"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PS + M_H+ => M_PE + M_CO2")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PS", "M_H+"))
    expect_equal(template$reaction_product, c("M_PE", "M_CO2"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57262 + CHEBI:15378 => CHEBI:64612 + CHEBI:16526")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57262", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:16526"))
    
    reaction <- "RHEA:20830"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PS + M_H+ <= M_PE + M_CO2")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PS", "M_H+"))
    expect_equal(template$reaction_product, c("M_PE", "M_CO2"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57262 + CHEBI:15378 <= CHEBI:64612 + CHEBI:16526")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57262", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:16526"))
    
    reaction <- "RHEA:20831"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PS + M_H+ <=> M_PE + M_CO2")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PS", "M_H+"))
    expect_equal(template$reaction_product, c("M_PE", "M_CO2"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57262 + CHEBI:15378 <=> CHEBI:64612 + CHEBI:16526")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57262", "CHEBI:15378"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:16526"))
    
    ## peo_to_pep
    reaction <- "RHEA:22956"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 = M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_Fe3+-cytochrome_b5", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 = CHEBI:77290 + CHEBI:29034 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:29034", "2 CHEBI:15377"))
    
    reaction <- "RHEA:22957"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 => M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_Fe3+-cytochrome_b5", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 => CHEBI:77290 + CHEBI:29034 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:29034", "2 CHEBI:15377"))
    
    reaction <- "RHEA:22958"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <= M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_Fe3+-cytochrome_b5", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 <= CHEBI:77290 + CHEBI:29034 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:29034", "2 CHEBI:15377"))
    
    reaction <- "RHEA:22959"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <=> M_PE-P + M_Fe3+-cytochrome_b5 + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("M_PE-P", "M_Fe3+-cytochrome_b5", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 <=> CHEBI:77290 + CHEBI:29034 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77290", "CHEBI:29034", "2 CHEBI:15377"))
    
    ## lpco_to_pco
    reaction <- "RHEA:23992"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_AcylCoA = M_PC-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:58342 = CHEBI:36702 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:57287"))
    
    reaction <- "RHEA:23993"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_AcylCoA => M_PC-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:58342 => CHEBI:36702 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:57287"))
    
    reaction <- "RHEA:23994"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_AcylCoA <= M_PC-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:58342 <= CHEBI:36702 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:57287"))
    
    reaction <- "RHEA:23995"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_AcylCoA <=> M_PC-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:58342 <=> CHEBI:36702 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:57287"))
    
    ## pa_to_dg
    reaction <- "RHEA:27429"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_H2O = M_1,2-DG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:15377 = CHEBI:17815 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:43474"))
    
    reaction <- "RHEA:27430"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_H2O => M_1,2-DG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:15377 => CHEBI:17815 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:43474"))
    
    reaction <- "RHEA:27431"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_H2O <= M_1,2-DG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:15377 <= CHEBI:17815 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:43474"))
    
    reaction <- "RHEA:27432"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA + M_H2O <=> M_1,2-DG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58608 + CHEBI:15377 <=> CHEBI:17815 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58608", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:43474"))
    
    ## pe_to_ps
    reaction <- "RHEA:27606"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_L-Serine = M_PS + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:33384 = CHEBI:57262 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:57603"))
    
    reaction <- "RHEA:27607"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_L-Serine => M_PS + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:33384 => CHEBI:57262 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:57603"))
    
    reaction <- "RHEA:27608"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_L-Serine <= M_PS + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:33384 <= CHEBI:57262 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:57603"))
    
    reaction <- "RHEA:27609"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_L-Serine <=> M_PS + M_Ethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Ethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:33384 <=> CHEBI:57262 + CHEBI:57603")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:57603"))
    
    ## sn2mg_to_fa
    reaction <- "RHEA:32871"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_2-MG = M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_2-MG"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:17389 = CHEBI:29067 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:17389"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:29067", "CHEBI:17754", "CHEBI:15378"))
    
    reaction <- "RHEA:32872"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_2-MG => M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_2-MG"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:17389 => CHEBI:29067 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:17389"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:29067", "CHEBI:17754", "CHEBI:15378"))
    
    reaction <- "RHEA:32873"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_2-MG <= M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_2-MG"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:17389 <= CHEBI:29067 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:17389"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:29067", "CHEBI:17754", "CHEBI:15378"))
    
    reaction <- "RHEA:32874"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_2-MG <=> M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_2-MG"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:17389 <=> CHEBI:29067 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:17389"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:29067", "CHEBI:17754", "CHEBI:15378"))
    
    ## pg_to_cl
    reaction <- "RHEA:32931"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_CDP-DG = M_CL + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_CDP-DG"))
    expect_equal(template$reaction_product, c("M_CL", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:58332 = CHEBI:62237 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:58332"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32932"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_CDP-DG => M_CL + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_CDP-DG"))
    expect_equal(template$reaction_product, c("M_CL", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:58332 => CHEBI:62237 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:58332"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32933"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_CDP-DG <= M_CL + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_CDP-DG"))
    expect_equal(template$reaction_product, c("M_CL", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:58332 <= CHEBI:62237 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:58332"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32934"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_CDP-DG <=> M_CL + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_CDP-DG"))
    expect_equal(template$reaction_product, c("M_CL", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:58332 <=> CHEBI:62237 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:58332"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:60377", "CHEBI:15378"))
    
    ## cl_to_lcl
    reaction <- "RHEA:32935"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CL + M_H2O = M_1,2,4-LCL + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CL", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2,4-LCL", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:62237 + CHEBI:15377 = CHEBI:64743 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:62237", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64743", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:32936"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CL + M_H2O => M_1,2,4-LCL + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CL", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2,4-LCL", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:62237 + CHEBI:15377 => CHEBI:64743 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:62237", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64743", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:32937"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CL + M_H2O <= M_1,2,4-LCL + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CL", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2,4-LCL", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:62237 + CHEBI:15377 <= CHEBI:64743 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:62237", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64743", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:32938"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_CL + M_H2O <=> M_1,2,4-LCL + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_CL", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2,4-LCL", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:62237 + CHEBI:15377 <=> CHEBI:64743 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:62237", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64743", "CHEBI:28868", "CHEBI:15378"))
    
    ## dg_to_pc
    reaction <- "RHEA:32939"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Choline = M_PC + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58779 = CHEBI:57643 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32940"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Choline => M_PC + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58779 => CHEBI:57643 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32941"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Choline <= M_PC + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58779 <= CHEBI:57643 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32942"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Choline <=> M_PC + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:58779 <=> CHEBI:57643 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57643", "CHEBI:60377", "CHEBI:15378"))
    
    ## dg_to_pe
    reaction <- "RHEA:32943"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_1,2-DG + M_CDP-Ethanolamine = M_PE + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:57876 = CHEBI:64612 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32944"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Ethanolamine => M_PE + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:57876 => CHEBI:64612 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32945"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Ethanolamine <= M_PE + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:57876 <= CHEBI:64612 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:32946"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_CDP-Ethanolamine <=> M_PE + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:57876 <=> CHEBI:64612 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:60377", "CHEBI:15378"))
    
    ## sn1lpe_to_fa
    reaction <- "RHEA:32967"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_H2O = M_FA + M_H+ + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:15377 = CHEBI:28868 + CHEBI:15378 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:143890"))
    
    reaction <- "RHEA:32968"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_H2O => M_FA + M_H+ + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:15377 => CHEBI:28868 + CHEBI:15378 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:143890"))
    
    reaction <- "RHEA:32969"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_H2O <= M_FA + M_H+ + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:15377 <= CHEBI:28868 + CHEBI:15378 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:143890"))
    
    reaction <- "RHEA:32970"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_H2O <=> M_FA + M_H+ + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:15377 <=> CHEBI:28868 + CHEBI:15378 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:143890"))
    
    ## sn1lpe_to_pe
    reaction <- "RHEA:32995"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_AcylCoA = M_PE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:58342 = CHEBI:64612 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:57287"))
    
    reaction <- "RHEA:32996"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_AcylCoA => M_PE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:58342 => CHEBI:64612 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:57287"))
    
    reaction <- "RHEA:32997"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_AcylCoA <= M_PE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:58342 <= CHEBI:64612 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:57287"))
    
    reaction <- "RHEA:32998"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE + M_AcylCoA <=> M_PE + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PE", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64381 + CHEBI:58342 <=> CHEBI:64612 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64381", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64612", "CHEBI:57287"))
    
    ## nape_to_nae
    reaction <- "RHEA:33159"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE = M_PA + M_NAE + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_PA", "M_NAE", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 = CHEBI:58608 + CHEBI:52640 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:52640", "CHEBI:15378"))
    
    reaction <- "RHEA:33160"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE => M_PA + M_NAE + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_PA", "M_NAE", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 => CHEBI:58608 + CHEBI:52640 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:52640", "CHEBI:15378"))
    
    reaction <- "RHEA:33161"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE <= M_PA + M_NAE + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_PA", "M_NAE", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 <= CHEBI:58608 + CHEBI:52640 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:52640", "CHEBI:15378"))
    
    reaction <- "RHEA:33162"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE <=> M_PA + M_NAE + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_PA", "M_NAE", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 <=> CHEBI:58608 + CHEBI:52640 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:52640", "CHEBI:15378"))
    
    ## sn1lpi_to_pi
    reaction <- "RHEA:33195"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPI + M_AcylCoA = M_PI + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPI", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PI", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64771 + CHEBI:58342 = CHEBI:57880 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64771", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:57287"))
    
    reaction <- "RHEA:33196"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPI + M_AcylCoA => M_PI + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPI", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PI", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64771 + CHEBI:58342 => CHEBI:57880 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64771", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:57287"))
    
    reaction <- "RHEA:33197"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPI + M_AcylCoA <= M_PI + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPI", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PI", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64771 + CHEBI:58342 <= CHEBI:57880 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64771", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:57287"))
    
    reaction <- "RHEA:33198"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPI + M_AcylCoA <=> M_PI + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPI", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PI", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64771 + CHEBI:58342 <=> CHEBI:57880 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64771", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57880", "CHEBI:57287"))
    
    ## sn1lpg_to_pg
    reaction <- "RHEA:33203"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPG + M_AcylCoA = M_PG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64840 + CHEBI:58342 = CHEBI:64716 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64840", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:57287"))
    
    reaction <- "RHEA:33204"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPG + M_AcylCoA => M_PG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64840 + CHEBI:58342 => CHEBI:64716 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64840", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:57287"))
    
    reaction <- "RHEA:33205"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPG + M_AcylCoA <= M_PG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64840 + CHEBI:58342 <= CHEBI:64716 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64840", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:57287"))
    
    reaction <- "RHEA:33206"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPG + M_AcylCoA <=> M_PG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64840 + CHEBI:58342 <=> CHEBI:64716 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64840", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:57287"))
    
    ## tg_to_dg
    reaction <- "RHEA:33271"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O = M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 = CHEBI:17815 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:33272"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O => M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 => CHEBI:17815 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:33273"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O <= M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 <= CHEBI:17815 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:33274"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O <=> M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 <=> CHEBI:17815 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44864"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O = M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 = CHEBI:49172 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44865"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O => M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 => CHEBI:49172 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44866"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O <= M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 <= CHEBI:49172 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44867"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_TG + M_H2O <=> M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 <=> CHEBI:49172 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:28868", "CHEBI:15378"))
    
    ## dg_to_sn2mg
    reaction <- "RHEA:33275"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O = M_2-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 = CHEBI:17389 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17389", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:33276"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O => M_2-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 => CHEBI:17389 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17389", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:33277"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O <= M_2-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 <= CHEBI:17389 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17389", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:33278"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O <=> M_2-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 <=> CHEBI:17389 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17389", "CHEBI:28868", "CHEBI:15378"))
    
    ## cerp_to_cer
    reaction <- "RHEA:33743"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_CerP = M_Pi + M_Cer")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_CerP"))
    expect_equal(template$reaction_product, c("M_Pi", "M_Cer"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:57674 = CHEBI:43474 + CHEBI:52639")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:57674"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:43474", "CHEBI:52639"))
    
    reaction <- "RHEA:33744"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_CerP => M_Pi + M_Cer")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_CerP"))
    expect_equal(template$reaction_product, c("M_Pi", "M_Cer"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:57674 => CHEBI:43474 + CHEBI:52639")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:57674"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:43474", "CHEBI:52639"))
    
    reaction <- "RHEA:33745"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_CerP <= M_Pi + M_Cer")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_CerP"))
    expect_equal(template$reaction_product, c("M_Pi", "M_Cer"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:57674 <= CHEBI:43474 + CHEBI:52639")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:57674"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:43474", "CHEBI:52639"))
    
    reaction <- "RHEA:33746"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_CerP <=> M_Pi + M_Cer")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_CerP"))
    expect_equal(template$reaction_product, c("M_Pi", "M_Cer"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:57674 <=> CHEBI:43474 + CHEBI:52639")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:57674"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:43474", "CHEBI:52639"))
    
    ## sn1mg_to_lpa
    reaction <- "RHEA:33747"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_ATP = M_LPA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_LPA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:30616 = CHEBI:57970 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:456216", "CHEBI:15378"))
    
    reaction <- "RHEA:33748"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_ATP => M_LPA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_LPA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:30616 => CHEBI:57970 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:456216", "CHEBI:15378"))
    
    reaction <- "RHEA:33749"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_ATP <= M_LPA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_LPA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:30616 <= CHEBI:57970 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:456216", "CHEBI:15378"))
    
    reaction <- "RHEA:33750"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_ATP <=> M_LPA + M_ADP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_ATP"))
    expect_equal(template$reaction_product, c("M_LPA", "M_ADP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:30616 <=> CHEBI:57970 + CHEBI:456216 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:30616"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57970", "CHEBI:456216", "CHEBI:15378"))

    ## pgp_to_pg
    reaction <- "RHEA:33751"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PGP + M_H2O = M_PG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PGP", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:60110 + CHEBI:15377 = CHEBI:64716 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:60110", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:43474"))
    
    reaction <- "RHEA:33752"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PGP + M_H2O => M_PG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PGP", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:60110 + CHEBI:15377 => CHEBI:64716 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:60110", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:43474"))
    
    reaction <- "RHEA:33753"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PGP + M_H2O <= M_PG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PGP", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:60110 + CHEBI:15377 <= CHEBI:64716 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:60110", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:43474"))
    
    reaction <- "RHEA:33754"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PGP + M_H2O <=> M_PG + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PGP", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PG", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:60110 + CHEBI:15377 <=> CHEBI:64716 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:60110", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64716", "CHEBI:43474"))
    
    
    ## sn1mg_to_fa
    reaction <- "RHEA:34019"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_H2O = M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:15377 = CHEBI:28868 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:17754", "CHEBI:15378"))
    
    reaction <- "RHEA:34020"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_H2O => M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:15377 => CHEBI:28868 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:17754", "CHEBI:15378"))
    
    reaction <- "RHEA:34021"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_H2O <= M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:15377 <= CHEBI:28868 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:17754", "CHEBI:15378"))
    
    reaction <- "RHEA:34022"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_H2O <=> M_FA + M_Glycerol + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_Glycerol", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:15377 <=> CHEBI:28868 + CHEBI:17754 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:17754", "CHEBI:15378"))
    
    ## dg_to_sn1mg
    reaction <- "RHEA:35663"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O = M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 = CHEBI:64683 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64683", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:35664"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O => M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 => CHEBI:64683 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64683", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:35665"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O <= M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 <= CHEBI:64683 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64683", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:35666"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O <=> M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:17815 + CHEBI:15377 <=> CHEBI:64683 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:17815", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64683", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44712"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O = M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:49172 + CHEBI:15377 = CHEBI:35759 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:49172", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:35759", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44713"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O => M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:49172 + CHEBI:15377 => CHEBI:35759 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:49172", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:35759", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44714"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O <= M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:49172 + CHEBI:15377 <= CHEBI:35759 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:49172", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:35759", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44715"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1,2-DG + M_H2O <=> M_1-MG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2-DG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:49172 + CHEBI:15377 <=> CHEBI:35759 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:49172", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:35759", "CHEBI:28868", "CHEBI:15378"))
    
    ## lcl_to_cl
    reaction <- "RHEA:35839"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_1,2,4-LCL + M_AcylCoA = M_CL + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2,4-LCL", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CL", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64743 + CHEBI:58342 = CHEBI:62237 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64743", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:57287"))
    
    reaction <- "RHEA:35840"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_1,2,4-LCL + M_AcylCoA => M_CL + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2,4-LCL", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CL", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64743 + CHEBI:58342 => CHEBI:62237 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64743", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:57287"))
    
    reaction <- "RHEA:35841"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_1,2,4-LCL + M_AcylCoA <= M_CL + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2,4-LCL", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CL", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64743 + CHEBI:58342 <= CHEBI:62237 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64743", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:57287"))
    
    reaction <- "RHEA:35842"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_1,2,4-LCL + M_AcylCoA <=> M_CL + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1,2,4-LCL", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_CL", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64743 + CHEBI:58342 <=> CHEBI:62237 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64743", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:62237", "CHEBI:57287"))
    
    ## lpco_to_mgo
    reaction <- "RHEA:36083"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O = M_1-MG-O + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-O", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 = CHEBI:15850 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15850", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:36084"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O => M_1-MG-O + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-O", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 => CHEBI:15850 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15850", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:36085"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O <= M_1-MG-O + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-O", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 <= CHEBI:15850 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15850", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:36086"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O <=> M_1-MG-O + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-O", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 <=> CHEBI:15850 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15850", "CHEBI:15378", "CHEBI:295975"))
    
    
    ## acyldhap_to_alkyldhap
    reaction <- "RHEA:36171"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylDHAP + M_FAO = M_AlkylDHAP + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylDHAP", "M_FAO"))
    expect_equal(template$reaction_product, c("M_AlkylDHAP", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57534 + CHEBI:17135 = CHEBI:73315 + CHEBI:57560 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57534", "CHEBI:17135"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73315", "CHEBI:57560", "CHEBI:15378"))
    
    reaction <- "RHEA:36172"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylDHAP + M_FAO => M_AlkylDHAP + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylDHAP", "M_FAO"))
    expect_equal(template$reaction_product, c("M_AlkylDHAP", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57534 + CHEBI:17135 => CHEBI:73315 + CHEBI:57560 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57534", "CHEBI:17135"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73315", "CHEBI:57560", "CHEBI:15378"))
    
    reaction <- "RHEA:36173"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylDHAP + M_FAO <= M_AlkylDHAP + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylDHAP", "M_FAO"))
    expect_equal(template$reaction_product, c("M_AlkylDHAP", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57534 + CHEBI:17135 <= CHEBI:73315 + CHEBI:57560 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57534", "CHEBI:17135"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73315", "CHEBI:57560", "CHEBI:15378"))
    
    reaction <- "RHEA:36174"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylDHAP + M_FAO <=> M_AlkylDHAP + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylDHAP", "M_FAO"))
    expect_equal(template$reaction_product, c("M_AlkylDHAP", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57534 + CHEBI:17135 <=> CHEBI:73315 + CHEBI:57560 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57534", "CHEBI:17135"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73315", "CHEBI:57560", "CHEBI:15378"))
    
    ## alkyldhap_to_lpao
    reaction <- "RHEA:36175"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AlkylDHAP + M_H+ + M_NADPH = M_LPA-O + M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AlkylDHAP", "M_H+", "M_NADPH"))
    expect_equal(template$reaction_product, c("M_LPA-O", "M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73315 + CHEBI:15378 + CHEBI:57783 = CHEBI:58014 + CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73315", "CHEBI:15378", "CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:58349"))
    
    reaction <- "RHEA:36176"
    template <- .create_template(template = list(), reaction = reaction) 
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AlkylDHAP + M_H+ + M_NADPH => M_LPA-O + M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AlkylDHAP", "M_H+", "M_NADPH"))
    expect_equal(template$reaction_product, c("M_LPA-O", "M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73315 + CHEBI:15378 + CHEBI:57783 => CHEBI:58014 + CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73315", "CHEBI:15378", "CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:58349"))
    
    reaction <- "RHEA:36177"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AlkylDHAP + M_H+ + M_NADPH <= M_LPA-O + M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AlkylDHAP", "M_H+", "M_NADPH"))
    expect_equal(template$reaction_product, c("M_LPA-O", "M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73315 + CHEBI:15378 + CHEBI:57783 <= CHEBI:58014 + CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73315", "CHEBI:15378", "CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:58349"))
    
    reaction <- "RHEA:36178"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AlkylDHAP + M_H+ + M_NADPH <=> M_LPA-O + M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AlkylDHAP", "M_H+", "M_NADPH"))
    expect_equal(template$reaction_product, c("M_LPA-O", "M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73315 + CHEBI:15378 + CHEBI:57783 <=> CHEBI:58014 + CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73315", "CHEBI:15378", "CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:58349"))
    
    ## dgo_to_pco
    reaction <- "RHEA:36179"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Choline = M_PC-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:58779 = CHEBI:36702 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:36180"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Choline => M_PC-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:58779 => CHEBI:36702 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:36181"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Choline <= M_PC-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:58779 <= CHEBI:36702 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:36182"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Choline <=> M_PC-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Choline"))
    expect_equal(template$reaction_product, c("M_PC-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:58779 <=> CHEBI:36702 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:58779"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:36702", "CHEBI:60377", "CHEBI:15378"))

    ## dgo_to_peo
    reaction <- "RHEA:36187"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Ethanolamine = M_PE-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:57876 = CHEBI:60520 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60520", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:36188"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Ethanolamine => M_PE-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:57876 => CHEBI:60520 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60520", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:36189"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Ethanolamine <= M_PE-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:57876 <= CHEBI:60520 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60520", "CHEBI:60377", "CHEBI:15378"))
    
    reaction <- "RHEA:36190"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DG-O + M_CDP-Ethanolamine <=> M_PE-O + M_CMP + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DG-O", "M_CDP-Ethanolamine"))
    expect_equal(template$reaction_product, c("M_PE-O", "M_CMP", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:52595 + CHEBI:57876 <=> CHEBI:60520 + CHEBI:60377 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:52595", "CHEBI:57876"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:60520", "CHEBI:60377", "CHEBI:15378"))
    
    ## pep_to_lpep
    reaction <- "RHEA:36195"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_H2O = M_LPE-P + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPE-P", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:15377 = CHEBI:77288 + CHEBI:29067 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77288", "CHEBI:29067", "CHEBI:15378"))
    
    reaction <- "RHEA:36196"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_H2O => M_LPE-P + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPE-P", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:15377 => CHEBI:77288 + CHEBI:29067 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77288", "CHEBI:29067", "CHEBI:15378"))
    
    reaction <- "RHEA:36197"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_H2O <= M_LPE-P + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPE-P", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:15377 <= CHEBI:77288 + CHEBI:29067 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77288", "CHEBI:29067", "CHEBI:15378"))
    
    reaction <- "RHEA:36198"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_H2O <=> M_LPE-P + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPE-P", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:15377 <=> CHEBI:77288 + CHEBI:29067 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77288", "CHEBI:29067", "CHEBI:15378"))
    
    ## lpep_to_mgp
    reaction <- "RHEA:36199"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O = M_1-MG-P + M_H+ + M_Phosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-P", "M_H+", "M_Phosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 = CHEBI:77297 + CHEBI:15378 + CHEBI:58190")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77297", "CHEBI:15378", "CHEBI:58190"))
    
    reaction <- "RHEA:36200"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O => M_1-MG-P + M_H+ + M_Phosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-P", "M_H+", "M_Phosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 => CHEBI:77297 + CHEBI:15378 + CHEBI:58190")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77297", "CHEBI:15378", "CHEBI:58190"))
    
    reaction <- "RHEA:36201"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O <= M_1-MG-P + M_H+ + M_Phosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-P", "M_H+", "M_Phosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 <= CHEBI:77297 + CHEBI:15378 + CHEBI:58190")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77297", "CHEBI:15378", "CHEBI:58190"))
    
    reaction <- "RHEA:36202"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O <=> M_1-MG-P + M_H+ + M_Phosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-MG-P", "M_H+", "M_Phosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 <=> CHEBI:77297 + CHEBI:15378 + CHEBI:58190")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77297", "CHEBI:15378", "CHEBI:58190"))
    
    ## lpep_to_lpap
    reaction <- "RHEA:36203"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O = M_LPA-P + M_Ethanolamine + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPA-P", "M_Ethanolamine", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 = CHEBI:77283 + CHEBI:57603 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77283", "CHEBI:57603", "CHEBI:15378"))
    
    reaction <- "RHEA:36204"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O => M_LPA-P + M_Ethanolamine + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPA-P", "M_Ethanolamine", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 => CHEBI:77283 + CHEBI:57603 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77283", "CHEBI:57603", "CHEBI:15378"))
    
    reaction <- "RHEA:36205"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O <= M_LPA-P + M_Ethanolamine + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPA-P", "M_Ethanolamine", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 <= CHEBI:77283 + CHEBI:57603 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77283", "CHEBI:57603", "CHEBI:15378"))
    
    reaction <- "RHEA:36206"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPE-P + M_H2O <=> M_LPA-P + M_Ethanolamine + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPE-P", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPA-P", "M_Ethanolamine", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77288 + CHEBI:15377 <=> CHEBI:77283 + CHEBI:57603 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77288", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77283", "CHEBI:57603", "CHEBI:15378"))
    
    ## pco_to_lpco
    reaction <- "RHEA:36231"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC-O + M_H2O = M_LPC-O + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPC-O", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:36702 + CHEBI:15377 = CHEBI:30909 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:36702", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:30909", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:36232"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC-O + M_H2O => M_LPC-O + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPC-O", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:36702 + CHEBI:15377 => CHEBI:30909 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:36702", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:30909", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:36233"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC-O + M_H2O <= M_LPC-O + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPC-O", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:36702 + CHEBI:15377 <= CHEBI:30909 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:36702", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:30909", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:36234"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC-O + M_H2O <=> M_LPC-O + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPC-O", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:36702 + CHEBI:15377 <=> CHEBI:30909 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:36702", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:30909", "CHEBI:28868", "CHEBI:15378"))
    
    ## lpao_to_pao
    reaction <- "RHEA:36235"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA-O + M_AcylCoA = M_PA-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58014 + CHEBI:58342 = CHEBI:73332 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58014", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73332", "CHEBI:57287"))
    
    reaction <- "RHEA:36236"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA-O + M_AcylCoA => M_PA-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58014 + CHEBI:58342 => CHEBI:73332 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58014", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73332", "CHEBI:57287"))
    
    reaction <- "RHEA:36237"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA-O + M_AcylCoA <= M_PA-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58014 + CHEBI:58342 <= CHEBI:73332 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58014", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73332", "CHEBI:57287"))
    
    reaction <- "RHEA:36238"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_LPA-O + M_AcylCoA <=> M_PA-O + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_LPA-O", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_PA-O", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58014 + CHEBI:58342 <=> CHEBI:73332 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58014", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:73332", "CHEBI:57287"))
    
    ## pao_to_dgo
    reaction <- "RHEA:36239"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA-O + M_H2O = M_DG-O + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DG-O", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73332 + CHEBI:15377 = CHEBI:52595 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73332", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:52595", "CHEBI:43474"))
    
    reaction <- "RHEA:36240"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA-O + M_H2O => M_DG-O + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DG-O", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73332 + CHEBI:15377 => CHEBI:52595 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73332", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:52595", "CHEBI:43474"))
    
    reaction <- "RHEA:36241"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA-O + M_H2O <= M_DG-O + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DG-O", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73332 + CHEBI:15377 <= CHEBI:52595 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73332", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:52595", "CHEBI:43474"))
    
    reaction <- "RHEA:36242"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PA-O + M_H2O <=> M_DG-O + M_Pi")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PA-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DG-O", "M_Pi"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:73332 + CHEBI:15377 <=> CHEBI:52595 + CHEBI:43474")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:73332", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:52595", "CHEBI:43474"))
    
    ## sn1mg_to_dg
    reaction <- "RHEA:38463"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA = M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:58342 = CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:38464"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA => M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:58342 => CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:38465"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA <= M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:58342 <= CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:38466"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA <=> M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64683 + CHEBI:58342 <=> CHEBI:17815 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64683", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:57287"))
    
    reaction <- "RHEA:39943"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA = M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:58342 = CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:39944"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA => M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:58342 => CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:39945"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA <= M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:58342 <= CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    reaction <- "RHEA:39946"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-MG + M_AcylCoA <=> M_1,2-DG + M_CoA")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-MG", "M_AcylCoA"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_CoA"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 + CHEBI:58342 <=> CHEBI:49172 + CHEBI:57287")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759", "CHEBI:58342"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:57287"))
    
    ## lpco_to_lpao
    reaction <- "RHEA:39927"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O = M_1-LPA-O + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPA-O", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 = CHEBI:58014 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:15354", "CHEBI:15378"))
    
    reaction <- "RHEA:39928"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O => M_1-LPA-O + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPA-O", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 => CHEBI:58014 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:15354", "CHEBI:15378"))
    
    reaction <- "RHEA:39929"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O <= M_1-LPA-O + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPA-O", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 <= CHEBI:58014 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:15354", "CHEBI:15378"))
    
    reaction <- "RHEA:39930"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_1-LPC-O + M_H2O <=> M_1-LPA-O + M_Choline + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_1-LPC-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPA-O", "M_Choline", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:30909 + CHEBI:15377 <=> CHEBI:58014 + CHEBI:15354 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:30909", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58014", "CHEBI:15354", "CHEBI:15378"))
    
    ## pi_to_dg
    reaction <- "RHEA:43484"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O = M_myo-Inositol-1-P + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_myo-Inositol-1-P", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 = CHEBI:58433 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58433", "CHEBI:17815", "CHEBI:15378"))
    
    reaction <- "RHEA:43485"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O => M_myo-Inositol-1-P + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_myo-Inositol-1-P", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 => CHEBI:58433 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58433", "CHEBI:17815", "CHEBI:15378"))
    
    reaction <- "RHEA:43486"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O <= M_myo-Inositol-1-P + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_myo-Inositol-1-P", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 <= CHEBI:58433 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58433", "CHEBI:17815", "CHEBI:15378"))
    
    reaction <- "RHEA:43487"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PI + M_H2O <=> M_myo-Inositol-1-P + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PI", "M_H2O"))
    expect_equal(template$reaction_product, c("M_myo-Inositol-1-P", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57880 + CHEBI:15377 <=> CHEBI:58433 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57880", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58433", "CHEBI:17815", "CHEBI:15378"))
    
    ## pe_to_sn2lpe
    reaction <- "RHEA:44408"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O = M_2-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 = CHEBI:65213 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:65213", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44409"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O => M_2-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 => CHEBI:65213 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:65213", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44410"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O <= M_2-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 <= CHEBI:65213 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:65213", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44411"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O <=> M_2-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_2-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 <=> CHEBI:65213 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:65213", "CHEBI:28868", "CHEBI:15378"))
    
    ## pg_to_sn1lpg
    reaction <- "RHEA:44416"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_H2O = M_1-LPG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:15377 = CHEBI:64840 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64840", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44417"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_H2O => M_1-LPG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:15377 => CHEBI:64840 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64840", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44418"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_H2O <= M_1-LPG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:15377 <= CHEBI:64840 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64840", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44419"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PG + M_H2O <=> M_1-LPG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64716 + CHEBI:15377 <=> CHEBI:64840 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64716", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64840", "CHEBI:28868", "CHEBI:15378"))
    ## pe_to_sn1lpe
    reaction <- "RHEA:44604"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O = M_1-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 = CHEBI:64381 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64381", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44605"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O => M_1-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 => CHEBI:64381 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64381", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44606"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O <= M_1-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 <= CHEBI:64381 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64381", "CHEBI:28868", "CHEBI:15378"))
    
    reaction <- "RHEA:44607"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O <=> M_1-LPE + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_product, c("M_1-LPE", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 <=> CHEBI:64381 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:64381", "CHEBI:28868", "CHEBI:15378"))
    
    ## dhcer_to_dhsm
    reaction <- "RHEA:44620"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_DhCer = M_1,2-DG + M_DhSM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_DhCer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_DhSM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:31488 = CHEBI:17815 + CHEBI:67090")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:31488"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:67090"))
    
    reaction <- "RHEA:44621"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_DhCer => M_1,2-DG + M_DhSM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_DhCer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_DhSM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:31488 => CHEBI:17815 + CHEBI:67090")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:31488"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:67090"))
    
    reaction <- "RHEA:44622"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_DhCer <= M_1,2-DG + M_DhSM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_DhCer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_DhSM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:31488 <= CHEBI:17815 + CHEBI:67090")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:31488"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:67090"))
    
    reaction <- "RHEA:44623"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_DhCer <=> M_1,2-DG + M_DhSM")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_DhCer"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_DhSM"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:31488 <=> CHEBI:17815 + CHEBI:67090")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:31488"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17815", "CHEBI:67090"))
    
    ## sn2lpc_to_fa
    reaction <- "RHEA:44696"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-LPC + M_H2O = M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57875 + CHEBI:15377 = CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57875", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    reaction <- "RHEA:44697"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-LPC + M_H2O => M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57875 + CHEBI:15377 => CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57875", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    reaction <- "RHEA:44698"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-LPC + M_H2O <= M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57875 + CHEBI:15377 <= CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57875", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    reaction <- "RHEA:44699"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-LPC + M_H2O <=> M_FA + M_H+ + M_Glycerophosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-LPC", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57875 + CHEBI:15377 <=> CHEBI:28868 + CHEBI:15378 + CHEBI:16870")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57875", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:16870"))
    
    ## pc_to_ps
    reaction <- "RHEA:45088"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_L-Serine = M_PS + M_Choline")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Choline"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:33384 = CHEBI:57262 + CHEBI:15354")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:15354"))
    
    reaction <- "RHEA:45089"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_L-Serine => M_PS + M_Choline")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Choline"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:33384 => CHEBI:57262 + CHEBI:15354")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:15354"))
    
    reaction <- "RHEA:45090"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_L-Serine <= M_PS + M_Choline")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Choline"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:33384 <= CHEBI:57262 + CHEBI:15354")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:15354"))
    
    reaction <- "RHEA:45091"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_L-Serine <=> M_PS + M_Choline")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_L-Serine"))
    expect_equal(template$reaction_product, c("M_PS", "M_Choline"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:33384 <=> CHEBI:57262 + CHEBI:15354")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:33384"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57262", "CHEBI:15354"))
    
    ## pe_to_nape_sn1
    reaction <- "RHEA:45188"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE = M_2-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 = CHEBI:57875 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:62537"))
    
    reaction <- "RHEA:45189"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE => M_2-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 => CHEBI:57875 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:62537"))
    
    reaction <- "RHEA:45190"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE <= M_2-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 <= CHEBI:57875 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:62537"))
    
    reaction <- "RHEA:45191"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE <=> M_2-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 <=> CHEBI:57875 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:62537"))
    
    ## pe_to_nape_sn2
    reaction <- "RHEA:45192"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE = M_1-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 = CHEBI:58168 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:15378", "CHEBI:62537"))
    
    reaction <- "RHEA:45193"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE => M_1-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 => CHEBI:58168 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:15378", "CHEBI:62537"))
    
    reaction <- "RHEA:45194"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE <= M_1-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 <= CHEBI:58168 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:15378", "CHEBI:62537"))
    
    reaction <- "RHEA:45195"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PC + M_PE <=> M_1-LPC + M_H+ + M_NAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PC", "M_PE"))
    expect_equal(template$reaction_product, c("M_1-LPC", "M_H+", "M_NAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:57643 + CHEBI:64612 <=> CHEBI:58168 + CHEBI:15378 + CHEBI:62537")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:57643", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58168", "CHEBI:15378", "CHEBI:62537"))
    
    ## dhsm_to_dhcer
    reaction <- "RHEA:45300"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhSM + M_H2O = M_DhCer + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhSM", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64583 + CHEBI:15377 = CHEBI:83273 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64583", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:45301"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhSM + M_H2O => M_DhCer + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_substrate, c("M_DhSM", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64583 + CHEBI:15377 => CHEBI:83273 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64583", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:45302"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhSM + M_H2O <= M_DhCer + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhSM", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64583 + CHEBI:15377 <= CHEBI:83273 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64583", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:15378", "CHEBI:295975"))
    
    reaction <- "RHEA:45303"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhSM + M_H2O <=> M_DhCer + M_H+ + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhSM", "M_H2O"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_H+", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64583 + CHEBI:15377 <=> CHEBI:83273 + CHEBI:15378 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64583", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:15378", "CHEBI:295975"))
    
    ## lnape_to_gpnae
    reaction <- "RHEA:45420"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_H2O + M_LNAPE = M_FA + M_H+ + M_GPNAE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_LNAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_GPNAE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:85216 = CHEBI:28868 + CHEBI:15378 + CHEBI:85225")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:85216"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85225"))
    
    reaction <- "RHEA:45421"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_H2O + M_LNAPE => M_FA + M_H+ + M_GPNAE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_LNAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_GPNAE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:85216 => CHEBI:28868 + CHEBI:15378 + CHEBI:85225")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:85216"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85225"))
    
    reaction <- "RHEA:45422"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_H2O + M_LNAPE <= M_FA + M_H+ + M_GPNAE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_LNAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_GPNAE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:85216 <= CHEBI:28868 + CHEBI:15378 + CHEBI:85225")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:85216"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85225"))
    
    reaction <- "RHEA:45423"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula,  "M_H2O + M_LNAPE <=> M_FA + M_H+ + M_GPNAE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_LNAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_GPNAE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:85216 <=> CHEBI:28868 + CHEBI:15378 + CHEBI:85225")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:85216"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85225"))
    
    ## nape_to_lnape
    reaction <- "RHEA:45460"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE = M_FA + M_H+ + M_LNAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_LNAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 = CHEBI:28868 + CHEBI:15378 + CHEBI:85216")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85216"))
    
    reaction <- "RHEA:45461"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE => M_FA + M_H+ + M_LNAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_LNAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 => CHEBI:28868 + CHEBI:15378 + CHEBI:85216")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85216"))
    
    reaction <- "RHEA:45462"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE <= M_FA + M_H+ + M_LNAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_LNAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 <= CHEBI:28868 + CHEBI:15378 + CHEBI:85216")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85216"))
    
    reaction <- "RHEA:45463"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_NAPE <=> M_FA + M_H+ + M_LNAPE")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_NAPE"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_LNAPE"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:62537 <=> CHEBI:28868 + CHEBI:15378 + CHEBI:85216")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:62537"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:85216"))
    
    ## sm_to_cer
    reaction <- "RHEA:45644"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_SM = M_H+ + M_Cer + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_SM"))
    expect_equal(template$reaction_product, c("M_H+", "M_Cer", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:78646 = CHEBI:15378 + CHEBI:72959 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:78646"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15378", "CHEBI:72959", "CHEBI:295975"))
    
    reaction <- "RHEA:45645"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_SM => M_H+ + M_Cer + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_SM"))
    expect_equal(template$reaction_product, c("M_H+", "M_Cer", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:78646 => CHEBI:15378 + CHEBI:72959 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:78646"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15378", "CHEBI:72959", "CHEBI:295975"))
    
    reaction <- "RHEA:45646"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_SM <= M_H+ + M_Cer + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_SM"))
    expect_equal(template$reaction_product, c("M_H+", "M_Cer", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:78646 <= CHEBI:15378 + CHEBI:72959 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:78646"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15378", "CHEBI:72959", "CHEBI:295975"))
    
    reaction <- "RHEA:45647"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_SM <=> M_H+ + M_Cer + M_Phosphocholine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_SM"))
    expect_equal(template$reaction_product, c("M_H+", "M_Cer", "M_Phosphocholine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:78646 <=> CHEBI:15378 + CHEBI:72959 + CHEBI:295975")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:78646"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:15378", "CHEBI:72959", "CHEBI:295975"))
    
    ## dhcer_to_cer
    reaction <- "RHEA:46544"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 = 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhCer", "2 M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("2 M_Fe3+-cytochrome_b5", "M_Cer", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:31488 + 2 CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 = 2 CHEBI:57540 + CHEBI:52639 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:31488", "2 CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("2 CHEBI:57540", "CHEBI:52639", "2 CHEBI:15377"))
    
    reaction <- "RHEA:46545"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 => 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhCer", "2 M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("2 M_Fe3+-cytochrome_b5", "M_Cer", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:31488 + 2 CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 => 2 CHEBI:57540 + CHEBI:52639 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:31488", "2 CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("2 CHEBI:57540", "CHEBI:52639", "2 CHEBI:15377"))
    
    reaction <- "RHEA:46546"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <= 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhCer", "2 M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("2 M_Fe3+-cytochrome_b5", "M_Cer", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:31488 + 2 CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 <= 2 CHEBI:57540 + CHEBI:52639 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:31488", "2 CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("2 CHEBI:57540", "CHEBI:52639", "2 CHEBI:15377"))
    
    reaction <- "RHEA:46547"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_DhCer + 2 M_Fe2+-cytochrome_b5 + 2 M_H+ + M_O2 <=> 2 M_Fe3+-cytochrome_b5 + M_Cer + 2 M_H2O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_DhCer", "2 M_Fe2+-cytochrome_b5", "2 M_H+", "M_O2"))
    expect_equal(template$reaction_product, c("2 M_Fe3+-cytochrome_b5", "M_Cer", "2 M_H2O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:31488 + 2 CHEBI:29033 + 2 CHEBI:15378 + CHEBI:15379 <=> 2 CHEBI:57540 + CHEBI:52639 + 2 CHEBI:15377")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:31488", "2 CHEBI:29033", "2 CHEBI:15378", "CHEBI:15379"))
    expect_equal(template$reaction_product_chebi, c("2 CHEBI:57540", "CHEBI:52639", "2 CHEBI:15377"))
    
    ## coa_to_FAO
    reaction <- "RHEA:52716"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + 2 M_H+ + 2 M_NADPH = M_FAO + M_CoA + 2 M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "2 M_H+", "2 M_NADPH"))
    expect_equal(template$reaction_product, c("M_FAO", "M_CoA", "2 M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:83139 + 2 CHEBI:15378 + 2 CHEBI:57783 = CHEBI:77396 + CHEBI:57287 + 2 CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:83139", "2 CHEBI:15378", "2 CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77396", "CHEBI:57287", "2 CHEBI:58349"))
    
    reaction <- "RHEA:52717"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + 2 M_H+ + 2 M_NADPH => M_FAO + M_CoA + 2 M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "2 M_H+", "2 M_NADPH"))
    expect_equal(template$reaction_product, c("M_FAO", "M_CoA", "2 M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:83139 + 2 CHEBI:15378 + 2 CHEBI:57783 => CHEBI:77396 + CHEBI:57287 + 2 CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:83139", "2 CHEBI:15378", "2 CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77396", "CHEBI:57287", "2 CHEBI:58349"))
    
    reaction <- "RHEA:52718"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + 2 M_H+ + 2 M_NADPH <= M_FAO + M_CoA + 2 M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "2 M_H+", "2 M_NADPH"))
    expect_equal(template$reaction_product, c("M_FAO", "M_CoA", "2 M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:83139 + 2 CHEBI:15378 + 2 CHEBI:57783 <= CHEBI:77396 + CHEBI:57287 + 2 CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:83139", "2 CHEBI:15378", "2 CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77396", "CHEBI:57287", "2 CHEBI:58349"))
    
    reaction <- "RHEA:52719"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + 2 M_H+ + 2 M_NADPH <=> M_FAO + M_CoA + 2 M_NADP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "2 M_H+", "2 M_NADPH"))
    expect_equal(template$reaction_product, c("M_FAO", "M_CoA", "2 M_NADP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:83139 + 2 CHEBI:15378 + 2 CHEBI:57783 <=> CHEBI:77396 + CHEBI:57287 + 2 CHEBI:58349")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:83139", "2 CHEBI:15378", "2 CHEBI:57783"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:77396", "CHEBI:57287", "2 CHEBI:58349"))
    
    ## sphinga_to_dhcer
    reaction <- "RHEA:53424"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Sphinganine = M_DhCer + M_CoA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Sphinganine"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_CoA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77636 + CHEBI:84410 = CHEBI:83273 + CHEBI:57287 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77636", "CHEBI:84410"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:57287", "CHEBI:15378"))
    
    reaction <- "RHEA:53425"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Sphinganine => M_DhCer + M_CoA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Sphinganine"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_CoA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77636 + CHEBI:84410 => CHEBI:83273 + CHEBI:57287 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77636", "CHEBI:84410"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:57287", "CHEBI:15378"))
    
    reaction <- "RHEA:53426"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Sphinganine <= M_DhCer + M_CoA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Sphinganine"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_CoA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77636 + CHEBI:84410 <= CHEBI:83273 + CHEBI:57287 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77636", "CHEBI:84410"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:57287", "CHEBI:15378"))
    
    reaction <- "RHEA:53427"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_Sphinganine <=> M_DhCer + M_CoA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_Sphinganine"))
    expect_equal(template$reaction_product, c("M_DhCer", "M_CoA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77636 + CHEBI:84410 <=> CHEBI:83273 + CHEBI:57287 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77636", "CHEBI:84410"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:83273", "CHEBI:57287", "CHEBI:15378"))
    
    ## pep_to_napep_sn1
    reaction <- "RHEA:63596"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_PC = M_2-LPC + M_H+ + M_NAPEP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_PC"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPEP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:57643 = CHEBI:57875 + CHEBI:15378 + CHEBI:140451")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:140451"))
    
    reaction <- "RHEA:63597"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_PC => M_2-LPC + M_H+ + M_NAPEP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_PC"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPEP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:57643 => CHEBI:57875 + CHEBI:15378 + CHEBI:140451")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:140451"))
    
    reaction <- "RHEA:63598"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_PC <= M_2-LPC + M_H+ + M_NAPEP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_PC"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPEP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:57643 <= CHEBI:57875 + CHEBI:15378 + CHEBI:140451")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:140451"))
    
    reaction <- "RHEA:63599"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_PC <=> M_2-LPC + M_H+ + M_NAPEP")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_PC"))
    expect_equal(template$reaction_product, c("M_2-LPC", "M_H+", "M_NAPEP"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:57643 <=> CHEBI:57875 + CHEBI:15378 + CHEBI:140451")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57875", "CHEBI:15378", "CHEBI:140451"))
    
    ## pe_to_dg
    reaction <- "RHEA:78951"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_PE = M_P-Ethanolamine + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_PE"))
    expect_equal(template$reaction_product, c("M_P-Ethanolamine", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:64612 = CHEBI:58190 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58190", "CHEBI:17815", "CHEBI:15378"))
    
    reaction <- "RHEA:78952"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_PE => M_P-Ethanolamine + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_PE"))
    expect_equal(template$reaction_product, c("M_P-Ethanolamine", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:64612 => CHEBI:58190 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58190", "CHEBI:17815", "CHEBI:15378"))
    
    reaction <- "RHEA:78953"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_PE <= M_P-Ethanolamine + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_PE"))
    expect_equal(template$reaction_product, c("M_P-Ethanolamine", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:64612 <= CHEBI:58190 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58190", "CHEBI:17815", "CHEBI:15378"))
    
    reaction <- "RHEA:78954"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_H2O + M_PE <=> M_P-Ethanolamine + M_1,2-DG + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_H2O", "M_PE"))
    expect_equal(template$reaction_product, c("M_P-Ethanolamine", "M_1,2-DG", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:15377 + CHEBI:64612 <=> CHEBI:58190 + CHEBI:17815 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:15377", "CHEBI:64612"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58190", "CHEBI:17815", "CHEBI:15378"))
    
    ## sn2lpe_to_fa
    reaction <- "sn2lpe_to_fa"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-LPE + M_H2O <=> M_FA + M_H+ + M_Glycerophosphoethanolamine")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-LPE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_FA", "M_H+", "M_Glycerophosphoethanolamine"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:65213 + CHEBI:15377 <=> CHEBI:28868 + CHEBI:15378 + CHEBI:143890")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:65213", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:28868", "CHEBI:15378", "CHEBI:143890"))
    
    ## lpeo_to_peo
    reaction <- "lpeo_to_peo"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_AcylCoA + M_LPE-O <=> M_CoA + M_PE-O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_AcylCoA", "M_LPE-O"))
    expect_equal(template$reaction_product, c("M_CoA", "M_PE-O"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:58342 +  <=> CHEBI:57287 + CHEBI:75028") ##########
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:58342", ""))
    expect_equal(template$reaction_product_chebi, c("CHEBI:57287", "CHEBI:75028"))
    
    ## sn2mg_to_sn1mg
    reaction <- "sn2mg_to_sn1mg"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_2-MG <=> M_1-MG")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_2-MG"))
    expect_equal(template$reaction_product, c("M_1-MG"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:35759 <=> CHEBI:17389")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:35759"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:17389"))
    
    ## nape_to_pnae
    reaction <- "nape_to_pnae"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_NAPE + M_H2O <=> M_PNAE + M_1,2-DG")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_NAPE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PNAE", "M_1,2-DG"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:62537 + CHEBI:15377 <=> CHEBI:145538 + CHEBI:17815")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:62537", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:145538", "CHEBI:17815"))
    
    ## napeo_to_nae
    reaction <- "napeo_to_nae"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_NAPEO + M_H2O <=> M_NAE + M_PA-O")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_NAPEO", "M_H2O"))
    expect_equal(template$reaction_product, c("M_NAE", "M_PA-O"))
    expect_equal(template$reaction_formula_chebi, " + CHEBI:15377 <=> CHEBI:52640 + CHEBI:73332") #################
    expect_equal(template$reaction_substrate_chebi, c("", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:52640", "CHEBI:73332"))
    
    ## pe_to_pa
    reaction <- "pe_to_pa"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE + M_H2O <=> M_PA + M_Ethanolamine + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE", "M_H2O"))
    expect_equal(template$reaction_product, c("M_PA", "M_Ethanolamine", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64612 + CHEBI:15377 <=> CHEBI:58608 + CHEBI:57603 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64612", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:58608", "CHEBI:57603", "CHEBI:15378"))
    
    ## peo_to_lpeo
    reaction <- "peo_to_lpeo"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_H2O <=> M_LPE-O + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_H2O"))
    expect_equal(template$reaction_product, c("M_LPE-O", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:15377 <=>  + CHEBI:28868 + CHEBI:15378") #############
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("", "CHEBI:28868", "CHEBI:15378"))
    
    ## peo_to_napeo_sn1
    reaction <- "peo_to_napeo_sn1"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_PC <=> M_NAPEO + M_2-LPC")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_PC"))
    expect_equal(template$reaction_product, c("M_NAPEO", "M_2-LPC"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:57643 <=>  + CHEBI:58168") #############
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("", "CHEBI:58168"))
    
    ## peo_to_napeo_sn2
    reaction <- "peo_to_napeo_sn2"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-O + M_PC <=> M_NAPEO + M_1-LPC")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-O", "M_PC"))
    expect_equal(template$reaction_product, c("M_NAPEO", "M_1-LPC"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:75028 + CHEBI:57643 <=>  + CHEBI:58168") #############
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:75028", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("", "CHEBI:58168"))

    ## pep_to_napep_sn2
    reaction <- "pep_to_napep_sn2"
    template <- .create_template(template = list(), reaction = reaction)
    expect_equal(template$reaction_name, "")
    expect_equal(template$reaction_formula, "M_PE-P + M_PC <=> M_NAPEP + M_1-LPC")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "")
    expect_equal(template$reaction_constraints, "")
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_PE-P", "M_PC"))
    expect_equal(template$reaction_product, c("M_NAPEP", "M_1-LPC"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:77290 + CHEBI:57643 <=> CHEBI:140451 + CHEBI:58168") ########
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:77290", "CHEBI:57643"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:140451", "CHEBI:58168"))
    
    ## check argument template
    reaction <- "RHEA:44867"
    template <- .create_template(template = list(), reaction = reaction)
    template$reaction_name <- "tg_to_dg"
    template$reaction_isReversible <- "TRUE"
    template$reaction_pathway <- "lipid biosynthesis"
    template$reaction_constraints <- c("TG(18:0/16:0/16:0)", "TG(18:0/18:0/16:0)")
    template <- .create_template(template = template, reaction = reaction)
    expect_equal(template$reaction_name, "tg_to_dg")
    expect_equal(template$reaction_formula, "M_TG + M_H2O <=> M_1,2-DG + M_FA + M_H+")
    expect_equal(template$reaction_RHEA, reaction)
    expect_equal(template$reaction_isReversible, "TRUE")
    expect_equal(template$reaction_geneAssociation, "")
    expect_equal(template$reaction_pathway, "lipid biosynthesis")
    expect_equal(template$reaction_constraints, c("TG(18:0/16:0/16:0)", "TG(18:0/18:0/16:0)"))
    expect_equal(template$reaction_constraints_negate, FALSE)
    expect_equal(template$reaction_substrate, c("M_TG", "M_H2O"))
    expect_equal(template$reaction_product, c("M_1,2-DG", "M_FA", "M_H+"))
    expect_equal(template$reaction_formula_chebi, "CHEBI:64615 + CHEBI:15377 <=> CHEBI:49172 + CHEBI:28868 + CHEBI:15378")
    expect_equal(template$reaction_substrate_chebi, c("CHEBI:64615", "CHEBI:15377"))
    expect_equal(template$reaction_product_chebi, c("CHEBI:49172", "CHEBI:28868", "CHEBI:15378"))
    
})
michaelwitting/wormLipidPredictR documentation built on Jan. 30, 2025, 12:30 a.m.