Agent skill

deseq2-differential-expression

Bulk RNA-seq DE with R/Bioconductor DESeq2. Negative binomial GLM, empirical Bayes shrinkage, Wald/LRT tests, multi-factor designs, Salmon tximeta import, apeglm LFC shrinkage, MA/volcano/heatmap viz. R gold standard. Use pydeseq2-differential-expression for Python; use edgeR for TMM normalization.

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill deseq2-differential-expression --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 23 KB
Bundled scripts: none
Path: skills/sciagent/deseq2-differential-expression/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 144
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Guides an agent to perform bulk RNA-seq differential expression analysis using DESeq2 in R. It describes fitting a negative binomial GLM per gene, applying empirical Bayes dispersion shrinkage, and testing with Wald or likelihood ratio tests. It includes importing Salmon data via tximeta/tximport, performing apeglm LFC shrinkage, and generating MA, volcano, and heatmap visualizations. It notes use of pydeseq2-differential-expression for Python pipelines and edgeR for TMM normalization.

How it works

  • Load a count matrix and sample metadata, ensure proper design formula (e.g., ~ condition, with possible batch).
  • If Salmon is used, import with tximeta and summarize to gene level, then build a DESeqDataSet and design.
  • Pre-filter genes with low counts, apply variance-stabilizing transformation for QC, and inspect PCA.
  • Run DESeq() to perform normalization (size factors), dispersion estimation, and GLM fitting.
  • Extract results with results(), specifying contrast and alpha; use independent filtering.
  • Apply apeglm LFC shrinkage with lfcShrink() for visualization and ranking, keeping padj from unshrunk results for significance.
  • Export full results, shrunk results, and a filtered set of significant genes.
  • Visualize with MA plot (shrunk LFC), Volcano plot, and a heatmap of top DE genes.
  • Demonstrate handling of multi-factor designs and interaction terms, including batch correction and genotype×condition interaction, and optional LRT for complex designs.

When to use it

  • To identify differentially expressed genes between two conditions in bulk RNA-seq data.
  • When the design includes multiple factors such as batch or covariates, or when interaction terms are of interest.
  • When importing Salmon outputs via tximeta/tximport for gene-level analysis.
  • When wanting LFC shrinkage with apeglm for ranking and visualization.
  • When integrating results with downstream analyses (pathway enrichment, etc.).
  • When using Python-based pipelines via pydeseq2-differential-expression or edgeR for alternative normalization approaches.

What it can touch

  • Data: raw count matrix (gene rows × sample columns) and sample metadata.
  • External tools and packages: DESeq2, tximeta, tximport, apeglm, EnhancedVolcano, pheatmap, ggplot2, dplyr, vST, and pydeseq2-differential-expression as specified.
  • Outputs: R objects and CSV/CSV-like results including ddesq2_all_results.csv, deseq2_shrunk_results.csv, deseq2_significant.csv, heatmap_top50.pdf, volcano_plot.pdf, and pca_plot.pdf.

Caveats

  • License is LGPL-3.0; use within allowed terms.
  • Describes NEB and empirical Bayes shrinkage as core concepts; specific limitations or caveats about samples or filtering are not enumerated beyond standard pre-filtering and independent filtering.
  • No outcomes promised; results depend on data and design.
From the SKILL.md

# DESeq2 Differential Expression Analysis (R/Bioconductor) ## Overview DESeq2 is the Bioconductor R package for differential gene expression analysis from bulk RNA-seq count data. It fits a negative binomial generalized linear model per gene, estimates dispersion parameters using empirical Bayes shrinkage across genes, and tests differential expression using Wald tests (two-group) or likelihood ratio tests (complex designs). DESeq2 is the R gold standard for RNA-seq DE analysis, with native Bioconductor integration for seamless import from Salmon (tximeta/tximport), featureCounts, or HTSeq. ## When to Use - Identifying differentially expressed genes between two experimental conditions (treated vs. control, disease vs. healthy) from bulk RNA-seq count data - Analyzing multi-factor designs that account for batch effects or covariates (e.g., `~ batch + condition`) - Testing complex hypotheses with interaction terms (e.g., time × treatment) or reduced models using likelihood ratio tests (LRT) - Importing Salmon pseudoalignment output via tximeta or tximport for transcript-level uncertainty propagation - Performing LFC shrinkage with apeglm for ranked gene lists, volcano plots, and down

What's inside
Steps it walks through
  1. Overview
  2. When to Use
  3. Prerequisites
  4. Quick Start
  5. Workflow
  6. Step 1: Prepare Count Matrix and Sample Metadata
  7. Step 2: Import from Salmon via tximeta
  8. Step 3: Pre-Filtering and Quality Control
  9. Step 4: Run DESeq() — Normalization, Dispersion, and Model Fitting
  10. Step 5: Extract Results and Apply FDR Correction
  11. Step 6: LFC Shrinkage with apeglm
  12. Step 7: Visualize — MA Plot, Volcano Plot, and Heatmap
  13. Step 8: Multi-Factor Design and Interaction Terms
  14. Key Parameters
More from awesome-bio-agent-skills
All skills →
About this skill
What does the deseq2-differential-expression skill do?

Bulk RNA-seq DE with R/Bioconductor DESeq2. Negative binomial GLM, empirical Bayes shrinkage, Wald/LRT tests, multi-factor designs, Salmon tximeta import, apeglm LFC shrinkage, MA/volcano/heatmap viz. R gold standard. Use pydeseq2-differential-expression for Python; use edgeR for TMM normalization.

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill deseq2-differential-expression --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From BioTender-max/awesome-bio-agent-skills, a repository with 144 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going