bcbioRNASeq S4 class object is now extending RangedSummarizedExperiment instead of SummarizedExperiment. Consequently, the row annotations are now stored in the rowRanges slot as GRanges class, instead of in the rowData slot as a DataFrame. The rowData accessor still works and returns a data frame of gene/transcript annotations, but these are now coerced from the internally stored GRanges. The GRanges object is acquired automatically from Ensembl using basejump::ensembl. By default, GRanges are acquired from Ensembl using AnnotationHub and ensembldb. Legacy GRCh37 genome build is supported using the EnsDb.Hsapiens.v75 package.assays now only slot matrices. We’ve moved the tximport data from the now defunct bcbio slot to assays. This includes the lengths matrix from tximport. Additionally, we are optionally slotting DESeq2 variance-stabilized counts (“rlog”, "vst"). DESeq2 normalized counts and edgeR TMM counts are calculated on the fly and no longer stored inside the bcbioRNASeq object.colData now defaults to returning as data.frame instead of DataFrame, for easy piping to tidyverse functions.bcbio slot is now defunct.isSpike argument during the loadRNASeq data import step.plotCountsPerGene and plotCountDensity. Note that we are subsetting the nonzero genes as defined by the raw counts here.tximport code to no longer attempt to strip transcript versions. This is required for working with C. elegans transcripts.as(object, "DESeqDataSet") coercion method support for bcbioRNASeq class. This helps us set up the differential expression analysis easily.counts function now returns DESeq2 normalized counts (normalized = TRUE) and edgeR TMM counts (normalized = "tmm") on the fly, as suggested by the F1000 reviewers.bcbioRNASeq object, since we’re not stashing a DESeqDataSet any more.validObject is now required for all plotting functions. This check is also called in the R Markdown template. Legacy objects can be updated using updateObject.metrics now returns columns sorted alphabetically.contrastName as a generic function.plotDEGHeatmap and plotDEGPCA generics no longer have counts defined in the signature. The counts argument is now only defined in the methods.prepareRNASeqTemplate has been converted from a generic to a standard function.metadata validity checks.plotCorrelationHeatmap matrix method has been moved to basejump package, for improved consistency with the other heatmap code.plotGenderMarkers internal code has been reworked to match plotGene.plotMA appearance has changed, providing a line at the 0 y-intercept, similar to DESeqDataSet method.bcb_small instead of bcb).BiocCheck..sampleDirs code is now exported in bcbioBase as a generic.gene2symbol and interestingGroups method support are now defined for SummarizedExperiment in the bcbioBase package.bcbio slot is now defunct, since we have moved all data into the SummarizedExperiment container.plot5x3Bias in favor of plot5Prime3PrimeBias. This is less confusing as to what this function plots.flatFiles has been deprecated in favor of as(object, "list") coercion method. See bcbioBase package for SummarizedExperiment method support.design, download, meltLog10, txi.bcbioRNADataSet method support has been removed.Last set of code fixes before F1000v2 resubmission.
rle return support for counts, which are calculated on the fly.transgeneNames and spikeNames support to loadRNASeq function.loadRNASeq now supports organism = NULL again, for datasets with poorly annotated genomes.assay containing raw counts is now named counts instead of raw, for consistency with other SummarizedExperiment objects (e.g. DESeqDataSet) and the bcbioSingleCell S4 class definition.plotGene and plotGenderMarkers.updateObject method.assays, even when rlog and vst transformations are skipped.[[<-, assays<-, colData<-, interestingGroups<-, and metadata<- assignment methods, to avoid unwanted coercion to SummarizedExperiment. Objects extending RangedSummarizedExperiment shouldn’t be doing this, so we may need to file a bug report with Bioconductor or check our class definition in the package.stop, warning and message rather than the alternate rlang functions abort, warn, and inform.plotPCA functions to match plotMeanAverage and plotVolcano.plotDEGPCA, matching the other DEG functions. Also added directionality to plotDEGPCA.DESeqDataSet method support to plotCorrelationHeatmap, using the normalized counts.reusltsTables now writes local files to tempdir when Dropbox mode is enabled using dropboxDir.vst) over rlog counts by default in plots, where applicable.plotDEGPCA to default differential expression R Markdown template.colData factors are correctly releveled upon object subset with [. This helps avoid unwanted downstream errors when creating a DESeqDataSet and running differential expression with DESeq2.facet return method by default for plotGene. Updated the working example to reflect this.metrics now returns interestingGroups column.sample label has been removed from axis title for QC plot functions.bcbio_geom_abline, bcbio_geom_label, and bcbio_geom_label_repel. These are also used by bcbioSingleCell for improved graphical consistency.aggregateReplicates support has been added back. This function returns a RangedSummarizedExperiment instead of a bcbioRNASeq object, containing only an aggregate raw counts matrix in the counts slot of assays.dds_file and organism as new parameter arguments. We’ve reduced the number of parameters required here to run clusterProfiler.alphaSummary defunct for bcbioRNASeq object, in favor of DESeqDataSet only. This function is only useful when a proper design formula has been defined.metrics now contains an informative error for datasets that were analyzed using the fast-rnaseq bcbio pipeline.DESeqDataSet coercion from bcbioRNASeq object doesn’t attempt to run DESeq command any more, which was unnecessary and improves speed.bcbioSingleCell constructor now supports censorSamples parameter. This is useful for removing known poor quality samples upon loading.NULL in the quality control functions. This behavior doesn’t change the appearance of the plot colors, which will still default to ggplot2::scale_colour_hue or ggplot2::scale_fill_hue. The upcoming ggplot2 v2.3.0 update supports global options for color and fill palettes, so these parameters may be deprecated in a future release.topTables.libudunits2-dev (Linux).transform = TRUE argument to [ extraction method, allowing the user to skip automatic DESeq2 transformations, which can be CPU intensive for large datasets.plotMA instead of plotMeanAverage. An MA-plot by definition is not a “Mean Average” plot, so this function name is misleading. We will keep the plotMeanAverage working but it is now soft deprecated.plotGeneSaturation now supports label argument, similar to plotPCA.tximport call to handle transcript version mismatch with tx2gene data.frame. This can result if the bcbio pipeline is using an old genome build.genomeBuild is detected from AnnotationHub rowRangesMetadata if applicable, and not left NULL in the metadata.aes instead of aes_string, which uses tidyeval and quasiquotation.plotGene: reduced the number of return options to simply “facet” and “wide”. Previously, this also supported “grid”, “list”, and “markdown”, but these were removed because they are not frequently used.plotGene: Switched back to internal lapply call instead of using BiocParallel::bplapply. This doesn’t always work perfect in an HPC environment (e.g. HMS O2 cluster).plotMeanAverage in favor of plotMA.as coercion method support. Need to ensure exportMethods(coerce) is included in NAMESPACE file, otherwise bcbioRNASeq to DESeqDataSet coercion using as(bcb, "DESeqDataSet") won’t work when called from an Rscript without the package library loaded. Thanks @roryk for noticing this.NA in ribosomal RNA calculations.