context("Formula and adduct table functionality")
test_that("Database importer works", {
hmdb <- RHermes:::database_importer(template = "hmdb")
expect_equal(nrow(hmdb), 59)
norman <- RHermes:::database_importer(template = "norman")
expect_equal(nrow(norman), 106)
custom <- RHermes:::database_importer(
template = "custom", filename = system.file("extdata", "hmdb.csv",
package = "RHermes"))
expect_equal(nrow(custom), 59)
custom2 <- RHermes:::database_importer(
template = "custom", filename = system.file("extdata", "norman.xlsx",
package = "RHermes"))
expect_equal(nrow(custom2), 106)
skip_if_offline()
kegg <- RHermes:::database_importer(template = "kegg_p",
keggpath = "hsa00010")
expect_equal(nrow(kegg), 24)
})
test_that("Adduct tables generate successfully",{
ad <- RHermes:::adductTables(1,1)
expect_equal(nrow(ad[[1]]), 10)
expect_equal(nrow(ad[[2]]), 14)
expect_equal(ad[[2]][1,"adduct"], "M+H")
})
context("Ionic formulas")
test_that("Ionic formulas generate correctly", {
BiocParallel::register(BiocParallel::SerialParam())
hmdb <- RHermes:::database_importer(template = "hmdb")
ad <- RHermes:::adductTables(1,1)
colnames(hmdb)[c(2,3)] <- c("m","fms")
ionf <- RHermes:::IonicForm(hmdb[1:5,], ad[[2]])
expect_length(ionf, 2)
expect_equal(nrow(ionf[[1]]), 70)
})
context("Isotopic distribution calculation")
test_that("Isotopes generate nicely", {
BiocParallel::register(BiocParallel::SerialParam())
ppm <- 2
minmass <- 80
maxmass <- 1050
noiselevel <- 1e3
FWHM <- 120000
ion <- "+"
par <- ExpParam(ppm = ppm, res = FWHM, nthr = noiselevel,
minmz = minmass, maxmz = maxmass, ion = ion)
hmdb <- RHermes:::database_importer(template = "hmdb", minmass = 50,
maxmass = 100)
ad <- RHermes:::adductTables(1,1)
colnames(hmdb)[c(2,3)] <- c("m","fms")
test <- RHermes:::IonicForm(hmdb[1:5,], ad[[2]][1:5, ])
IC <- RHermes:::IsoCalc(test[[1]], FWHM = par@res, intTHR = 0.2, kTHR = 1)
expect_length(IC, 2)
expect_length(IC[[1]], 25)
expect_equal(nrow(IC[[2]]), 5)
})
context("Parallel backend selection")
test_that("setCluster works", {
RHermes:::setCluster()
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.