tests/testthat/test-lipidomics_summarize.R

test_that("format lipid name", {
    # CE
    expect_equal(format_lipid_name("18:1 Cholesteryl Ester"), "CE 18:1")
    expect_equal(format_lipid_name("(18:1) Cholesteryl Ester"), "CE 18:1")
    expect_equal(format_lipid_name("18:1 Cholesteryl ester"), "CE 18:1")
    expect_equal(format_lipid_name("18:1 cholesteryl ester"), "CE 18:1")
    expect_equal(format_lipid_name("18:1 CHOLESTERYL ESTER"), "CE 18:1")
    expect_equal(format_lipid_name("18:1 CE"), "CE 18:1")
    expect_equal(format_lipid_name("(18:1) CE"), "CE 18:1")
    expect_equal(format_lipid_name("18:1 ce"), "CE 18:1")
    expect_false(format_lipid_name("18:1 cer") == "CE 18:1")
    expect_equal(format_lipid_name("Cholesteryl Ester 18:1"), "CE 18:1")
    expect_equal(format_lipid_name("Cholesteryl Ester (18:1)"), "CE 18:1")
    expect_equal(format_lipid_name("Cholesteryl ester 18:1"), "CE 18:1")
    expect_equal(format_lipid_name("cholesteryl ester 18:1"), "CE 18:1")
    expect_equal(format_lipid_name("CHOLESTERYL ESTER 18:1"), "CE 18:1")
    expect_equal(format_lipid_name("CE 18:1"), "CE 18:1")
    expect_equal(format_lipid_name("CE (18:1)"), "CE 18:1")
    expect_equal(format_lipid_name("ce 18:1"), "CE 18:1")
    expect_false(format_lipid_name("cer 18:1") == "CE 18:1")
    # DG
    expect_equal(format_lipid_name("DAG 36:2"), "DG 36:2")
    expect_equal(format_lipid_name("DAG (36:2)"), "DG 36:2")
    expect_equal(format_lipid_name("Diacylglycerol 36:2"), "DG 36:2")
    expect_equal(format_lipid_name("diacylglycerol 36:2"), "DG 36:2")
    expect_equal(format_lipid_name("DIACYLGLYCEROL 36:2"), "DG 36:2")
    # MG
    expect_equal(format_lipid_name("MAG 36:2"), "MG 36:2")
    expect_equal(format_lipid_name("MAG (36:2)"), "MG 36:2")
    expect_equal(format_lipid_name("Monoacylglycerol 36:2"), "MG 36:2")
    expect_equal(format_lipid_name("monoacylglycerol 36:2"), "MG 36:2")
    expect_equal(format_lipid_name("MONOACYLGLYCEROL 36:2"), "MG 36:2")
    # FA
    expect_equal(format_lipid_name("FA (18:1)"), "FA 18:1")
    # DCER
    expect_equal(format_lipid_name("DCER (18:1)"), "Dihydroceramide 18:1")
    # HCER
    expect_equal(format_lipid_name("HCER (18:1)"), "Hexosylceramide 18:1")
    # Gal-Gal-Cer
    expect_equal(format_lipid_name("Lactosylceramide (d34:2)"), "Gal-Gal-Cer 34:2 d")
    expect_equal(format_lipid_name("Gal-Gal-Cer (d34:2)"), "Gal-Gal-Cer 34:2 d")
    expect_equal(format_lipid_name("LCER (d34:2)"), "Gal-Gal-Cer 34:2 d")
    # GlcCer
    expect_equal(format_lipid_name("GlcCer (d34:2)"), "GlcCer 34:2 d")
    # Ceramide
    expect_equal(format_lipid_name("Ceramide (d34:2)"), "Ceramide 34:2 d")
    expect_equal(format_lipid_name("CER (d34:2)"), "Ceramide 34:2 d")
    expect_equal(format_lipid_name("Cer (d34:2)"), "Ceramide 34:2 d")
    expect_equal(format_lipid_name("CERAMIDE (d34:2)"), "Ceramide 34:2 d")
    # phospholipids
    expect_equal(format_lipid_name("PC (36:2)"), "PC 36:2")
    expect_equal(format_lipid_name("PC (O-36:2)"), "PC 36:2 O")
    expect_equal(format_lipid_name("PC (P-36:2)"), "PC 36:2 P")
    expect_equal(format_lipid_name("LPC (18:1)"), "LPC 18:1")
    expect_equal(format_lipid_name("LPC (18:1)"), "LPC 18:1")
    expect_equal(format_lipid_name("LPC (O-18:1)"), "LPC 18:1 O")
    expect_equal(format_lipid_name("LPC (P-18:1)"), "LPC 18:1 P")
    expect_equal(format_lipid_name("Plasmenyl-PC (36:2)"), "PC 36:2 p")
    expect_equal(format_lipid_name("Plasmenyl-LPC (36:2)"), "LPC 36:2 p")
    expect_equal(format_lipid_name("OxPC (36:2)"), "PC 36:2 ox")
    expect_equal(format_lipid_name("PE (36:2)"), "PE 36:2")
    expect_equal(format_lipid_name("PE (O-36:2)"), "PE 36:2 O")
    expect_equal(format_lipid_name("PE (P-36:2)"), "PE 36:2 P")
    expect_equal(format_lipid_name("LPE (18:1)"), "LPE 18:1")
    expect_equal(format_lipid_name("LPE (O-18:1)"), "LPE 18:1 O")
    expect_equal(format_lipid_name("LPE (P-18:1)"), "LPE 18:1 P")
    expect_equal(format_lipid_name("Plasmenyl-PE (36:2)"), "PE 36:2 p")
    expect_equal(format_lipid_name("Plasmenyl-LPE (36:2)"), "LPE 36:2 p")
    expect_equal(format_lipid_name("OxPE (36:2)"), "PE 36:2 ox")
    expect_equal(format_lipid_name("PA (36:2)"), "PA 36:2")
    expect_equal(format_lipid_name("PA (O-36:2)"), "PA 36:2 O")
    expect_equal(format_lipid_name("PA (P-36:2)"), "PA 36:2 P")
    expect_equal(format_lipid_name("LPA (18:1)"), "LPA 18:1")
    expect_equal(format_lipid_name("LPA (O-18:1)"), "LPA 18:1 O")
    expect_equal(format_lipid_name("LPA (P-18:1)"), "LPA 18:1 P")
    expect_equal(format_lipid_name("Plasmenyl-PA (36:2)"), "PA 36:2 p")
    expect_equal(format_lipid_name("Plasmenyl-LPA (36:2)"), "LPA 36:2 p")
    expect_equal(format_lipid_name("OxPA (36:2)"), "PA 36:2 ox")
    # SM
    expect_equal(format_lipid_name("SM (d36:3)"), "SM 36:3 d")
    expect_equal(format_lipid_name("SM (36:3)"), "SM 36:3 d")
    # TG
    expect_equal(format_lipid_name("TAG (48:5)"), "TG 48:5")
})

