bcbioRNASeq 0.2.0 (2018-03-22)

Major changes

  • 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.
  • FASTA spike-ins (e.g. EGFP, ERCCs) can be defined using the isSpike argument during the loadRNASeq data import step.
  • Melted counts are now scaled to log2 in the relevant quality control functions rather than using log10. This applies to plotCountsPerGene and plotCountDensity. Note that we are subsetting the nonzero genes as defined by the raw counts here.
  • Simplified internal tximport code to no longer attempt to strip transcript versions. This is required for working with C. elegans transcripts.
  • Minimal working example dataset is now derived from GSE65267, which is also used in the F1000 paper.
  • Added 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.
  • Design formula can no longer be slotted into bcbioRNASeq object, since we’re not stashing a DESeqDataSet any more.
  • Updated Functional Analysis R Markdown template.

Minor changes

  • 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.
  • Added 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.
  • Improved 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.
  • Default plotMA appearance has changed, providing a line at the 0 y-intercept, similar to DESeqDataSet method.
  • Internal example datasets have been renamed (e.g. bcb_small instead of bcb).
  • Added AppVeyor CI support for code testing on Windows.
  • Made Travis CI checks stricter, added BiocCheck.
  • Internal .sampleDirs code is now exported in bcbioBase as a generic.
  • gene2symbol and interestingGroups method support are now defined for SummarizedExperiment in the bcbioBase package.

Updating legacy objects < v0.2.0

  • Use updateObject in combination with the rowRanges argument, which requires a GRanges object. GRanges can be obtained from Ensembl using the basejump::ensembl function or the ensembldb package.

Deprecations

  • bcbio slot is now defunct, since we have moved all data into the SummarizedExperiment container.
  • Deprecated 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.
  • Defunct: design, download, meltLog10, txi.
  • Legacy bcbioRNADataSet method support has been removed.

bcbioRNASeq 0.2.1 (2018-04-24)

Last set of code fixes before F1000v2 resubmission.

Major changes

  • Added rle return support for counts, which are calculated on the fly.
  • Added transgeneNames and spikeNames support to loadRNASeq function.
  • loadRNASeq now supports organism = NULL again, for datasets with poorly annotated genomes.
  • Primary 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.
  • Improved internal code for plotGene and plotGenderMarkers.

Minor changes

  • Improved AppVeyor CI support to test against bioc-devel using R 3.5.
  • Improved support and unit testing for updateObject method.
  • DESeq2 normalized counts are always slotted in assays, even when rlog and vst transformations are skipped.
  • Exporting [[<-, 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.
  • Now importing specific functions from S4Vectors and methods rather than importing everything.
  • Switched back to using stop, warning and message rather than the alternate rlang functions abort, warn, and inform.
  • Objects with invalid metadata now print which slots are invalid to the console.

bcbioRNASeq 0.2.2 (2018-04-26)

Minor changes

  • Split out assertive imports so we can pin on bioconda.
  • Improved package documentation.
  • Improved label consistency in plotPCA functions to match plotMeanAverage and plotVolcano.
  • Improved automatic title labeling in plotDEGPCA, matching the other DEG functions. Also added directionality to plotDEGPCA.
  • Added DESeqDataSet method support to plotCorrelationHeatmap, using the normalized counts.
  • reusltsTables now writes local files to tempdir when Dropbox mode is enabled using dropboxDir.

bcbioRNASeq 0.2.3 (2018-05-10)

Major changes

  • Now recommending variance stabilizing transformation (vst) over rlog counts by default in plots, where applicable.

Minor changes

  • Tweaked Rory’s biotype plots in QC report to match formatting conventions in the package. These plots are now colored.
  • Added 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.
  • Recommending 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.
  • Now using shared ggplot2 convneience functions from bcbioBase 0.2.10: bcbio_geom_abline, bcbio_geom_label, and bcbio_geom_label_repel. These are also used by bcbioSingleCell for improved graphical consistency.
  • Removed unused internal legacy ggplot2 code.
  • Increased DEGreport, DESeq2, and tximport dependency requirements.

bcbioRNASeq 0.2.4 (2018-05-24)

Major changes

  • 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.
  • The functional analysis R Markdown template has been reworked to use dds_file and organism as new parameter arguments. We’ve reduced the number of parameters required here to run clusterProfiler.
  • Made alphaSummary defunct for bcbioRNASeq object, in favor of DESeqDataSet only. This function is only useful when a proper design formula has been defined.

Minor changes

  • 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.
  • ggplot2 color and fill palettes are now set 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.
  • Reworked the internal code for topTables.

Infrastructure changes

bcbioRNASeq 0.2.5 (2018-06-21)

Minor changes

  • Enable support bcbio integration, by modifying bcbioRNASeq constructor to work with minimal bcbio test data.
  • Switched from internal usage of aes_ in favor of consistent usage of aes_string. This will make the transition to ggplot2 v2.3.0 easier in a future update.

bcbioRNASeq 0.2.6 (2018-08-19)

Major changes

  • Added transform = TRUE argument to [ extraction method, allowing the user to skip automatic DESeq2 transformations, which can be CPU intensive for large datasets.
  • Switched back to using 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.

Minor changes

  • Improved internal handling during tximport call to handle transcript version mismatch with tx2gene data.frame. This can result if the bcbio pipeline is using an old genome build.
  • Ensure genomeBuild is detected from AnnotationHub rowRangesMetadata if applicable, and not left NULL in the metadata.
  • Updated internal code to use 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).
  • Soft deprecated plotMeanAverage in favor of plotMA.
  • All S4 generics with method support are exported for easier lookup in the reference documentation.
  • All function reexports have been consolidated in bcbioBase package.

bcbioRNASeq 0.2.7 (2018-08-22)

Minor changes

  • Bug fix for 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.
  • Only run rRNA plots if rRNA is detected.

bcbioRNASeq 0.2.8 (2019-01-28)

  • Handle correlation of PCA covariates when a numerical covariate has no variation.
  • Handle NA in ribosomal RNA calculations.

bcbioRNASeq 0.2.9 (2019-05-03)

Major changes

  • Fixed a bug in internal tximport code (refer to tximport-internal.R file) where sample names can get associated with the wrong samples in experiments, causing samples with numbers roll over from 1 -> 10. Thanks to Richard from AstraZeneca for catching this.

bcbioRNASeq 0.2.10 (2019-05-29)

Minor changes

  • Update to support basejump v0.10+ release series.