As part of the latest Bioconductor release 3.12,
DiffBind 3.0 includes extensive updates of which users should be aware. The purpose of these updates, reflecting user comments and requests, is to provide more power and control to users, while incorporating up-to-date methods and utilizing knowledge and experience gained in the 10 years since
DiffBind was first written.
The main updates are in the areas of modelling, analysis, normalization, and blacklists, as follows:
DiffBind now supports modelling using arbitrary design formulas, including multi-factor designs with any combination of metadata factors. Contrasts can be specified in a variety of ways to be evaluated against the design. All sample data in the experiment is incorporated into a single model against which contrasts are evaluated (previously, each contrast was handled in a separate model with only the samples directly involved in the contrast).
Analysis: More standardized usage of the underlying
DESeq2 packages is implemented. The global objects for these analyses can be easily extracted for fine-grained control over the analysis. A default analysis will be completed from any starting point, including only specifying a samplesheet, completing any of the loading, blacklist/greylisting, consensus, counting, modelling, and analyzing steps.
Normalization: Having identified normalization as a key step in a successful differential binding analysis, normalization options have been split out into a new interface function
dba.normalize() to provide fine-grained control. Normalizing against background reads is supported (using functions from the
csaw package), as well as support for offsets (e.g.
loess fit), exogenous spike-ins, and "parallel factor" normalization. An extensive section on normalization has been added to the vignette examining the impact of the various normalization options.
Blacklists and Greylists: New interface function
dba.blacklist() applies ENCODE blacklists by default if the (automatically detected) genome is supported. Greylists derived from experiment-specific controls are also supported, with automatic generation of greylists implemented using the
There are many more changes beyond those listed here. Please see the NEWS file for a more detailed list of changes to functionality and default behavior, as well as the re-vamped vignette. The key changes to defaults will be added to the
?DiffBind3 help page and are listed at the end of this message.
I will be monitoring the support forum as usual to help any users encountering issues in using the new version.
Note on Backward compatibility: While efforts have been made to maintain backward compatibility for existing users' scripts and data objects, certain issues may arise. Existing scripts should still run but will use the updated methods unless
dba.contrast()is called with
design=FALSE. Data objects stored using
dba.save() will automatically be updated and run in backward-compatibility mode. See the help page
?DiffBind3 for more discussion of backward compatibility issues.
Changes in default settings: 1. blacklist is applied by default, if available, using automatic detection of reference genome.
- greylists are generated from controls and applied by default.
- minimum read counts are now 0 instead of being rounded up to 1 (this is now controllable).
- centering peaks around summits is now done by default using 401-bp wide peaks (recommend to use
- read counting is now performed by
summarizeOverlaps()by default, with single-end/paired-end counting automatically detected.
- filtering is performed by default; consensus peaks where no peak has more than five reads in any sample are filtered.
- control read subtraction is now turned off by default if a greylist is present
- normalization is based on full library sizes by default for both
- score is set to normalized values by default.