Nothing
context("trelliscope plotting functions")
test_that("trelliPlots check the correct inputs", {
testthat::skip_on_cran()
# Quick trelliscope function check for future changes
#file_coverage(c("~/Git_Repos/pmartR/R/as.trelliData.R",
# "~/Git_Repos/pmartR/R/summary_trelliData.R",
# "~/Git_Repos/pmartR/R/trelliPlots.R",
# "~/Git_Repos/pmartR/R/trelliPlots_seqData.R",
#),
#c("~/Git_Repos/pmartR/tests/testthat/test_as_trelliData_edata.R",
# "~/Git_Repos/pmartR/tests/testthat/test_as_trelliData.R",
# "~/Git_Repos/pmartR/tests/testthat/test_trelli_pvalue_filter.R",
# "~/Git_Repos/pmartR/tests/testthat/test_as_trelliData_summary.R",
# "~/Git_Repos/pmartR/tests/testthat/test_trelliPlots.R",
# "~/Git_Repos/pmartR/tests/testthat/test_trelliPlots_seqData.R")
#) %>% report()
# Load: lipid expression data-------------------------------------------------
load(system.file('testdata',
'metaboliteData.RData',
package = 'pmartR'
))
# Generate: trelliData objects for testing------------------------------------
# Add another condition to fdata
fdata$Condition <- c(rep("Mock", 3), rep("InfectionA", 4), rep("InfectionB", 5))
# Create the omics object
metabData <- as.metabData(
e_data = edata,
edata_cname = "Metabolite",
f_data = fdata,
fdata_cname = "SampleID",
e_meta = emeta,
emeta_cname = "MClass"
)
# Log transform and set main effects
metabData <- edata_transform(metabData, "log2")
metabData <- group_designation(metabData, "Condition")
# Filter for imd_anova and normalize
suppressMessages(metabData <- applyFilt(imdanova_filter(metabData), metabData, min_nonmiss_anova = 2))
metabData <- normalize_global(metabData, "all", "median", apply_norm = TRUE, backtransform = TRUE)
# Now run statistics
metabStat <- imd_anova(metabData, test_method = "combined")
metabStat_gtest <- imd_anova(metabData, test_method = "gtest")
# Create the four trelliData object testers
mtrelliData1 <- as.trelliData.edata(e_data = edata, edata_cname = "Metabolite", omics_type = "metabData")
mtrelliData2 <- as.trelliData(omicsData = metabData)
mtrelliData3 <- as.trelliData(statRes = metabStat)
mtrelliData4 <- as.trelliData(omicsData = metabData, statRes = metabStat)
mtrelliData5 <- as.trelliData(omicsData = metabData, statRes = metabStat_gtest)
ds_test <- data.frame(
p_value_anova = 0.7,
fold_change = NaN
)
expect_null(pmartR:::determine_significance(ds_test, 0.05, is_seq = FALSE))
# Load RNA-seq data for testing-----------------------------------------------
load(system.file('testdata',
'little_seqdata.RData',
package = 'pmartR'
))
emeta <- data.frame("ID_REF" = edata$ID_REF, "Classification" = paste("Class", rep(1:200, 6)))
seqData_omics <- as.seqData(e_data = edata, f_data = fdata, edata_cname = "ID_REF", fdata_cname = "Samples", e_meta = emeta, emeta_cname = "Classification")
seqData_omics <- group_designation(seqData_omics, main_effects = "Tissue")
seqData_omics <- applyFilt(filter_object = total_count_filter(omicsData = seqData_omics), omicsData = seqData_omics, min_count = 15)
seqData_stat <- diffexp_seq(omicsData = seqData_omics, method = "voom")
seqTrelli1 <- as.trelliData.edata(e_data = edata, edata_cname = "ID_REF", omics_type = "seqData")
seqTrelli2 <- as.trelliData(omicsData = seqData_omics)
seqTrelli3 <- as.trelliData(statRes = seqData_stat)
seqTrelli4 <- as.trelliData(omicsData = seqData_omics, statRes = seqData_stat)
# Test: trelli plotting functions---------------------------------------------
## trelli_abundance_boxplot---------------------------------------------------
# The object must be a trelliData object
expect_error(
trelli_abundance_boxplot(metabData),
"trelliData must be of the class trelliData."
)
# The object must be paneled with trelli_panel_by
expect_error(
trelli_abundance_boxplot(mtrelliData1),
"trelliData must be paneled with trelli_panel_by."
)
# The object must have omicsData
expect_error(
mtrelliData3 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(),
"trelliData must have omicsData for this plotting function."
)
# Only acceptable cognostics are allowed
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(cognostics = "test"),
"Unacceptable cognostic option included. Acceptable options are: count, mean abundance, median abundance, cv abundance, anova p-value, fold change"
)
# ggplot params should be strings
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(ggplot_params = 1),
"ggplot_params must be a string, vector of strings, or NULL."
)
# Interactive parameter should be a true or false
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(interactive = "Yes"),
"interactive must be a TRUE or FALSE."
)
# Include points should be a true or false
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(include_points = "Yes"),
"include_points must be a TRUE or FALSE."
)
# Test mode should be a true or false
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(test_mode = "test"),
"test_mode must be a TRUE or FALSE"
)
# Test example should be a non-zero integer
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(test_mode = TRUE, test_example = 0),
"test_example should be a non-zero integer."
)
# Test example also can't be more than the number of panels
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(test_mode = TRUE, test_example = -2000.3),
"test_example must be in the range of possibilities, of 1 to 80"
)
# Single plot must be true or false
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(single_plot = "test"),
"single_plot must be a TRUE or FALSE."
)
# Expect a message that median and cv abundance have been removed
suppressWarnings({
expect_message(
mtrelliData2 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_boxplot(test_mode = TRUE, test_example = 1, cognostics = c("median abundance", "cv abundance")),
"'median abundance' and 'cv abundance' are not permitted when groups have been specified."
)
})
# Expect a message that anova p-value and fold change have been removed
suppressWarnings({
expect_message(
mtrelliData4 %>% trelli_panel_by("MClass") %>% trelli_abundance_boxplot(test_mode = TRUE, test_example = 1, cognostics = c("anova p-value", "fold change")),
"Please panel by Metabolite to get 'anova p-value' and 'fold change' as cognostics in the trelliscope display."
)
})
# Blank biomolecules should be removed, and if no data, an error produced
blankExample <- mtrelliData1 %>% trelli_panel_by("Metabolite")
blankExample$trelliData.omics <- blankExample$trelliData.omics[1, ]
blankExample$trelliData.omics$Metabolite <- ""
expect_error(
suppressMessages(blankExample %>% trelli_abundance_boxplot()),
"No data to build trelliscope with."
)
# Test mode for windows should pass
expect_equal(
.getDownloadsFolder(.test_mode = TRUE),
file.path(dirname("~"), "Downloads")
)
# Expect a single plot object to be made
abun_boxplot <- mtrelliData1 %>%
trelli_panel_by("Metabolite") %>%
trelli_abundance_boxplot(single_plot = TRUE)
expect_true(inherits(abun_boxplot, "ggplot"))
# Generate a tests folder
testFolder <- file.path(tempdir(), "/Trelli_Tests")
# If the folder exists, remove it
if (file.exists(testFolder)) {
unlink(testFolder, recursive = TRUE, force = TRUE)
}
# Build a trelliscope that tests multiple functions
suppressWarnings(mtrelliData4 %>% trelli_panel_by("Metabolite") %>%
trelli_abundance_boxplot(
path = file.path(testFolder, "BoxAbundanceTest1"),
test_mode = TRUE,
test_example = 2,
ggplot_params = "xlab('')",
interactive = TRUE
))
expect_true(file.exists(file.path(testFolder, "BoxAbundanceTest1")))
# Build a trelliscope that tries to call stats cognostics without stats data and
# has one plot
singlePlot <- mtrelliData1 %>% trelli_panel_by("Metabolite")
singlePlot$trelliData.omics <- singlePlot$trelliData.omics[1, ]
suppressWarnings(singlePlot %>%
trelli_abundance_boxplot(path = file.path(testFolder, "BoxAbundanceTest2"),
cognostics = "anova p-value")
)
expect_true(file.exists(file.path(testFolder, "BoxAbundanceTest2")))
# Build a trelliscope that tries to call stats cognostics without cognostics data
suppressWarnings(mtrelliData1 %>% trelli_panel_by("Metabolite") %>%
trelli_abundance_boxplot(
path = file.path(testFolder, "BoxAbundanceTest3"),
test_mode = TRUE,
test_example = 2,
cognostics = NULL
))
expect_true(file.exists(file.path(testFolder, "BoxAbundanceTest3")))
# Build a trelliscope that panels by MClass
suppressWarnings(mtrelliData5 %>% trelli_panel_by("MClass") %>%
trelli_abundance_boxplot(
path = file.path(testFolder, "BoxAbundanceTest4"),
test_mode = TRUE,
test_example = 1,
cognostics = "count"
))
expect_true(file.exists(file.path(testFolder, "BoxAbundanceTest4")))
# Build a trelliscope that returns anova p-value and fold change only
suppressWarnings(mtrelliData5 %>% trelli_panel_by("Metabolite") %>%
trelli_abundance_boxplot(
path = file.path(testFolder, "BoxAbundanceTest5"),
test_mode = TRUE,
test_example = 1,
cognostics = c("anova p-value", "fold change")
))
expect_true(file.exists(file.path(testFolder, "BoxAbundanceTest5")))
# Build a trelliscope that returns anova p-value, fold change, and count
suppressWarnings(mtrelliData5 %>% trelli_panel_by("Metabolite") %>%
trelli_abundance_boxplot(
path = file.path(testFolder, "BoxAbundanceTest6"),
test_mode = TRUE,
test_example = 1,
cognostics = c("count", "anova p-value", "fold change")
))
expect_true(file.exists(file.path(testFolder, "BoxAbundanceTest6")))
# Seq data is not allowed for this dataset
expect_error(
seqTrelli1 %>% trelli_panel_by("ID_REF") %>% trelli_abundance_boxplot(),
"seqData is not permitted for this plotting function. Use trelli_rnaseq_boxplot instead."
)
## trelli_abundance_histogram-------------------------------------------------
# trelliData must be grouped by edata_cname
expect_error(
mtrelliData2 %>% trelli_panel_by("SampleID") %>% trelli_abundance_histogram(),
"trelliData must be grouped by edata_cname."
)
# Expect a single plot object to be made
abun_histplot <- mtrelliData1 %>%
trelli_panel_by("Metabolite") %>%
trelli_abundance_histogram(single_plot = TRUE)
expect_true(inherits(abun_histplot, "ggplot"))
# Test that trelliscope builds when passed cognostic doesn't exist
suppressWarnings(mtrelliData1 %>% trelli_panel_by("Metabolite") %>%
trelli_abundance_histogram(path = file.path(testFolder, "HistAbundanceTest1"),
test_mode = TRUE,
test_example = 2,
ggplot_params = "xlab('')",
cognostics = c("sample count", "cv abundance"),
interactive = TRUE)
)
expect_true(file.exists(file.path(testFolder, "HistAbundanceTest1")))
# Test that trelliscope builds even with missing cognostics and a single omic
suppressWarnings(singlePlot %>%
trelli_abundance_histogram(
path = file.path(testFolder, "HistAbundanceTest2"),
cognostics = NULL
))
expect_true(file.exists(file.path(testFolder, "HistAbundanceTest2")))
# Test that trelliscope builds with all cognostics
suppressWarnings(mtrelliData4 %>% trelli_panel_by("Metabolite") %>%
trelli_abundance_histogram(
path = file.path(testFolder, "HistAbundanceTest3"),
test_mode = TRUE,
test_example = 3
))
expect_true(file.exists(file.path(testFolder, "HistAbundanceTest3")))
# Seq data is not allowed for this dataset
expect_error(
seqTrelli1 %>% trelli_panel_by("ID_REF") %>% trelli_abundance_histogram(),
"seqData is not permitted for this plotting function. Use trelli_rnaseq_histogram instead."
)
## trelli_abundance_heatmap---------------------------------------------------
# Test that the data has been grouped by an emeta column
expect_error(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_abundance_heatmap(),
"trelliData must be paneled_by an e_meta column."
)
# Return a single interactive plot
abun_hmplot <- mtrelliData4 %>%
trelli_panel_by("MClass") %>%
trelli_abundance_heatmap(single_plot = TRUE, ggplot_params = "xlab('')", interactive = TRUE)
expect_true(inherits(abun_hmplot, "plotly"))
# Test that trelliscope builds with all cognostics
suppressWarnings(mtrelliData4 %>% trelli_panel_by("MClass") %>%
trelli_abundance_heatmap(
path = file.path(testFolder, "HmAbundanceTest1"),
test_mode = TRUE,
test_example = 2
))
expect_true(file.exists(file.path(testFolder, "HmAbundanceTest1")))
# Test that the trelliscope still builds without group data and only one plot
nogroup <- mtrelliData4 %>% trelli_panel_by("MClass")
attributes(nogroup$omicsData)$group_DF <- NULL
nogroup$trelliData.omics <- nogroup$trelliData.omics[1, ]
suppressWarnings(nogroup %>%
trelli_abundance_heatmap(path = file.path(testFolder, "HmAbundanceTest2")))
expect_true(file.exists(file.path(testFolder, "HmAbundanceTest2")))
# Seq data is not allowed for this dataset
expect_error(
seqTrelli4 %>% trelli_panel_by("Classification") %>% trelli_abundance_heatmap(),
"seqData is not permitted for this plotting function. Use trelli_rnaseq_heatmap instead."
)
## trelli_missingness_bar-----------------------------------------------------
# Trigger proportion check warning with something outrageous
expect_error(
mtrelliData3 %>% trelli_panel_by("Metabolite") %>% trelli_missingness_bar(proportion = "cantelope"),
"proportion must be a TRUE or FALSE."
)
# Expect message if no p-values are provided
expect_message(
mtrelliData1 %>% trelli_panel_by("Metabolite") %>% trelli_missingness_bar(cognostics = "g-test p-value", test_mode = T, test_example = 1)
)
# Expect message if paneled by class
expect_message(
mtrelliData5 %>% trelli_panel_by("MClass") %>% trelli_missingness_bar(cognostics = "g-test p-value", test_mode = T, test_example = 1),
"'g-test p-value' can only be included if the data has been paneled by the biomolecule column 'edata_cname'"
)
# Test trelliscope builds with all cognostics
suppressWarnings(mtrelliData1 %>% trelli_panel_by("Metabolite") %>%
trelli_missingness_bar(path = file.path(testFolder, "MissingTest1"),
ggplot_params = "ylab('')",
test_mode = TRUE,
test_example = 2,
cognostics = "observed proportion",
interactive = TRUE)
)
expect_true(file.exists(file.path(testFolder, "MissingTest1")))
# Test trelliscope with just a statRes object
suppressWarnings(mtrelliData3 %>% trelli_panel_by("Metabolite") %>%
trelli_missingness_bar(path = file.path(testFolder, "MissingTest2"),
test_mode = TRUE,
test_example = 2,
proportion = FALSE,
cognostics = c("g-test p-value", "total count"))
)
expect_true(file.exists(file.path(testFolder, "MissingTest2")))
# Test trelliscope with paneling by a class
suppressWarnings(mtrelliData4 %>% trelli_panel_by("MClass") %>%
trelli_missingness_bar(path = file.path(testFolder, "MissingTest3"),
test_mode = TRUE,
test_example = 2,
proportion = FALSE,
cognostics = "observed count")
)
expect_true(file.exists(file.path(testFolder, "MissingTest3")))
# Test trelliscope with just a statRes object
suppressWarnings(mtrelliData4 %>% trelli_panel_by("Metabolite") %>%
trelli_missingness_bar(path = file.path(testFolder, "MissingTest4"),
test_mode = TRUE,
test_example = 2,
proportion = FALSE,
cognostics = c("g-test p-value"))
)
expect_true(file.exists(file.path(testFolder, "MissingTest4")))
# Build a single plot
miss_plot <- singlePlot %>% trelli_missingness_bar(single_plot = TRUE)
expect_true(inherits(miss_plot, "ggplot"))
# Seq data is not allowed for this dataset
expect_error(
seqTrelli1 %>% trelli_panel_by("ID_REF") %>% trelli_missingness_bar(),
"seqData is not permitted for this plotting function. Use trelli_rnaseq_nonzero_bar instead."
)
## trelli_foldchange_bar------------------------------------------------------
# statRes data is required for this function
expect_error(
mtrelliData2 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_bar(),
"trelliData must have statRes for this plotting function."
)
# Requested test example must not be out of the range of possibilities
expect_error(
mtrelliData3 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_bar(test_mode = TRUE, test_example = -2000.3),
"test_example must be in the range of possibilities, of 1 to 65"
)
# trelliData must be paneled_by edata_cname
expect_error(
mtrelliData4 %>% trelli_panel_by("SampleID") %>% trelli_foldchange_bar(),
"trelliData must be grouped by edata_cname."
)
# Test that the p-value threshold is a numeric
expect_error(
mtrelliData4 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_bar(p_value_test = "anova", p_value_thresh = "test"),
"p_value_thresh must be a numeric."
)
# Test that the p-value threshold is a number between 0 and 1
expect_error(
mtrelliData4 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_bar(p_value_test = "anova", p_value_thresh = -0.05),
"p_value_thresh must be between 0 and 1."
)
expect_error(
mtrelliData4 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_bar(p_value_test = "anova", p_value_thresh = 5),
"p_value_thresh must be between 0 and 1."
)
# Generate a trelliscope without proportions and a single plot
singleStatPlot <- mtrelliData4 %>% trelli_panel_by("Metabolite")
singleStatPlot$trelliData.omics <- singleStatPlot$trelliData.omics[1, ]
singleStatPlot$trelliData.stat <- singleStatPlot$trelliData.stat[singleStatPlot$trelliData.stat$Metabolite == singleStatPlot$trelliData.omics$Metabolite, ]
suppressWarnings(singleStatPlot %>%
trelli_foldchange_bar(path = file.path(testFolder, "barFoldChangeTest1"),
ggplot_params = "ylab('')",
cognostics = "p-value",
interactive = TRUE)
)
expect_true(file.exists(file.path(testFolder, "barFoldChangeTest1")))
# Generate a trelliscope with proportions and a gtest
suppressWarnings(mtrelliData3 %>% trelli_panel_by("Metabolite") %>%
trelli_foldchange_bar(path = file.path(testFolder, "barFoldChangeTest2"),
ggplot_params = "ylab('')",
test_mode = TRUE,
test_example = 2,
cognostics = "fold change",
p_value_thresh = 0,
interactive = TRUE)
)
expect_true(file.exists(file.path(testFolder, "barFoldChangeTest2")))
# Generate a trelliscope with proportions
suppressWarnings(mtrelliData3 %>% trelli_panel_by("Metabolite") %>%
trelli_foldchange_bar(path = file.path(testFolder, "barFoldChangeTest3"),
test_mode = TRUE,
test_example = 2)
)
expect_true(file.exists(file.path(testFolder, "barFoldChangeTest3")))
# Generate a trelliscope with proportions and no p-values
fc_barplot <- mtrelliData3 %>% trelli_panel_by("Metabolite") %>%
trelli_foldchange_bar(test_mode = TRUE,
test_example = 2,
p_value_test = "gtest",
p_value_thresh = 0,
single_plot = TRUE)
expect_true(inherits(fc_barplot, "ggplot"))
# Generate a trelliscope with seq data
suppressWarnings(seqTrelli3 %>% trelli_panel_by("ID_REF") %>%
trelli_foldchange_bar(path = file.path(testFolder, "barFoldChangeTest4"),
test_mode = TRUE,
test_example = 2,
cognostics = "p-value")
)
expect_true(file.exists(file.path(testFolder, "barFoldChangeTest4")))
## trelli_foldchange_boxplot--------------------------------------------------
# Data must be grouped by an e_meta column
expect_error(
mtrelliData4 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_boxplot(),
"trelliData must be paneled_by an e_meta column."
)
# Include points should be a true or false
expect_error(
mtrelliData4 %>% trelli_panel_by("MClass") %>% trelli_foldchange_boxplot(include_points = "FALSE"),
"include_points must be a TRUE or FALSE."
)
# Run a standard trelli foldchange boxplot with change ggplot parameters
suppressWarnings(mtrelliData4 %>% trelli_panel_by("MClass") %>%
trelli_foldchange_boxplot(path = file.path(testFolder, "boxFoldChangeTest1"),
ggplot_params = "xlab('')",
test_mode = TRUE,
test_example = 2,
interactive = TRUE)
)
expect_true(file.exists(file.path(testFolder, "boxFoldChangeTest1")))
# Create a second trelliscope from the single data with no include_points and p_value in the cognostics
singleEmetaPlot <- mtrelliData4 %>% trelli_panel_by("MClass")
singleEmetaPlot$trelliData.omics <- singleEmetaPlot$trelliData.omics[singleEmetaPlot$trelliData.omics$MClass == "MClass5", ]
singleEmetaPlot$trelliData.stat <- singleEmetaPlot$trelliData.stat[singleEmetaPlot$trelliData.stat$MClass == "MClass5", ]
suppressWarnings(singleEmetaPlot %>%
trelli_foldchange_boxplot(path = file.path(testFolder, "boxFoldChangeTest2"),
p_value_thresh = 0,
include_points = TRUE)
)
expect_true(file.exists(file.path(testFolder, "boxFoldChangeTest2")))
# Add RNA-seq example
suppressWarnings(seqTrelli4 %>% trelli_panel_by("Classification") %>%
trelli_foldchange_boxplot(path = file.path(testFolder, "boxFoldChangeTest3"),
test_mode = T,
test_example = 1)
)
expect_true(file.exists(file.path(testFolder, "boxFoldChangeTest3")))
# Add RNA-seq example wit no p-value threshold
suppressWarnings(seqTrelli4 %>% trelli_panel_by("Classification") %>%
trelli_foldchange_boxplot(path = file.path(testFolder, "boxFoldChangeTest4"),
test_mode = T,
test_example = 1,
p_value_thresh = 0)
)
expect_true(file.exists(file.path(testFolder, "boxFoldChangeTest4")))
# Generate a single plot
fc_boxplot <- singleEmetaPlot %>% trelli_foldchange_boxplot(single_plot = TRUE)
expect_true(inherits(fc_boxplot, "ggplot"))
## trelli_foldchange_volcano--------------------------------------------------
# Data must be grouped by an e_meta column
expect_error(
mtrelliData4 %>% trelli_panel_by("MClass") %>% trelli_foldchange_volcano(comparison = "Tigers"),
"is not an acceptable comparison"
)
# Data must be grouped by an e_meta column
expect_error(
mtrelliData4 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_volcano(comparison = "Mock_vs_InfectionA"),
"trelliData must be paneled_by an e_meta column."
)
# Generate a volcano trelliscope with a modified ggplot parameter
suppressWarnings(mtrelliData4 %>% trelli_panel_by("MClass") %>%
trelli_foldchange_volcano(path = file.path(testFolder, "volFoldChangeTest1"),
comparison = "Mock_vs_InfectionA",
ggplot_params = "xlab('')",
test_mode = TRUE,
test_example = 2,
interactive = TRUE)
)
expect_true(file.exists(file.path(testFolder, "volFoldChangeTest1")))
# Generate a single plot volcano trelliscope with no p_value
suppressWarnings(singleEmetaPlot %>%
trelli_foldchange_volcano(path = file.path(testFolder, "volFoldChangeTest2"), comparison = "Mock_vs_InfectionA",
p_value_thresh = 0)
)
expect_true(file.exists(file.path(testFolder, "volFoldChangeTest2")))
# Add RNA-seq example
suppressWarnings(seqTrelli4 %>% trelli_panel_by("Classification") %>%
trelli_foldchange_volcano(path = file.path(testFolder, "volFoldChangeTest3"),
test_mode = T,
test_example = 1)
)
expect_true(file.exists(file.path(testFolder, "volFoldChangeTest3")))
# Add RNA-seq example
suppressWarnings(seqTrelli4 %>% trelli_panel_by("Classification") %>%
trelli_foldchange_volcano(path = file.path(testFolder, "volFoldChangeTest4"),
test_mode = T,
test_example = 1,
p_value_thresh = 0)
)
expect_true(file.exists(file.path(testFolder, "volFoldChangeTest4")))
# Test the creation of a single plot
fc_volcano <- singleEmetaPlot %>% trelli_foldchange_volcano(single_plot = TRUE, p_value_test = NULL, comparison = "Mock_vs_InfectionA")
expect_true(inherits(fc_volcano, "ggplot"))
# Expect error if trying to return a single plot without selecting a comparison
expect_error(
mtrelliData4 %>% trelli_panel_by("MClass") %>% trelli_foldchange_volcano(single_plot = T),
"single_plot will only work if 1 comparison has been selected."
)
# Expect error if comparison is not a string
expect_error(
mtrelliData4 %>% trelli_panel_by("MClass") %>% trelli_foldchange_volcano(single_plot = T, comparison = 2),
"comparison must be a string."
)
## trelli_foldchange_heatmap--------------------------------------------------
# Data must be grouped by an e_meta column
expect_error(
mtrelliData4 %>% trelli_panel_by("Metabolite") %>% trelli_foldchange_heatmap(),
"trelliData must be paneled_by an e_meta column."
)
# Generate the fold change heatmap trelliscope with a modified ggplot parameter
suppressWarnings(mtrelliData4 %>% trelli_panel_by("MClass") %>%
trelli_foldchange_heatmap(
path = file.path(testFolder, "hmFoldChangeTest1"),
ggplot_params = "xlab('')",
test_mode = TRUE,
test_example = 2,
interactive = TRUE
))
expect_true(file.exists(file.path(testFolder, "hmFoldChangeTest1")))
# Generate the fold change heatmap trelliscope with smaller dataset
suppressWarnings(singleEmetaPlot %>%
trelli_foldchange_heatmap(path = file.path(testFolder, "hmFoldChangeTest2"), ))
expect_true(file.exists(file.path(testFolder, "hmFoldChangeTest2")))
# Add RNA-seq example
suppressWarnings(seqTrelli4 %>% trelli_panel_by("Classification") %>%
trelli_foldchange_heatmap(path = file.path(testFolder, "hmFoldChangeTest3"),
test_mode = T,
p_value_thresh = 0,
test_example = 1)
)
expect_true(file.exists(file.path(testFolder, "hmFoldChangeTest3")))
# Generate a single plot
fc_heatmap <- singleEmetaPlot %>% trelli_foldchange_heatmap(single_plot = TRUE)
expect_true(inherits(fc_heatmap, "ggplot"))
})
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.