Nothing
library(mstherm)
Sys.unsetenv("R_TESTS")
context("TPP modeling")
# Find demo project files
control <- system.file("extdata", "demo_project/control.tsv", package="mstherm")
annots <- system.file("extdata", "demo_project/annots.tsv", package="mstherm")
test_that("demo files are available", {
expect_match(basename(control), "control.tsv")
expect_match(basename(annots), "annots.tsv")
})
# Build experiment
expt <- MSThermExperiment(control, annotations=annots)
test_that("MSThermExperiment creation", {
expect_is(expt, "MSThermExperiment")
})
# Perform typical normalization
spike_in <- "cRAP_ALBU_BOVIN"
norm.std <- normalize_to_std(expt, spike_in, plot=T)
prof <- c(50.0, 50.5, 47.5, 42.0, 37.0, 25.0, 16.0, 11.5, 10.5, 10.0)
norm.prf <- expt
norm.prf$samples$Control$replicates$C1 <- normalize_to_profile(
expt$samples$Control$replicates$C1,
prof,
plot=T
)
norm.prf$samples$Treated$replicates$T1 <- normalize_to_profile(
expt$samples$Treated$replicates$T1,
prof,
plot=F
)
test_that("MSThermExperiment normalization", {
expect_is(norm.std, "MSThermExperiment")
expect_is(norm.prf, "MSThermExperiment")
# intensities should be normalized
expect_equal(expt$samples$Control$replicates$C1$data$TMT10.128N[6],
2685251, tolerance=1)
expect_equal(norm.std$samples$Control$replicates$C1$data$TMT10.126[6],
2393289, tolerance=1)
expect_equal(norm.prf$samples$Control$replicates$C1$data$TMT10.126[6],
2378632, tolerance=1)
})
# Perform typical modeling
res0 <- model_experiment(norm.std, bootstrap=F, smooth=T, min_rep_psm=0, np=2, check_missing=F)
res1 <- model_experiment(norm.std, bootstrap=F, smooth=T, min_rep_psm=0, np=2, check_missing=T)
res2 <- model_experiment(norm.std, bootstrap=F, smooth=T, min_rep_psm=3, np=2)
res3 <- model_experiment(norm.std, bootstrap=T, smooth=F, min_rep_psm=3, np=2)
sgl0 <- res0$P38707
sgl1 <- res1$P38707
sgl2 <- res1$cRAP_ALBU_BOVIN
print(sgl1$series$C1$psm)
test_that("MSThermExperiment modeling", {
expect_is(res1, "MSThermResultSet")
expect_is(res2, "MSThermResultSet")
expect_is(res3, "MSThermResultSet")
expect_is(sgl0, "MSThermResult")
expect_is(sgl1, "MSThermResult")
expect_is(sgl2, "MSThermResult")
expect_equal(length(res1), 6)
expect_equal(length(res2), 5)
expect_equal(length(res3), 5)
# protein that should have modeled well
expect_match(sgl1$annotation, "Asparagine--tRNA ligase, cytoplasmic")
expect_true(sgl1$series$C1$is.fitted)
expect_equal(sgl1$series$C1$tm, 48.0, tolerance=0.1)
expect_equal(sgl1$series$C1$k, 842, tolerance=2)
expect_equal(sgl1$series$C1$plat, 0.06, tolerance=0.01)
expect_equal(sgl1$series$C1$slope, -0.090, tolerance=0.001)
expect_equal(sgl1$series$C1$r2, 0.99, tolerance=0.01)
expect_equal(sgl1$series$C1$rmsd, 0.03, tolerance=0.01)
expect_equal(sgl1$series$C1$inf, 0.16, tolerance=0.01)
# missing value check should remove one PSM
expect_equal(sgl0$series$C1$psm, 46, tolerance=0.01)
expect_equal(sgl1$series$C1$psm, 45, tolerance=0.01)
expect_equal(sgl1$series$T1$tm, 52.1, tolerance=0.1)
expect_equal(sgl1$series$T1$k, 988, tolerance=2)
expect_equal(sgl1$series$T1$plat, 0.02, tolerance=0.01)
expect_equal(sgl1$series$T1$slope, -0.090, tolerance=0.001)
expect_equal(sgl1$series$T1$r2, 0.99, tolerance=0.01)
expect_equal(sgl1$series$T1$rmsd, 0.04, tolerance=0.01)
expect_equal(sgl1$series$T1$inf, 0.20, tolerance=0.01)
expect_equal(sgl1$series$T1$psm, 92, tolerance=0.01)
# protein that should not have modeled at all
expect_false(sgl2$series$C1$is.fitted)
expect_equal(sgl2$series$C1$tm, NA)
})
# Perform secondary normalization
norm2 <- normalize_to_tm(norm.std, res2)
res2 <- model_experiment(norm2, bootstrap=F, smooth=T, min_rep_psm=3, np=2)
t1 <- norm.std$samples$Treated$replicates$T1$meta$temp[[5]]
t2 <- norm2$samples$Treated$replicates$T1$meta$temp[[5]]
test_that("MSThermExperiment secondary normalization", {
expect_is(norm2, "MSThermExperiment")
expect_equal( t1, 45.0, tolerance=0.1 )
expect_equal( t2, 44.3, tolerance=0.1 )
})
# Perform export
res3.df <- as.data.frame(res3)
test_that("MSThermResult export", {
expect_equal( nrow(res3.df), 5)
expect_equal( ncol(res3.df), 17)
})
# Fake tests (TODO: how to test these properly)?
write.sqlite(res3, "tmp.sqlite")
plot(res3)
summary(sgl1)
summary(res3)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.