Skip to content

RNA-seq

RNA-seq measures gene expression across the transcriptome. This section follows the same route as the analysis itself: background, processing, differential expression, and pathway analysis. The primary analysis, from FASTQ to a count matrix, is a pipeline job, and the nf-core/rnaseq guide covers it. These pages take the count matrix that comes out of that pipeline and carry it through the downstream analysis.

Every figure and every number on these pages comes from a real run of the code you can read on the page, in one pinned container, on the Bioconductor airway dataset.

What RNA-seq measures, how to design an experiment that can answer the question you ask of it, and the dataset the rest of the section computes on.

Page What it does
What is RNA-seq how RNA sequencing measures gene expression across the transcriptome
Experimental design replicates, depth, and library type, settled before sequencing
The workflow & the dataset the RNA-seq workflow end to end, and the airway dataset loaded into R

From reads to a count matrix, and the first look at the matrix once it exists.

Page What it does
nf-core pipelines what nf-core/rnaseq and nf-core/differentialabundance take as input and return
STAR & Salmon genome alignment with STAR and transcript quantification with Salmon
QC & filtering removing low-count genes and looking at sample structure with PCA
Normalization size factors and the variance-stabilizing transformation in DESeq2

From the count matrix to the table of changing genes, by three routes.

Page What it does
Differential expression running DESeq2, extracting results, and shrinkage
DESeq2 & pyDESeq2 the same analysis in R and in Python, with the numbers compared
edgeR & limma the same comparison with two other packages, and when to use them
limma-voom the voom transformation and limma, in more depth

Whether the changing genes share biological structure, and the two figures a results section expects.

Page What it does
Enrichment over-representation and GSEA with clusterProfiler
Over-representation analysis testing GO terms with clusterProfiler and gseapy
Gene set enrichment analysis ranking every gene and testing the MSigDB Hallmark sets with fgsea and gseapy
Visualization volcano plot and heatmap for the results

The airway dataset, from Himes et al. 2014, holds RNA-seq counts from human airway smooth muscle cells treated with dexamethasone. It ships in the Bioconductor airway package, so no file is downloaded by hand. Eight samples, four untreated and four treated, paired by cell line. It is the standard teaching dataset for DESeq2, which makes it the right place to see what each step does.

The DESeq2, edgeR, and limma workflows are R and Bioconductor. There is a Python implementation, PyDESeq2, but the package set that most published analyses use is R. These pages are R only, and the runnable scripts live in the companion code repo under guides/rnaseq/.