Awesome
RNAseq-NF pipeline
A basic pipeline for quantification of genomic features from short read data implemented with Nextflow.
Requirements
- Unix-like operating system (Linux, macOS, etc)
- Java 11
Quickstart
-
If you don't have it already install Docker in your computer. Read more here.
-
Install Nextflow (version 23.10.0 or later):
curl -s https://get.nextflow.io | bash
-
Launch the pipeline execution:
./nextflow run nextflow-io/rnaseq-nf -with-docker
-
When the execution completes open in your browser the report generated at the following path:
results/multiqc_report.html
You can see an example report at the following link.
Note: the very first time you execute it, it will take a few minutes to download the pipeline from this GitHub repository and the associated Docker images needed to execute the pipeline.
Pipeline flowchart
Here is a visual representation of the design of RNASeq-NF pipeline, generated using the visualization functionality of Nextflow.
%%{init: { 'theme': 'forest' } }%%
flowchart TD
p0((Channel.fromFilePairs))
p1(( ))
p2[RNASEQ:INDEX]
p3[RNASEQ:FASTQC]
p4[RNASEQ:QUANT]
p5([concat])
p6([collect])
p7(( ))
p8[MULTIQC]
p9(( ))
p0 -->|read_pairs_ch| p3
p1 -->|transcriptome| p2
p2 --> p4
p3 --> p5
p0 -->|read_pairs_ch| p4
p4 -->|pair_id| p5
p5 --> p6
p6 -->|$out0| p8
p7 -->|config| p8
p8 --> p9
Cluster support
RNASeq-NF execution relies on Nextflow framework which provides an abstraction between the pipeline functional logic and the underlying processing system.
This allows the execution of the pipeline in a single computer or in a HPC cluster without modifying it.
Currently the following resource manager platforms are supported:
- Univa Grid Engine (UGE)
- Platform LSF
- SLURM
- PBS/Torque
By default the pipeline is parallelized by spawning multiple threads in the machine where the script is launched.
To submit the execution to a UGE cluster create a file named nextflow.config
in the directory
where the pipeline is going to be executed with the following content:
process {
executor='uge'
queue='<queue name>'
}
To lean more about the avaible settings and the configuration file read the Nextflow documentation.
Components
RNASeq-NF uses the following software components and tools: