Detection of RNA Outlier Pipeline
The detection of RNA Outliers Pipeline (DROP) is an integrative workflow to detect aberrant expression, aberrant splicing, and mono-allelic expression from raw sequencing files.
The manuscript is available in Nature Protocols. SharedIt link.
What's new
Versions 1.3.3, 1.3.2 and 1.3.1 fix some bugs.
Version 1.3.0 introduces the option to use FRASER 2.0 which is an improved version of FRASER that uses the Intron Jaccard Index metric instead of percent spliced in and splicing efficiency to quantify and later call aberrant splicing. To run FRASER 2.0, modify the FRASER_version
parameter in the aberrantSplicing dictionary in the config file and adapt the quantileForFiltering
and deltaPsiCutoff
parameters. See the config template for more details. When switching between FRASER versions, we recommend running DROP in a
separate folder for each version. Moreover, DROP now allows users to provide lists of genes to focus on and do the multiple testing correction instead of the usual transcriptome-wide approach. Refer to the documentation.
Snakemake v.7.8
introduced some changes in which changes in parameters can cause rules to be re-executed. More info here. This affects DROP and causes certain rules in the AS and QC modules to be triggered even if they were already completed and there were no changes in the sample annotation or scripts. The workaround is to run DROP by adding the parameter --rerun-triggers mtime
, e.g. snakemake -n --rerun-triggers mtime
or snakemake --cores 10 --rerun-triggers mtime
. We will investigate the rules in DROP to fix this.
Version 1.2.3 simplifies the plots in the AE Summary Script. In addition, there's a new heatmap in the sampleQC Summary that allows to better identify DNA-RNA mismatches.
As of version 1.2.1 DROP has a new module that performs RNA-seq variant calling. The input are BAM files and the output either a single-sample or a multi-sample VCF file (option specified by the user) annotated with allele frequencies from gnomAD (if specified by the user). The sample annotation table does not need to be changed, but several new parameters in the config file have to be added and tuned. For more info, refer to the documentation.
Also, as of version 1.2.1 the integration of external split and non-split counts to detect aberrant splicing is now possible. Simply specify in a new column in the sample annotation the directory containing the counts. For more info, refer to the documentation.
Quickstart
DROP is available on bioconda.
We recommend using a dedicated conda environment (drop_env
in this example). Installation time: ~ 10min.
mamba create -n drop_env -c conda-forge -c bioconda drop --override-channels
In the case of mamba/conda troubles we recommend using the fixed DROP_<version>.yaml
installation file we make available on our public server. Install the current version and use the full path in the following command to install the conda environment drop_env
mamba env create -f DROP_1.3.3.yaml
Test installation with demo project
conda activate drop_env
mkdir ~/drop_demo
cd ~/drop_demo
drop demo
The pipeline can be run using snakemake commands
snakemake -n # dryrun
snakemake --cores 1
Expected runtime: 25 min
For more information on different installation options, refer to the documentation
Set up a custom project
Install the drop module according to installation and initialize the project in a custom project directory.
Prepare the input data
Create a sample annotation that contains the sample IDs, file locations and other information necessary for the pipeline. Edit the config file to set the correct file path of sample annotation and locations of non-sample specific input files. The requirements are described in the documentation.
Execute the pipeline
Once these files are set up, you can execute a dry run from your project directory
snakemake -n
This shows you the rules of all subworkflows. Omit -n
and specify the number of cores with --cores
if you are sure that you want you execute all printed rules. You can also invoke single workflows explicitly e.g. for aberrant expression with:
snakemake aberrantExpression --cores 10
Datasets
The following publicly-available datasets of gene counts can be used as controls. Please cite as instructed for each dataset.
-
154 non strand-specific fibroblasts, build hg19, Technical University of Munich:
-
135 strand-specific fibroblasts, build hg19, high seq depth (116 million mapped reads), Technical University of Munich:
-
127 strand-specific fibroblasts, build hg19, low seq depth (70 million mapped reads), Technical University of Munich:
-
49 tissues, each containing hundreds of samples, non strand-specific, build hg19, GTEx:
-
49 tissues, each containing hundreds of samples, non strand-specific, build hg38, GTEx:
-
139 strand-specific fibroblasts, build hg19, Baylor College of Medicine:
-
125 strand-specific blood, build hg19, Baylor College of Medicine:
-
330 strand-specific induced pluripotent stem cells (iPSCs), build hg19, EMBL:
-
56 non strand-specific amniotic fluid cells, build hg19, The University of Hong Kong:
If you want to contribute with your own count matrices, please contact us: yepez at in.tum.de
Citation
If you use DROP in research, please cite our manuscript.
Furthermore, if you use the aberrant expression module, also cite OUTRIDER; if you use the aberrant splicing module, also cite FRASER; and if you use the MAE module, also cite the Kremer, Bader et al study and DESeq2.
For the complete set of tools used by DROP (e.g. for counting), see the manuscript.
Acknowledgements and Funding
The DROP team is composed of members from the Gagneur lab at the Department of Informatics and School of Medicine of the Technical University of Munich (TUM) and The German Human Genome-Phenome Archive (GHGA). The team has been funded by the German Bundesministerium fĂźr Bildung und Forschung (BMBF) through the e:Med Networking fonds AbCD-Net, Medical Informatics Initiative CORD-MI, and ERA PerMed project PerMiM. We would like to thank all the users for their feedback.