R Under development (unstable) (2024-01-23 r85822 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(DRomics) Loading required package: limma Loading required package: DESeq2 Loading required package: S4Vectors Loading required package: stats4 Loading required package: BiocGenerics Attaching package: 'BiocGenerics' The following object is masked from 'package:limma': plotMA The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, table, tapply, union, unique, unsplit, which.max, which.min Attaching package: 'S4Vectors' The following object is masked from 'package:utils': findMatches The following objects are masked from 'package:base': I, expand.grid, unname Loading required package: IRanges Attaching package: 'IRanges' The following object is masked from 'package:grDevices': windows Loading required package: GenomicRanges Loading required package: GenomeInfoDb Loading required package: SummarizedExperiment Loading required package: MatrixGenerics Loading required package: matrixStats Attaching package: 'MatrixGenerics' The following objects are masked from 'package:matrixStats': colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse, colCounts, colCummaxs, colCummins, colCumprods, colCumsums, colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs, colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats, colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds, colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads, colWeightedMeans, colWeightedMedians, colWeightedSds, colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet, rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods, rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps, rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins, rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks, rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars, rowWeightedMads, rowWeightedMeans, rowWeightedMedians, rowWeightedSds, rowWeightedVars Loading required package: Biobase Welcome to Bioconductor Vignettes contain introductory material; view with 'browseVignettes()'. To cite Bioconductor, see 'citation("Biobase")', and for packages 'citation("pkgname")'. Attaching package: 'Biobase' The following object is masked from 'package:MatrixGenerics': rowMedians The following objects are masked from 'package:matrixStats': anyMissing, rowMedians DRomics has been loaded. !!!! IMPORTANT CHANGES IN DEFAULT PLOT ARGUMENTS !!!! Now all the plot functions use by default a log10 scale for dose and BMD values, except curvesplot(), for which the use of a dose log scale requires the specification by the user of a non null minimal value (xmin). We also put the default value of the argument scaling at TRUE in curvesplot() and bmdplotwithgradient(), to focus on shapes of dose-responses rather than on their amplitude. > visualize <- FALSE # put to TRUE for a manual check of plots > > if(visualize) + { + # (1) Plot of BMD values with color dose-response gradient + # faceted by metabolic pathway (from annotation of the selected items) + # and shaped by dose-response trend + + # An example from the paper published by Larras et al. 2020 + # in Journal of Hazardous Materials + # https://doi.org/10.1016/j.jhazmat.2020.122727 + # A example of plot obtained with this function is in Figure 5 in Larras et al. 2020 + + + # the dataframe with metabolomic results (output $res of bmdcalc() or bmdboot() functions) + resfilename <- system.file("extdata", "triclosanSVmetabres.txt", package="DRomics") + res <- read.table(resfilename, header = TRUE, stringsAsFactors = TRUE) + str(res) + + # the dataframe with annotation of each item identified in the previous file + # each item may have more than one annotation (-> more than one line) + annotfilename <- system.file("extdata", "triclosanSVmetabannot.txt", package="DRomics") + annot <- read.table(annotfilename, header = TRUE, stringsAsFactors = TRUE) + str(annot) + + # Merging of both previous dataframes + # in order to obtain an extenderes dataframe + extendedres <- merge(x = res, y = annot, by.x = "id", by.y = "metab.code") + head(extendedres) + + + ### (1.a) BMDplot with gradient by pathway + bmdplotwithgradient(extendedres, BMDtype = "zSD", + facetby = "path_class", + shapeby = "trend") + + # (1.b) BMDplot with gradient by pathway and trend + bmdplotwithgradient(extendedres, BMDtype = "zSD", + facetby = "path_class", + facetby2 = "trend") + + # (1.b) BMDplot with gradient by pathway + # forcing the limits of the colour gradient at other + # values than observed minimal and maximal values of the signal + bmdplotwithgradient(extendedres, BMDtype = "zSD", + facetby = "path_class", + shapeby = "trend", + limits4colgradient = c(-1, 1)) + + # (1.c) The same example changing the gradient colors and the line size + bmdplotwithgradient(extendedres, BMDtype = "zSD", + facetby = "path_class", + shapeby = "trend", + line.size = 3, + lowercol = "darkgreen", uppercol = "orange") + + # (1.d) The same example with only lipid metabolism pathclass + # and identification of the metabolites + LMres <- extendedres[extendedres$path_class == "Lipid metabolism", ] + bmdplotwithgradient(LMres, BMDtype = "zSD", + line.size = 3, + add.label = TRUE, label.size = 3) + + # (1.e) The same example with only membrane transport pathclass + # and identification of the metabolites + LMres <- extendedres[extendedres$path_class == "Membrane transport", ] + bmdplotwithgradient(LMres, BMDtype = "zSD", + line.size = 3, + add.label = TRUE, label.size = 3) + bmdplotwithgradient(LMres, BMDtype = "zSD", xmax = 7.76, + line.size = 3, + add.label = FALSE, label.size = 3) + curvesplot(LMres, facetby = "id", xmax = 7.76, scaling = TRUE) + LMres[LMres$id == "NP_92", ] + + + + # (2) + # An example on a microarray data set (a subsample of a greater data set) + # + datafilename <- system.file("extdata", "transcripto_sample.txt", package="DRomics") + + (o <- microarraydata(datafilename, check = TRUE, norm.method = "cyclicloess")) + (s_quad <- itemselect(o, select.method = "quadratic", FDR = 0.001)) + (f <- drcfit(s_quad, progressbar = TRUE)) + (r <- bmdcalc(f)) + + bmdplotwithgradient(r$res, BMDtype = "zSD", + facetby = "trend", + shapeby = "model") + bmdplotwithgradient(r$res, BMDtype = "zSD", + xmax = max(f$omicdata$dose), facetby = "trend", + shapeby = "model") + + + } > > proc.time() user system elapsed 8.81 0.81 9.62