Abstract
BRGenomics is designed to help users avoid code repetition by providing efficient and tested functions to accomplish common, discrete tasks in the analysis of high-throughput sequencing data. The included functions are geared toward analyzing basepair-resolution sequencing data, the properties of which are exploited to increase performance and user-friendliness. We leverage standard Bioconductor methods and classes to maximize compatibility with its rich ecoystem of bioinformatics tools, and we aim to make BRGenomics sufficient for most post-alignment data processing. Common data processing and analytical steps are turned into fast-running one-liners that can be simultaneously applied across numerous datasets. BRGenomics is fully-documented, and we aim it to be beginner-friendly.
Motivation
This package is designed to:
- Replace the use of command-line utilities for most post-alignment processing, e.g.
bedtools
and deeptools
- Be easy-to-use and easy-to-install, without requiring external dependencies, e.g.
hitslib
or the kent source utilities from the UCSC genome browser
- Allow users to string together common analysis pipelines with simple, fast-running one-liners
- Avoid code repetition by providing tested and validated code
- Exploit the properties of basepair-resolution data to optimize performance and increase user-friendliness
- Use process forking to make use of multicore processors
- Maximize compatibility with Bioconductor’s rich ecosystem of analysis software, in addition to leveraging the traditional strengths of R in statistics and data visualization
- Fully replace the
bigWig
R package
Features
- Process and import bedGraph, bigWig, and bam files quickly and easily, with several pre-configured defaults for typical uses
- Count and filter spike-in reads
- Calculate spike-in normalization factors using several methods and options, including options for batch normalization
- Count reads by regions of interest
- Count reads at positions within regions of interest, at single-base resolution or in larger bins, and generate count matrices for heatmapping
- Calculate bootstrapped signal (e.g. readcount) profiles with confidence intervals (i.e. meta-profiles)
- Modify gene regions (e.g. extract promoters or genebody regions) using a single simple and straightforward function
- Conveniently and efficiently call
DESeq2
to calculate differential expression in a manner that is robust to global changes
- Use non-contiguous genes in
DESeq2
analysis, e.g. to exclude of specific sites/peaks from the analysis (not usually supported by DESeq2)
- Efficiently generate results across a list of comparisons
- Support for blacklisting throughout, and proper accounting of blacklisted sites in relevant calculations
- Users interact with an intuitive and computationally efficient data structure (the “basepair resolution
GRanges
” object), which is already supported by a rich, user-friendly suite of tools that greatly simplify working with datasets and annotations
Coming Soon
Data processing:
- Summarizing and plotting replicate correlations
- Function to use random read sampling to assess if sequencing depth sufficient to stabilize arbitrary calculations (so a user can supply anonymous function to calculate things like rank expression, power analysis or differential expression by DESeq2, pausing indices, etc.)
Signal counting and analysis:
- Two-stranded meta-profile calculations
- Automated generation of a list of DESeq2 comparisons using all possible combinations; all possible permutations; or by defining a simple hierarchy of each-vs-one comparisons