Lecture slides on iCloud


The ultimate goal of most transcriptional profiling experiments is to identify differentially expressed genes or transcripts. In this class, we’ll dig into differential expression using the popular and venerable Limma package in R, while continuing to explore options for producing compelling plots from your differential expression results. Finally, we’ll discuss a workflow for going beyond DGE analysis to look at differentail transcript (isoform) usage (DTU).

Learning objectives

  • Talk about the model.matrix() function
  • Talk about how to set your pairwise comparisons using the contrast.matrix() function
  • Use the limma package to identify differentially expressed genes
  • Produce static and interactive volcano plots
  • Use the isoformSwitchAnalyzeR package to carry out an analysis of differential transcript usage (DTU).


Step 5 script

Lecture video

“Warning - videos below are from 2020 lectures and will soon be updated for 2021.”

Part 1 – Introduction to differential feature selection in R/Bioconductor

Part 2 - Starting Step 5 script for DGE analysis

Part 3 - Visualizing DGEs

Part 4 - Differential transcript usage (DTU) analysis with isoformSwitchAnalyzeR


VOOM: precision weights unlock linear model analysis tools for RNA-seq read counts. Genome Biology, Feb, 2014 - Describes one of the approaches for adjusting RNAseq count data based on the mean-variance relationship.

Differential analyses for RNA-seq: transcript-level estimates improve gene-level inferences – describes the TxImport package with extensive discussion/consideration for DGE vs DTE vs DTU analysis. A must read for this lecture.

Harold Pimentel’s talk on differential expression with RNAseq

how to set-up a design matrix

Count-based differential expression analysis of RNA sequencing data using R and Bioconductor. Nature Protocols, Aug 22, 2013 - This is a great overview of the edgeR and DESeq packages, their use, and explains how each one approaches differential gene expression.

Limma user’s guide

EdgeR user’s guide. See section 3.4 and 3.5 for details about how to modify your model.matrix function for a ‘blocking’ design.

Other videos

Josh Starmer from StatQuest describing False Discovery Rates for RNAseq

StatQuest for linear regression and least squares

More StatQuest for Linear models