test_that("extract lipid characteristics", {
    expect_equal(nCarbons("PC 36:3"), 36)
    expect_equal(nCarbons("Cholesterol"), 0)

    expect_equal(nFattyAcyls("Cholesterol"), 0)
    expect_equal(nFattyAcyls("PC 36:3"), 2)
    expect_equal(nFattyAcyls("LPC 18:2"), 1)
    expect_equal(nFattyAcyls("TG 36:3"), 3)

    expect_equal(nDoubleBonds("TG 36:3"), 3)
    expect_equal(nDoubleBonds("PC 36:2"), 2)
    expect_equal(nDoubleBonds("Cholesterol"), 0)
})

test_that("summarize lipidome", {
    data(lipidome)
    classes = as.character(unique(lipidome$fdata$class))
    # acl
    lpd_acl = summarize_ACL(lipidome, "Annotation", "class")
    expect_s4_class(lpd_acl, "HTSet")
    expect_true(all(featureNames(lpd_acl) %in% c("Overall", classes)))
    expect_false("Cholesterol" %in% featureNames(lpd_acl))
    # eod
    lpd_eod = summarize_EOD(lipidome, "Annotation", "class")
    expect_s4_class(lpd_eod, "HTSet")
    expect_true(all(featureNames(lpd_eod) %in% c("Overall", classes)))
    expect_false("Cholesterol" %in% featureNames(lpd_eod))
    # odd
    lpd_odd = summarize_odd_chain(lipidome, "Annotation", "class")
    expect_s4_class(lpd_odd, "HTSet")
    expect_true(all(featureNames(lpd_odd) %in% c("Overall", classes)))
    # ratios
    lpd_ratios = summarize_lipid_ratios(lipidome, "Annotation", "class")
    expect_s4_class(lpd_ratios, "HTSet")
})

test_that("w/z to molecular weight", {
    adduct = wcmc_adduct()
    expect_is(adduct, "data.frame")
    expect_equal(ncol(adduct), 4)
    species = as.character(lipidome$fdata$Species)
    species = gsub("^(.+)_.*$", "\\1", species)
    species = gsub("^\\[(.+)\\].*$", "\\1", species)
    mz = as.character(lipidome$fdata$m.z)
    mz = as.numeric(gsub("^([0-9.]+)_.+$", "\\1", mz))
    molwt = mz2molwt(species, mz)
    expect_is(molwt, "numeric")
    expect_equal(length(molwt), nfeatures(lipidome))
    expect_equal(molwt[c(1,33,77)], lipidome$fdata$molwt[c(1,33,77)])
})
zhuchcn/HTSet documentation built on April 10, 2020, 4:51 p.m.