This repository has Snakefiles for common RNA-seq data analysis workflows. Please feel free to copy them and modify them to suit your needs.
If you are new to Snakemake, you might like to start by walking through my tutorial for beginners. Next, have a look at Johannes Koster's introductory slides, tutorial, documentation, and FAQ.
Quick start:
# Copy the files
git clone https://github.com/slowkow/snakefiles.git
# Go to the kallisto directory
cd snakefiles/kallisto
# Run snakemake
snakemake
This repository includes 6 FASTQ files in data/fastq/ to illustrate the usage of each of the RNA-seq workflows.
- Sample1
Sample1.R1.fastq.gz
has the first mates of sequenced fragments.Sample1.R2.fastq.gz
has the second mates of sequenced fragments.
- Sample2
Sample2.L1.R1.fastq.gz
Sample2.L2.R1.fastq.gz
- The first mate reads (R1), split across two files (L1 and L2). Some software such as STAR requires these reads to be merged into one file.
Sample2.L1.R2.fastq.gz
Sample2.L2.R2.fastq.gz
- Likewise, the second mate reads (R2) are also split across two files
(L1 and L2). To make matters worse,
Sample2.L2.R2.fastq.gz
has only 2000 reads, whereasSample2.L2.R1.fastq.gz
has 2500 reads. The Snakefiles in this repository can handle this without any problems.
- Likewise, the second mate reads (R2) are also split across two files
(L1 and L2). To make matters worse,
- make_samples.py creates the samples.json file.
- bsub.py receives job scripts from Snakemake and automatically submits them to an appropriate LSF queue based on job requirements.
Quantify gene isoform expression in transcripts per million (TPM) with kallisto and collate outputs from multiple samples into one file.
Execute a multi-sample 2-pass STAR alignment, sharing the splice junctions across samples. Count fragments per gene and fragments per splice site. Also produce a BAM file with coordinates relative to transcripts. Quantify transcripts in TPM with eXpress. Collate outputs from multiple samples.
Please submit an issue to report bugs or ask questions.
Please contribute bug fixes or new features with a pull request to this repository.