A Snakemake pipeline for detecting allelic imbalance from DNA and RNA seq reads
Execute the following command.
git clone https://github.com/aryarm/as_analysis.git
The pipeline is written as a Snakefile which can be executed via Snakemake. We recommend installing version 5.24.0:
conda create -n snakemake -c bioconda -c conda-forge --no-channel-priority 'snakemake==5.24.0'
We highly recommend you install Snakemake via conda like this so that you can use the --use-conda
flag when calling snakemake
to let it automatically handle all dependencies of the pipeline. Otherwise, you must manually install the dependencies listed in the env file.
Note that our pipeline uses WASP (v3.x), which is not available for download from conda. If you do not provide a local download of WASP, the pipeline will try to automatically install it.
conda
:
conda activate snakemake
Execute the pipeline
Locally:
./run &
or on an SGE cluster:
./run --sge-cluster &
Log files describing the output of the pipeline will be created within the output directory. The log
file contains a basic description of the progress of each rule, while the qlog
file is more detailed.
You must modify the config.yaml file to specify paths to your data before you perform step 2 above. For more information about what is required in the config file, see the READMEs for each portion of the pipeline.
The entire pipeline is made up of three different sections. We provide a single Snakefile to execute all of them at once, but you can also execute each of these sections on their own. For each section that you'd like to run separately, you must fill out a new config file. You can find more information about these individual portions of the pipeline and how to execute them in the Snakefiles directory.
./run-gcp &
See the Google Cloud README for full instructions.
We recommend that you run snakemake --help
to learn about Snakemake's options. For example, to check that the pipeline will be executed correctly before you run it, you can call Snakemake with the -n -p -r
flags. This is also a good way to familiarize yourself with the steps of the pipeline and their inputs and outputs (the latter of which are inputs to the first rule in each workflow -- ie the all
rule).
Note that Snakemake will not recreate output that it has already generated, unless you request it. If a job fails or is interrupted, subsequent executions of Snakemake will just pick up where it left off. This can also apply to files that you create and provide in place of the files it would have generated.
By default, the pipeline will automatically delete some files it deems unnecessary (ex: unsorted copies of a BAM). You can opt to keep these files instead by providing the --notemp
flag to Snakemake when executing the pipeline.
A Snakemake pipeline defining rules for every step of the analysis. It uses DNA and RNA FASTQ files to generate a summary of allelic imbalance for each gene.
Defines options and input for the Snakemake pipeline.
An example bash script for executing the pipeline using snakemake
and conda
. Any arguments to this script are passed directly to snakemake
.