A streamlined, user-friendly pipeline for processing RNA-seq data from raw FASTQ files to aligned BAMs with quality control metrics.
This pipeline automates the following steps:
- Quality control using FastQC
- Read trimming with Trimmomatic
- Alignment using STAR
- Duplicate marking with Picard
- Quality metrics collection
- Summary report generation with MultiQC
- Clone this repository:
git clone https://github.com/IkramInf/rnaseq-pipeline.git
cd rnaseq-pipeline- Run the installation script:
bash install.sh- Activate the environment:
source ~/activate_rna_seq_pipeline.shBasic usage:
./rna_seq_pipeline.sh -i /path/to/fastq/files -g hg38 -o resultsFor help and all options:
./rna_seq_pipeline.sh --help- Linux-based operating system (Ubuntu/Debian or CentOS/RHEL recommended)
- 16GB+ RAM (more for large genomes)
- 100GB+ disk space
- Python 3.8+
- Java Runtime Environment 11+
| Option | Description | Default |
|---|---|---|
-i, --input |
Directory containing FASTQ files | Current directory |
-g, --genome |
Reference genome (hg19 or hg38) | hg19 |
-o, --output |
Output directory | results |
-c, --crop |
Crop reads to this length | 50 |
-l, --leading |
Remove leading low quality bases | 0 |
-t, --trailing |
Remove trailing low quality bases | 0 |
-p, --threads |
Number of threads to use | All but one CPU |
-h, --help |
Display help message | - |
results/
├── sample1/
│ ├── fastqc_reports/
│ ├── sample1_PE_Aligned.sortedByCoord.out.bam
│ ├── sample1_marked_duplicates.bam
│ ├── sample1_RNA_Metrics.txt
│ ├── sample1_mapping_metrics.txt
│ ├── sample1_duplicate_metrics.txt
│ └── multiqc_report.html
├── sample2/
...
- Quality Control: FastQC analyzes read quality
- Trimming: Trimmomatic removes adapters and low-quality bases
- Alignment: STAR aligns reads to the reference genome
- Metrics Collection: Picard tools collect RNA-seq and alignment metrics
- Duplicate Marking: Picard identifies PCR duplicates
- Summary Report: MultiQC creates a comprehensive report
The pipeline supports both single-end and paired-end data automatically. It will detect FASTQ file pairs based on the standard naming convention: _R1.fastq.gz/_R2.fastq.gz.
Not enough memory for STAR:
- Reduce the number of threads with
-poption - Run on a machine with more RAM
Missing dependencies:
- Re-run the installation script
- Check system requirements
If you use this pipeline, please cite:
- STAR aligner: Dobin A, et al. (2013) PMID: 23104886
- Trimmomatic: Bolger AM, et al. (2014) PMID: 24695404
- Picard: https://broadinstitute.github.io/picard/
- FastQC: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
- MultiQC: Ewels P, et al. (2016) PMID: 27312411
This project is licensed under the MIT License - see the LICENSE file for details.