Skip to main content

MPUSP/snakemake-bacterial-rnaseq-deseq

Differential gene expression analysis with deseq2

Overview​

Testing: GitHub Actions Workflow Status GitHub Actions Workflow Status

Last update: 2026-08-25

Latest release: v2.2.1

Topics: illumina-sequencing rnaseq snakemake snakemake-workflow transcriptomics deseq2 differential-expression

Authors: @m-jahn @adarshaach @rabioinf

Configuration​

The following configuration details are extracted from the config's README file.


Workflow overview​

A Snakemake workflow for RNA-Seq differential gene expression analysis using DESeq2.

This workflow performs a follow-up analysis on the results from the snakemake-bacterial-rnaseq-processing workflow, which it imports as a snakemake module. The first workflow processes and maps raw RNA-Seq reads and generates a table of read counts per gene. The second workflow uses this table to perform the DE analysis with DESeq2.

The workflow is built using snakemake and consists of the following steps:

  1. Optionally run all steps from snakemake-bacterial-rnaseq-processing as the first module
  2. Import counts-per-feature data, the output from step 1
  3. Run multifactorial DE analysis with arbitrary design (DESeq2)
  4. Generate two reports: one for count data, and one for DE analysis (R markdown)

Input​

The pipeline requires the following input files when running it together with the processing module:

  • samplesheet.tsv – metadata for the RNA-Seq samples (e.g., condition, replicate)
  • fasta and gff genome annotation files (can be retrieved from NCBI)
  • fastq.gz read files as explained in more detail on the processing workflow README

The pipeline contains simulated paired-end fastq.gz read files for running automatic tests. These files were generated using dwgsim and extended with UMIs and adapters on the 3' end of read 2. The reads map to the recently updated S. pyogenes SF370 reference genome (GCF_043231225.1). The script to simulate reads can be found in .test/data/simulate_reads.sh.

Using the workflow as a standalone module, it requires instead:

  • <sample_name>.counts – coverage data for each sample obtained as output from the RNA-Seq processing workflow
  • biotypes.gff – gene feature annotations for filtering e.g. protein-coding genes, obtained as output from the RNA-Seq processing workflow

Output​

After successful execution, results will be available in the results/deseq2/ directory, including:

  • counts_merged.csv – Merged counts from all samples.
  • counts_filtered.csv – Filtered counts, e.g. to include only genes with biotype protein-coding.
  • deseq2_results.csv – DESeq2 results for all comparisons.
  • deseq2_report.html – Comprehensive HTML report with visualizations and summaries.
  • counts_report.html – Comprehensive HTML report for counts data.
  • Various plots (PCA, heatmaps, MA plots, volcano plots) in PNG and SVG format.