pydeseq2

Perform DESeq2-style differential expression analysis on bulk RNA-seq count matrices.

21|2|Updated Dec 8, 2025
One-click install
npx skills add https://github.com/silverstein/claude-scientific-skills-desktop --skill pydeseq2-silverstein
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pydeseq2
Source: https://github.com/silverstein/claude-scientific-skills-desktop/tree/main/corpus/pydeseq2
Command: npx skills add https://github.com/silverstein/claude-scientific-skills-desktop --skill pydeseq2-silverstein

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pydeseq2, pandas, numpy, scipy, scikit-learn, anndata, matplotlib, seaborn, and includes scripts (resource) and references (resource) components.

What problem does it solve?

PyDESeq2 helps you identify differentially expressed genes from bulk RNA-seq count matrices using DESeq2-style normalization, dispersion modeling, Wald tests, and FDR correction so you can turn raw counts into statistically validated gene-level results.

Core Features & Use Cases

  • Bulk RNA-seq differential expression: Fit DESeq2 workflows in Python from data loading through dispersion and log fold-change estimation.
  • Flexible experimental designs: Support single-factor and multi-factor designs (e.g., batch, covariates, and interaction terms) using a Wilkinson formula.
  • Reliable hypothesis testing: Compute Wald test statistics with multiple-testing correction (Benjamini-Hochberg), with optional Cook’s-distance and independent filtering.
  • Visualization-ready outputs: Provide result columns (baseMean, log2FoldChange, pvalue, padj) and recommend LFC shrinkage for more stable volcano/MA plots.

Quick Start

Use PyDESeq2 to analyze bulk RNA-seq DE by running a full pipeline on a samples × genes count DataFrame with a matching samples × variables metadata DataFrame, then extracting significant genes where padj < 0.05.

Frequently Asked Questions about pydeseq2

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run differential gene expression analysis on a bulk RNA-seq count matrix?

Differential gene expression analysis on bulk RNA-seq count matrices requires a non-negative integer samples × genes DataFrame and aligned metadata. The workflow applies DESeq2-style normalization, dispersion estimation, and Wald testing to generate baseMean, log2FoldChange, pvalue, and FDR-adjusted padj results.

Can I include batch effects and continuous covariates in my bulk RNA-seq DE analysis?

Bulk RNA-seq DE analysis supports single-factor and multi-factor experimental designs including batch effects and continuous covariates. You specify these variables using a Wilkinson formula applied to your aligned samples × variables metadata DataFrame.

How do I get FDR-adjusted p-values and log2 fold changes for upregulated genes?

FDR-adjusted p-values and log2FoldChange values are computed using Wald test statistics with Benjamini-Hochberg multiple-testing correction. You extract significant upregulated and downregulated genes by filtering the results where padj < 0.05.

Does PyDESeq2 support LFC shrinkage for volcano plots and MA plots?

PyDESeq2 optionally supports LFC shrinkage to generate more stable log2FoldChange estimates. Applying shrinkage is recommended specifically for creating visualization-ready volcano and MA plots from your differential expression results.

What is the best way to handle multiple testing correction in bulk RNA-seq DE analysis?

Multiple testing correction in bulk RNA-seq DE analysis is handled via Benjamini-Hochberg FDR adjustment, with optional Cook’s distance and independent filtering. This reliable hypothesis testing approach computes Wald test statistics to validate gene-level differential expression.

Do I need normalized counts or raw integer counts for DESeq2-style differential expression?

DESeq2-style differential expression requires inputs as non-negative integer counts in a samples × genes DataFrame, not pre-normalized data. The workflow internally performs its own normalization and dispersion modeling directly on the raw count matrix.