context("Chemical summary tests")
path_to_tox <- system.file("extdata", package = "toxEval")
file_name <- "OWC_data_fromSup.xlsx"
full_path <- file.path(path_to_tox, file_name)
chem_data <- readxl::read_excel(full_path, sheet = "Data")
chem_info <- readxl::read_excel(full_path, sheet = "Chemicals")
chem_site <- readxl::read_excel(full_path, sheet = "Sites")
exclusion <- readxl::read_excel(full_path, sheet = "Exclude")
ACC <- get_ACC(chem_info$CAS)
ACC <- remove_flags(ACC)
cleaned_ep <- clean_endPoint_info(end_point_info)
filtered_ep <- filter_groups(cleaned_ep)
tox_list <- create_toxEval(full_path)
chemical_summary1 <- get_chemical_summary(
tox_list = NULL,
ACC,
filtered_ep,
chem_data,
chem_site,
chem_info,
exclusion
)
chemical_summary <- get_chemical_summary(tox_list, ACC, filtered_ep)
test_that("Calculating tox_list", {
expect_type(tox_list, "list")
expect_length(tox_list, 5)
expect_equivalent(chemical_summary, chemical_summary1)
expect_true(all(c("SiteID", "Sample Date", "CAS", "Value") %in% names(tox_list$chem_data)))
expect_true(all(c("Class", "CAS") %in% names(tox_list$chem_info)))
expect_true(all(c("SiteID", "dec_lat", "dec_lon", "Short Name") %in% names(tox_list$chem_site)))
})
test_that("Calculating summaries", {
testthat::skip_on_cran()
expect_true(all(names(chemical_summary) %in% c(
"CAS", "chnm", "endPoint", "site", "date",
"EAR", "shortName", "Class", "Bio_category"
)))
expect_gte(min(chemical_summary$EAR), 0)
expect_true(all(!is.na(chemical_summary$EAR)))
expect_true(all(chemical_summary$endPoint %in% ACC$endPoint))
})
test_that("Plotting summaries", {
testthat::skip_on_cran()
bioPlot <- plot_tox_boxplots(chemical_summary,
category = "Biological"
)
expect_true(all(names(bioPlot$data) %in% c("site", "category", "meanEAR")))
expect_equal(bioPlot$layers[[2]]$geom_params$outlier.shape, 19)
expect_equal(bioPlot$layers[[2]]$aes_params$fill, "steelblue")
classPlot <- plot_tox_boxplots(chemical_summary,
category = "Chemical Class"
)
expect_true(all(names(classPlot$data) %in% c("site", "category", "meanEAR")))
expect_equal(classPlot$layers[[2]]$geom_params$outlier.shape, 19)
expect_equal(classPlot$layers[[2]]$aes_params$fill, "steelblue")
chemPlot <- suppressWarnings(plot_tox_boxplots(chemical_summary,
category = "Chemical"
))
expect_true(all(names(chemPlot$data) %in% c("site", "chnm", "Class", "meanEAR")))
expect_equal(chemPlot$layers[[1]]$geom_params$outlier.shape, 19)
expect_true(is.null(chemPlot$layers[[1]]$aes_params$fill))
})
test_that("Plotting heatmap summaries", {
testthat::skip_on_cran()
bioHeatPlot <- plot_tox_heatmap(chemical_summary, chem_site,
category = "Biological"
)
expect_true(all(names(bioHeatPlot$data) %in% c(
"site", "category", "meanEAR",
"site_grouping", "Short Name"
)))
classHeatPlot <- plot_tox_heatmap(chemical_summary, chem_site,
category = "Chemical Class"
)
expect_true(all(names(classHeatPlot$data) %in% c(
"site", "category", "meanEAR",
"site_grouping", "Short Name"
)))
chemHeatPlot <- plot_tox_heatmap(chemical_summary, chem_site,
category = "Chemical"
)
expect_true(all(names(chemHeatPlot$data) %in% c(
"site", "chnm", "Class", "meanEAR",
"site_grouping", "Short Name"
)))
})
test_that("Plotting stacked summaries", {
testthat::skip_on_cran()
bioStackPlot <- plot_tox_stacks(chemical_summary, chem_site,
category = "Biological"
)
expect_true(all(names(bioStackPlot$data) %in% c(
"site", "category", "meanEAR",
"site_grouping", "Short Name"
)))
classStackPlot <- plot_tox_stacks(chemical_summary, chem_site,
category = "Chemical Class"
)
expect_true(all(names(classStackPlot$data) %in% c(
"site", "category", "meanEAR",
"site_grouping", "Short Name"
)))
chemStackPlot <- plot_tox_stacks(chemical_summary, chem_site,
category = "Chemical", include_legend = FALSE
)
expect_true(all(names(chemStackPlot$data) %in% c(
"site", "category", "meanEAR",
"site_grouping", "Short Name", "Class"
)))
})
test_that("Plotting endpoints", {
testthat::skip_on_cran()
bioStackPlot <- suppressWarnings(plot_tox_endpoints(chemical_summary,
category = "Biological",
filterBy = "Cell Cycle"
))
expect_true(all(names(bioStackPlot$data) %in% c(
"site", "category", "endPoint",
"meanEAR"
)))
classStackPlot <- suppressWarnings(plot_tox_endpoints(chemical_summary,
category = "Chemical Class", filterBy = "PAHs"
))
expect_true(all(names(classStackPlot$data) %in% c(
"site", "category", "endPoint",
"meanEAR"
)))
chemStackPlot <- suppressWarnings(plot_tox_endpoints(chemical_summary, category = "Chemical", filterBy = "Atrazine"))
expect_true(all(names(chemStackPlot$data) %in% c(
"site", "category", "endPoint",
"meanEAR"
)))
})
test_that("Table functions", {
testthat::skip_on_cran()
statStuff <- rank_sites(chemical_summary, "Biological", hit_threshold = 0.1, mean_logic = FALSE)
expect_true(all(c(
"site", "DNA Binding maxEAR",
"DNA Binding freq", "Nuclear Receptor maxEAR",
"Nuclear Receptor freq", "Esterase maxEAR",
"Cell Cycle freq", "Cell Cycle maxEAR"
) %in% names(statStuff)))
expect_equal(round(statStuff[["DNA Binding maxEAR"]][which(statStuff[["site"]] == "Raisin")], 4), 0.0278)
expect_equal(round(statStuff[["DNA Binding freq"]][which(statStuff[["site"]] == "Raisin")], 4), 0)
groupStuff <- hits_summary(chemical_summary, "Biological", hit_threshold = 1)
expect_true(all(unique(groupStuff$site) %in% chem_site$`Short Name`))
expect_true(all(c("site", "category", "Samples with hits", "Number of Samples") %in% names(groupStuff)))
expect_equal(groupStuff[["Samples with hits"]][which(groupStuff[["site"]] == "Raisin" &
groupStuff[["category"]] == "Nuclear Receptor")], 27)
expect_equal(groupStuff[["Number of Samples"]][which(groupStuff[["site"]] == "Raisin" &
groupStuff[["category"]] == "DNA Binding")], 44)
})
test_that("Chem plotting functions", {
testthat::skip_on_cran()
graphData <- graph_chem_data(chemical_summary)
expect_true(all(names(graphData) %in% c("site", "chnm", "Class", "meanEAR")))
expect_equal(levels(graphData$Class)[1], "Herbicides")
expect_equal(levels(graphData$Class)[length(levels(graphData$Class))], "Fuels")
expect_equal(signif(graphData[["meanEAR"]][graphData[["site"]] == "USGS-04024000" &
graphData[["chnm"]] == "Naphthalene"], 4), 0.002537)
expect_equal(signif(graphData[["meanEAR"]][graphData[["site"]] == "USGS-04024000" &
graphData[["chnm"]] == "Cumene"], 4), 6.665e-06)
})
test_that("Map stuff functions", {
testthat::skip_on_cran()
mapDataList <- map_tox_data(chemical_summary,
chem_site = chem_site,
category = "Biological"
)
expect_type(mapDataList, "list")
expect_equal(length(mapDataList), 2)
map_df <- mapDataList[["mapData"]]
expect_equal(signif(map_df[["meanMax"]][map_df[["Short Name"]] == "StLouis"], 4), 2.207)
expect_equal(map_df[["count"]][map_df[["Short Name"]] == "StLouis"], 31)
expect_equal(map_df[["sizes"]][map_df[["Short Name"]] == "StLouis"], 7.2)
# Map data:
map_data <- make_tox_map(chemical_summary, chem_site, "Biological")
expect_type(map_data, "list")
expect_equal(length(map_data), 8)
expect_true(all(class(map_data) %in% c("leaflet", "htmlwidget")))
})
test_that("Table endpoint hits", {
testthat::skip_on_cran()
bt <- endpoint_hits_DT(chemical_summary, category = "Biological")
expect_type(bt, "list")
expect_true(all(names(bt$x$data) %in% c(
"endPoint", "Nuclear Receptor", "CYP",
"Cell Cycle", "Steroid Hormone", "Esterase"
)))
expect_true(all(class(bt) %in% c("datatables", "htmlwidget")))
bt_df <- endpoint_hits(chemical_summary, category = "Biological")
expect_true(all(names(bt_df) %in% c(
"endPoint", "Nuclear Receptor", "CYP",
"Cell Cycle", "Esterase", "Steroid Hormone"
)))
expect_equal(bt_df[["Nuclear Receptor"]][bt_df[["endPoint"]] == "OT_ER_ERaERb_1440"], 3)
expect_true(is.na(bt_df[["Esterase"]][bt_df[["endPoint"]] == "OT_ER_ERbERb_0480"]))
expect_error(endpoint_hits_DT(chemical_summary, category = "Class"))
ct <- endpoint_hits_DT(chemical_summary, category = "Chemical Class")
expect_type(ct, "list")
expect_true(all(names(ct$x$data) %in% c(
"endPoint", "Antioxidants", "PAHs",
"Detergent Metabolites", "Herbicides",
"Plasticizers"
)))
cht <- endpoint_hits_DT(chemical_summary, category = "Chemical")
expect_type(cht, "list")
expect_true(all(names(cht$x$data) %in% c(
"endPoint", "Bisphenol A", "Metolachlor",
"4-Nonylphenol, branched", "Pyrene",
"Phenanthrene", "Atrazine"
)))
})
test_that("hits_by_groupings_DT", {
testthat::skip_on_cran()
bt <- hits_by_groupings_DT(chemical_summary, category = "Biological")
expect_type(bt, "list")
expect_true(all(class(bt) %in% c("datatables", "htmlwidget")))
expect_true("nSites" %in% names(bt$x$data))
bt_df <- hits_by_groupings(chemical_summary, category = "Chemical Class")
expect_true(all(names(bt_df) %in% c(
"Nuclear Receptor", "DNA Binding", "Cell Cycle", "Esterase",
"Steroid Hormone", "Channel 2", "CYP", "Transporter"
)))
expect_true(all(c("Detergent Metabolites", "Antioxidants", "Herbicides") %in% rownames(bt_df)))
expect_equal(bt_df[["Nuclear Receptor"]], c(8, 10, 16, 2, rep(0, 10)))
expect_error(hits_by_groupings_DT(chemical_summary, category = "Class"))
ct <- hits_by_groupings_DT(chemical_summary, category = "Chemical Class")
expect_type(ct, "list")
expect_true(all(class(ct) %in% c("datatables", "htmlwidget")))
expect_true(all(names(ct$x$data) %in% c(
" ", "Nuclear Receptor", "DNA Binding", "Cell Cycle",
"Esterase", "CYP", "Steroid Hormone",
"Transporter", "Channel 2"
)))
cht <- hits_by_groupings_DT(chemical_summary, category = "Chemical")
expect_type(cht, "list")
expect_true(all(names(cht$x$data) %in% c(
" ", "Nuclear Receptor", "DNA Binding", "Cell Cycle",
"CYP", "Esterase", "Steroid Hormone",
"Channel 2", "Transporter"
)))
})
test_that("hits_summary_DT", {
testthat::skip_on_cran()
bt <- hits_summary_DT(chemical_summary, category = "Biological")
expect_type(bt, "list")
expect_true(all(class(bt) %in% c("datatables", "htmlwidget")))
expect_true(all(c("site", "category", "Samples with hits", "Number of Samples") %in% names(bt$x$data)))
expect_error(hits_summary_DT(chemical_summary, category = "Class"))
ct <- hits_summary_DT(chemical_summary, category = "Chemical Class")
expect_type(ct, "list")
expect_true(all(names(ct$x$data) %in% c("site", "category", "Samples with hits", "Number of Samples")))
cht <- hits_summary_DT(chemical_summary, category = "Chemical")
expect_type(cht, "list")
expect_true(all(names(cht$x$data) %in% c("site", "category", "Samples with hits", "Number of Samples")))
})
test_that("rank_sites_DT", {
testthat::skip_on_cran()
bt <- rank_sites_DT(chemical_summary, category = "Biological")
expect_type(bt, "list")
expect_true("site" %in% names(bt$x$data))
expect_error(rank_sites_DT(chemical_summary, category = "Class"))
ct <- rank_sites_DT(chemical_summary, category = "Chemical Class")
expect_type(ct, "list")
expect_true(all(c(
"site", "Antioxidants maxEAR", "Antioxidants freq",
"Herbicides maxEAR", "Herbicides freq",
"Detergent Metabolites maxEAR", "Detergent Metabolites freq"
) %in% names(ct$x$data)))
cht <- rank_sites_DT(chemical_summary, category = "Chemical")
expect_type(cht, "list")
expect_true(all(c(
"site", "Bisphenol A maxEAR", "Bisphenol A freq",
"4-Nonylphenol, branched maxEAR"
) %in% names(cht$x$data)))
})
test_that("Calculating completness", {
testthat::skip_on_cran()
graphData <- graph_chem_data(chemical_summary)
complete_df <- toxEval:::get_complete_set(chemical_summary, graphData, tox_list$chem_site)
expect_equal(length(unique(complete_df$chnm)), length(levels(chemical_summary$chnm)))
expect_equal(nrow(complete_df), length(levels(chemical_summary$chnm)) * length(unique(tox_list$chem_site$`Short Name`)))
graphData2 <- tox_boxplot_data(chemical_summary, "Biological")
complete_df_cat <- toxEval:::get_complete_set_category(chemical_summary, graphData2, tox_list$chem_site, category = "Biological")
expect_equal(nrow(complete_df_cat), 2394)
})
test_that("Calculating concentrations", {
testthat::skip_on_cran()
summary_conc <- get_concentration_summary(tox_list)
expect_equal(nrow(tox_list$chem_data), nrow(summary_conc))
expect_equivalent(summary_conc$EAR, chem_data$Value)
gd_conc <- graph_chem_data(summary_conc)
gd_tox <- graph_chem_data(chemical_summary)
combo <- side_by_side_data(gd_conc, gd_tox,
left_title = "Concentration",
right_title = "ToxCast"
)
expect_true("guide_side" %in% names(combo))
expect_equal(
c("Concentration", "ToxCast"),
levels(combo$guide_side)
)
})
test_that("Testing levels", {
chem_levels <- levels(chemical_summary$chnm)
class_levels <- levels(chemical_summary$Class)
gd <- graph_chem_data(chemical_summary)
expect_equal(levels(gd$chnm), chem_levels)
expect_equal(levels(gd$Class), class_levels)
expect_equal(chem_levels[1:5], c(
"Cumene",
"1-Methylnaphthalene",
"Anthraquinone",
"Tetrachloroethylene",
"Isophorone"
))
expect_equal(class_levels[1:5], c(
"Herbicides", "Detergent Metabolites",
"Antioxidants", "PAHs",
"Antimicrobial Disinfectants"
))
plot_eps <- plot_tox_endpoints(chemical_summary,
"Chemical",
top_num = 5
)
expect_equal(
tail(levels(plot_eps$data$endPoint), 5),
c(
"LTEA_HepaRG_GCLC_dn",
"LTEA_HepaRG_NFE2L2_dn",
"LTEA_HepaRG_GSTA2_dn",
"TOX21_PPARg_BLA_Antagonist_ch2",
"TOX21_RT_HEPG2_FLO_00hr_ctrl_viability"
)
)
plot_stack <- plot_tox_stacks(chemical_summary,
category = "Chemical",
chem_site = tox_list$chem_site,
top_num = 5
)
expect_equal(
levels(plot_stack$data$category),
c(
"Bisphenol A", "4-Nonylphenol, branched",
"Phenanthrene", "Atrazine",
"Pentachlorophenol", "Others (44)"
)
)
plot_heat <- plot_tox_heatmap(chemical_summary,
category = "Chemical",
chem_site = tox_list$chem_site
)
expect_equal(
tail(levels(plot_heat$data$chnm), 5),
c(
"Bromacil", "Metolachlor", "Atrazine",
"Prometon", "Pentachlorophenol"
)
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.