DESeq2 Differential Expression Analysis

RNA-Seq differential gene expression workflow

CSV format: genes × samples
Column in metadata file containing sample groups

Help

DESeq2: Differential Expression Analysis

Function

DESeq2 is one of the most widely used Bioconductor packages for differential gene expression analysis from RNA-Seq count data. It models counts using the negative binomial distribution and applies shrinkage estimation to improve fold-change and dispersion estimates.

Input Format

  • Counts Matrix (.csv): Raw integer count matrix with genes × samples.
  • Sample Metadata (.csv): Contains sample information and experimental conditions.
  • Design Formula: Example: ~ condition or ~ batch + condition.
  • Contrast Factor: Metadata column defining groups.
  • Transformation: VST, rlog, or normalized counts.

Output Format

  • Differential Expression Results Table (.tsv)
  • Significant Genes Table (.tsv)
  • Normalized Counts Matrix (.tsv)
  • Transformed Matrix (.tsv)
  • PCA Plot
  • MA Plot
  • Volcano Plot
  • Dispersion Plot
  • Heatmap and Sample Distance Matrix

Applications

  • Disease vs Control Expression Analysis
  • Drug Response Studies
  • Biomarker Discovery
  • Pathway and Functional Enrichment Analysis
  • Transcriptomics Research
  • Cross-sample Quality Control and PCA Analysis

Example Usage

library(DESeq2)

counts <- read.csv("counts.csv", row.names = 1)
coldata <- read.csv("metadata.csv", row.names = 1)

dds <- DESeqDataSetFromMatrix(
    countData = counts,
    colData = coldata,
    design = ~ condition
)

dds <- DESeq(dds)

res <- results(
    dds,
    contrast = c(
        "condition",
        "treated",
        "control"
    )
)

vsd <- vst(dds)

Suggested Reading

Citation

Love MI, Huber W, Anders S. (2014).
Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2.
Genome Biology, 15(12):550.
doi:10.1186/s13059-014-0550-8
Note: DESeq2 requires raw integer counts. Do not use TPM, FPKM, RPKM, or pre-normalized values. Ensure sample names in the count matrix exactly match those in the metadata file. For datasets with fewer than 30 samples, rlog transformation is preferred, whereas VST is faster and suitable for larger datasets.