Institut Curie - Nextflow rna-seq analysis pipeline
The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with conda / singularity containers making installation easier and results highly reproducible.
The first version of this pipeline was modified from the nf-core/rnaseq pipeline. See the nf-core project for more details.
- Trim adapters from sequencing reads (
TrimGalore!
- Separate host/graft reads for PDX model (
xengsort
) - Run quality control of sequencing reads (
fastqc
) - Align reads on ribosomal RNAs sequences when available (
bowtie1
) - Align reads on reference genome (
STAR
/hisat2
) - Infer reads orientation (
rseqc
) - Dedicated quality controls
- Identito monitoring based on a list of known polymorphism (
bcftools
/R
) - Generate counts table from aligned data or pseudo-alignment (
STAR
/featureCounts
/HTSeqCounts
/salmon
) - Exploratory analysis (
R
) - Reference-guided de novo transcripts assembly (
stringtie
,scallop
) - Present all QC results in a final report (
MultiQC
)
N E X T F L O W ~ version 20.10.0
Launching `main.nf` [awesome_archimedes] - revision: 7f7a25de60
------------------------------------------------------------------------
______ _ _ ___
| ___ \ \ | | / _ \
| |_/ / \| |/ /_\ \______ ___ ___ __ _
| /| . ` || _ |______/ __|/ _ \/ _` |
| |\ \| |\ || | | | \__ \ __/ (_| |
\_| \_\_| \_/\_| |_/ |___/\___|\__, |
| |
|_|
v4.1.0
------------------------------------------------------------------------
------------------------------------------------------------------------
Usage:
The typical command for running the pipeline is as follows:
nextflow run main.nf --reads PATH --samplePlan PATH -profile STRING --genome STRING
MANDATORY ARGUMENTS:
--genome STRING Name of the reference genome.
--reads PATH Path to input data (must be surrounded with quotes)
--samplePlan PATH Path to sample plan (csv format) with raw reads (if `--reads` is not specified)
--aligner STRING [star, hisat2] Tool for reads alignment
--counts STRING [star, featureCounts, HTseqCounts, salmon] Tool to use to estimate the raw counts per gene
--pseudoAligner STRING [salmon] Tool for reads pseudo-alignment
INPUTS:
--singleEnd For single-end input data
--stranded STRING [auto, forward, reverse, no] Library strandness
PREPROCESSING:
--pdx Deconvolute host/graft reads for PDX samples
--trimming Trim adapters with TrimGalore
MAPPING:
--bowtieOpts STRING Options for rRNA mapping with bowtie
--hisat2Opts STRING Options for genome mapping with Hisat2
--saveAlignedIntermediates Save intermediates alignment files
--starOpts STRING Options for STAR mapping
--starTwoPass Run STAR in two pass mode
COUNTS:
--featurecountsOpts STRING Options for featureCounts quantification
--htseqOpts STRING Options for HTSeq quantification
--salmonQuantOpts STRING Options for Salmon quantification
DE NOVO ASSEMBLY:
--denovo STRING [stringtie, scallop] Tool for reference-guided assembly of RNA transcripts
--scallopOpts STRING Options for Scallop analysis
--stringtieOps STRING Options for Stringtie analysis
REFERENCES:
--bed12 PATH Path to gene file (BED12)
--fasta PATH Path to genome fasta file
--fastaFai PATH Path to genome index fasta file
--genomeAnnotationPath PATH Path to genome annotations folder
--gtf PATH Path to GTF annotation file
--hisat2Index PATH Path to Hisat2 indexes
--bowtie2Index PATH Path to Bowtie2 indexes
--polym PATH Path to BED file with polymorphisms for identito monitoring
--rrna PATH Path to Bowtie indexes for rRNA mapping
--salmonIndex PATH Path to Salmon indexes
--starIndex PATH Path to STAR indexes
--transcriptsFasta PATH Path to transcriptome fasta file
SKIP OPTIONS:
--skipBigWig Disable bigwig generation with Deeptools
--skipMarkDup Disable duplicates analysis with Picard/DupRadar
--skipFastqc Disable Fastqc
--skipGeneCountsAnalysis Disable exporatory analysis of genes count
--skipIdentito Disable Identito
--skipMultiqc Disable MultiQC
--skipQC Disable quality controls on raw and aligned reads [fastqc, qualimap, preseq]
--skipQualimap Disable RNA-seq quality controls with Qualimap
--skipRrna Disable rRNA mapping
--skipSaturation Disable saturation analysis with Preseq
OTHER OPTIONS:
--metadata PATH Specify a custom metadata file for MultiQC
--multiqcConfig PATH Specify a custom config file for MultiQC
--name STRING Name for the pipeline run. If not specified, Nextflow will automatically generate a random mnemonic
--outDir PATH The output directory where the results will be saved
=======================================================
Available Profiles
-profile test Run the test dataset
-profile conda Build a new conda environment before running the pipeline. Use `--condaCacheDir` to define the conda cache path
-profile multiconda Build a new conda environment per process before running the pipeline. Use `--condaCacheDir` to define the conda cache path
-profile path Use the installation path defined for all tools. Use `--globalPath` to define the insallation path
-profile multipath Use the installation paths defined for each tool. Use `--globalPath` to define the insallation path
-profile docker Use the Docker images for each process
-profile singularity Use the Singularity images for each process. Use `--singularityImagePath` to define the insallation path
-profile cluster Run the workflow on the cluster, instead of locally
The pipeline can be run on any infrastructure from a list of input files or from a sample plan as follow
See the conf/test.conf to set your test dataset.
nextflow run main.nf -profile test,conda
nextflow run main.nf --samplePlan MY_SAMPLE_PLAN --aligner 'star' --counts 'star' --genome 'hg38' --outDir MY_OUTPUT_DIR -profile conda
echo "nextflow run main.nf --reads '*.R{1,2}.fastq.gz' --aligner 'star' --counts 'star' --genome 'hg19' --outDir MY_OUTPUT_DIR -profile singularity,cluster" | qsub -N rnaseq
By default (whithout any profile), Nextflow will excute the pipeline locally, expecting that all tools are available from your PATH
variable.
In addition, we set up a few profiles that should allow you i/ to use containers instead of local installation, ii/ to run the pipeline on a cluster instead of on a local architecture. The description of each profile is available on the help message (see above).
Here are a few examples of how to set the profile option. See the full documentation for details.
## Run the pipeline locally, using the paths defined in the configuration for each tool (see conf/path.config)
-profile path --globalPath INSTALLATION_PATH
## Run the pipeline on the cluster, using the Singularity containers
-profile cluster,singularity --singularityImagePath SINGULARITY_IMAGE_PATH
## Run the pipeline on the cluster, building a new conda environment
-profile cluster,conda --condaCacheDir CONDA_CACHE
A sample plan is a csv file (comma separated) that list all samples with their biological IDs, with no header.
SAMPLE_ID,SAMPLE_NAME,PATH_TO_R1_FASTQ,[PATH_TO_R2_FASTQ]
- Installation
- Reference genomes
- Running the pipeline
- Output and how to interpret the results
- Troubleshooting
This pipeline has been written by the bioinformatics platform of the Institut Curie (P. La Rosa, N. Servant)
If you use this pipeline for your project, please cite it using the following doi: 10.5281/zenodo.7443721
Do not hesitate to use the Zenodo doi corresponding to the version you used !
For any question, bug or suggestion, please use the issues system or contact the bioinformatics core facility.