R package for bcbio RNA-seq analysis.
Clone or download

README.md

bcbioRNASeq

Travis CI AppVeyor CI Codecov Project Status: Active - The project has reached a stable, usable state and is being actively developed. Anaconda-Server Badge

R package for bcbio RNA-seq analysis.

Installation

This is an R package.

Bioconductor

We recommend installing the package with BiocManager.

if (!require("BiocManager")) {
    install.packages("BiocManager")
}
BiocManager::install(
    pkgs = c(
        "devtools",
        "remotes",
        "GenomeInfoDbData"
    )
)
BiocManager::install(
    pkgs = "hbc/bcbioRNASeq",
    dependencies = c("Depends", "Imports", "Suggests")
)

For R < 3.5, BiocManager is not supported. Use BiocInstaller::biocLite() instead of BiocManager::install(). This requires sourcing the legacy Bioconductor biocLite.R script.

# try http:// if https:// URLs are not supported
source("https://bioconductor.org/biocLite.R")

Pinned workflow paper version

# v0.2.4
BiocManager::install("hbc/bcbioRNASeq", ref = "v0.2.4")

conda

Configure conda to use the bioconda channels.

conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda

To avoid version issues, your .condarc file should only contain the following channels, in this order:

channels:
  - bioconda
  - conda-forge
  - defaults

We recommend installing into a clean conda environment:

conda create --name r
conda activate r

Launch R and check that it is set up correctly with the capabilities() function. Note that X11 = TRUE is required for graphical output, and requires X11 forwarding over SSH.

Now you're ready to install r-bcbiornaseq.

conda install -c bioconda r-bcbiornaseq

Note that there is currently a bug with conda and libgfortran. You may need to install libgfortran-ng to get the bcbioRNASeq package to load in R.

conda install libgfortran-ng

Load bcbio run

library(bcbioRNASeq)
bcb <- bcbioRNASeq(
    uploadDir = "bcbio_rnaseq_run/final",
    interestingGroups = c("genotype", "treatment"),
    organism = "Homo sapiens"
)
# Back up all data inside bcbioRNASeq object
flat <- flatFiles(bcb)
saveData(bcb, flat)

This will return a bcbioRNASeq object, which is an extension of the Bioconductor RangedSummarizedExperiment container class. Consult the bcbioRNASeq() constructor function documentation for detailed information on the supported parameters:

help(topic = "bcbioRNASeq", package = "bcbioRNASeq")

Sample metadata

When loading a bcbio RNA-seq run, the sample metadata will be imported automatically from the project-summary.yaml file in the final upload directory. If you notice any typos in your metadata after completing the run, these can be corrected by editing the YAML file. Alternatively, you can pass in a sample metadata file into bcbioRNASeq() using the sampleMetadataFile argument.

Metadata file example

The samples in the bcbio run must map to the description column. The values provided in description must be unique. These values will be sanitized into syntactically valid names (see help("makeNames", "basejump")), and assigned as the column names of the bcbioRNASeq object. The original values are stored as the sampleName column in colData(), and are used for all plotting functions.

description genotype
sample1 wildtype
sample2 knockout
sample3 wildtype
sample4 knockout

R Markdown templates

This package provides multiple R Markdown templates, including quality control, differential expression using DESeq2, and functional enrichment analysis.

These are available in RStudio at File -> New File -> R Markdown... -> From Template.

Example reports

Citation

citation("bcbioRNASeq")

Steinbaugh MJ, Pantano L, Kirchner RD, Barrera V, Chapman BA, Piper ME, Mistry M, Khetani RS, Rutherford KD, Hoffman O, Hutchinson JN, Ho Sui SJ. (2018). bcbioRNASeq: R package for bcbio RNA-seq analysis. F1000Research 6:1976.

References

The papers and software cited in our workflows are available as a shared library on Paperpile.