tooluniverse-rnaseq-deseq2
Production-ready RNA-seq differential expression analysis using PyDESeq2. Performs DESeq2 normalization, dispersion estimation, Wald testing, LFC shrinkage, and result filtering. Handles multi-factor designs, multiple contrasts, batch effects, and integrates with gene enrichment (gseapy) and ToolUniverse annotation tools (UniProt, Ensembl, OpenTargets). Supports CSV/TSV/H5AD input formats and any organism. Use when analyzing RNA-seq count matrices, identifying DEGs, performing differential expression with statistical rigor, or answering questions about gene expression changes.
Best use case
tooluniverse-rnaseq-deseq2 is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Production-ready RNA-seq differential expression analysis using PyDESeq2. Performs DESeq2 normalization, dispersion estimation, Wald testing, LFC shrinkage, and result filtering. Handles multi-factor designs, multiple contrasts, batch effects, and integrates with gene enrichment (gseapy) and ToolUniverse annotation tools (UniProt, Ensembl, OpenTargets). Supports CSV/TSV/H5AD input formats and any organism. Use when analyzing RNA-seq count matrices, identifying DEGs, performing differential expression with statistical rigor, or answering questions about gene expression changes.
Teams using tooluniverse-rnaseq-deseq2 should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/tooluniverse-rnaseq-deseq2/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How tooluniverse-rnaseq-deseq2 Compares
| Feature / Agent | tooluniverse-rnaseq-deseq2 | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Production-ready RNA-seq differential expression analysis using PyDESeq2. Performs DESeq2 normalization, dispersion estimation, Wald testing, LFC shrinkage, and result filtering. Handles multi-factor designs, multiple contrasts, batch effects, and integrates with gene enrichment (gseapy) and ToolUniverse annotation tools (UniProt, Ensembl, OpenTargets). Supports CSV/TSV/H5AD input formats and any organism. Use when analyzing RNA-seq count matrices, identifying DEGs, performing differential expression with statistical rigor, or answering questions about gene expression changes.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agent for Product Research
Browse AI agent skills for product research, competitive analysis, customer discovery, and structured product decision support.
AI Agent for SaaS Idea Validation
Use AI agent skills for SaaS idea validation, market research, customer discovery, competitor analysis, and documenting startup hypotheses.
SKILL.md Source
# RNA-seq Differential Expression Analysis (DESeq2) Differential expression analysis of RNA-seq count data using PyDESeq2, with enrichment analysis (gseapy) and gene annotation via ToolUniverse. **BixBench Coverage**: Validated on 53 BixBench questions across 15 computational biology projects. ## Domain Reasoning DESeq2 assumes that most genes are NOT differentially expressed — this is its normalization assumption. If this assumption is violated (e.g., global transcriptional shutdown, where the majority of genes genuinely decrease), size factor normalization will inflate expression in the treatment group and produce artifactually upregulated genes. Always check the MA plot: the fold-change cloud should be centered on zero across all expression levels. A systematic upward or downward shift indicates a normalization problem, not biology. ## LOOK UP DON'T GUESS - Gene identifiers and annotations: use ToolUniverse annotation tools (`MyGene_query_genes`, UniProt); do not recall gene function or pathway from memory. - Enriched pathways: run gseapy or equivalent on the actual DEG list; do not list expected pathways. - Design formula factors: inspect `metadata.columns` and `metadata[factor].unique()` from the actual data; do not assume metadata structure. - DEG thresholds: apply the values specified by the user (padj, log2FC, baseMean); do not substitute defaults without checking the question. --- ## Core Principles 1. **Data-first** - Load and validate count data and metadata BEFORE any analysis 2. **Statistical rigor** - Proper normalization, dispersion estimation, multiple testing correction 3. **Flexible design** - Single-factor, multi-factor, and interaction designs 4. **Threshold awareness** - Apply user-specified thresholds exactly (padj, log2FC, baseMean) 5. **Reproducible** - Set random seeds, document all parameters 6. **Question-driven** - Parse what the user is actually asking; extract the specific answer 7. **Enrichment integration** - Chain DESeq2 results into pathway/GO enrichment when requested ## When to Use - RNA-seq count matrices needing differential expression analysis - DESeq2, DEGs, padj, log2FC questions - Dispersion estimates or diagnostics - GO, KEGG, Reactome enrichment on DEGs - Specific gene expression changes between conditions - Batch effect correction in RNA-seq ## Required Packages ```python import pandas as pd, numpy as np from pydeseq2.dds import DeseqDataSet from pydeseq2.ds import DeseqStats import gseapy as gp # enrichment (optional) from tooluniverse import ToolUniverse # annotation (optional) ``` ## Analysis Workflow ### Step 1: Parse the Question Extract: data files, thresholds (padj/log2FC/baseMean), design factors, contrast, direction, enrichment type, specific genes. See [question_parsing.md](references/question_parsing.md). ### Step 2: Load & Validate Data Load counts + metadata, ensure samples-as-rows/genes-as-columns, verify integer counts, align sample names, remove zero-count genes. See [data_loading.md](references/data_loading.md). ### Step 2.5: Inspect Metadata (REQUIRED) List ALL metadata columns and levels. Categorize as biological interest vs batch/block. Build design formula with covariates first, factor of interest last. See [design_formula_guide.md](references/design_formula_guide.md). ### Step 3: Run PyDESeq2 Set reference level via `pd.Categorical`, create `DeseqDataSet`, call `dds.deseq2()`, extract `DeseqStats` with contrast, run Wald test, optionally apply LFC shrinkage. See [pydeseq2_workflow.md](references/pydeseq2_workflow.md). **Tool boundaries**: - **Python (PyDESeq2)**: ALL DESeq2 analysis - **ToolUniverse**: ONLY gene annotation (ID conversion, pathway context) - **gseapy**: Enrichment analysis (GO/KEGG/Reactome) ### Step 4: Filter Results Apply padj, log2FC, baseMean thresholds. Split by direction if needed. See [result_filtering.md](references/result_filtering.md). ### Step 5: Dispersion Analysis (if asked) Key columns: `genewise_dispersions`, `fitted_dispersions`, `MAP_dispersions`, `dispersions`. See [dispersion_analysis.md](references/dispersion_analysis.md). ### Step 6: Enrichment (optional) Use gseapy `enrich()` with appropriate gene set library. See [enrichment_analysis.md](references/enrichment_analysis.md). ### Step 7: Gene Annotation (optional) Use ToolUniverse for ID conversion and gene context only. See [output_formatting.md](references/output_formatting.md). ## Common Patterns | Pattern | Type | Key Operation | |---------|------|---------------| | 1 | DEG count | `len(results[(padj<0.05) & (abs(lfc)>0.5)])` | | 2 | Gene value | `results.loc['GENE', 'log2FoldChange']` | | 3 | Direction | Filter `log2FoldChange > 0` or `< 0` | | 4 | Set ops | `degs_A - degs_B` for unique DEGs | | 5 | Dispersion | `(dds.var['genewise_dispersions'] < thr).sum()` | See [bixbench_examples.md](references/bixbench_examples.md) for all 10 patterns with examples. ## Error Quick Reference | Error | Fix | |-------|-----| | No matching samples | Transpose counts; strip whitespace | | Dispersion trend no converge | `fit_type='mean'` | | Contrast not found | Check `metadata['factor'].unique()` | | Non-integer counts | Round to int OR use t-test | | NaN in padj | Independent filtering removed genes | See [troubleshooting.md](references/troubleshooting.md) for full debugging guide. ## Interpretation Framework ### DESeq2 Result Interpretation | Metric | Threshold | Interpretation | |--------|-----------|---------------| | **padj** | < 0.05 | Statistically significant after multiple testing correction | | **log2FoldChange** | > 1 or < -1 | Biologically meaningful fold change (2x up or down) | | **baseMean** | > 10 | Gene is expressed at detectable levels | | **lfcSE** | < 1.0 | Fold change estimate is precise | ### Evidence Grading for DEGs | Grade | Criteria | Action | |-------|---------|--------| | **Strong DEG** | padj < 0.01, |LFC| > 1.5, baseMean > 100 | High-confidence; report and annotate | | **Moderate DEG** | padj < 0.05, |LFC| > 1.0, baseMean > 10 | Standard cutoff; include in enrichment | | **Weak DEG** | padj < 0.1 or |LFC| 0.5-1.0 | Suggestive; note but don't prioritize | | **Not significant** | padj >= 0.1 | Do not report as differentially expressed | ### Synthesis Questions 1. **How many DEGs and in which direction?** (up vs down ratio indicates biological response type) 2. **What pathways are enriched?** (GO/KEGG enrichment of DEGs reveals mechanism) 3. **Are the top DEGs biologically plausible?** (known markers for the condition?) 4. **Is the fold change magnitude realistic?** (LFC > 5 is unusual; check for outlier-driven effects) 5. **Are there batch effects?** (PCA should separate by condition, not by batch) --- ## Known Limitations - **PyDESeq2 vs R DESeq2**: Numerical differences exist for very low dispersion genes (<1e-05). For exact R reproducibility, use rpy2. - **gseapy vs R clusterProfiler**: Results may differ. See [r_clusterprofiler_guide.md](references/r_clusterprofiler_guide.md). ## Reference Files - [question_parsing.md](references/question_parsing.md) - Extract parameters from questions - [data_loading.md](references/data_loading.md) - Data loading and validation - [design_formula_guide.md](references/design_formula_guide.md) - Multi-factor design decision tree - [pydeseq2_workflow.md](references/pydeseq2_workflow.md) - Complete PyDESeq2 code examples - [result_filtering.md](references/result_filtering.md) - Advanced filtering and extraction - [dispersion_analysis.md](references/dispersion_analysis.md) - Dispersion diagnostics - [enrichment_analysis.md](references/enrichment_analysis.md) - GO/KEGG/Reactome workflows - [output_formatting.md](references/output_formatting.md) - Format answers correctly - [bixbench_examples.md](references/bixbench_examples.md) - All 10 question patterns - [troubleshooting.md](references/troubleshooting.md) - Common issues and debugging - [r_clusterprofiler_guide.md](references/r_clusterprofiler_guide.md) - R clusterProfiler via rpy2 ## Utility Scripts - [format_deseq2_output.py](scripts/format_deseq2_output.py) - Output formatters - [load_count_matrix.py](scripts/load_count_matrix.py) - Data loading utilities
Related Skills
tooluniverse
Router skill for ToolUniverse tasks. First checks if specialized tooluniverse skills (105+ skills covering disease/drug/target research, gene-disease associations, clinical decision support, genomics, epigenomics, proteomics, comparative genomics, chemical safety, toxicology, systems biology, and more) can solve the problem, then falls back to general strategies for using 2300+ scientific tools. Covers tool discovery, multi-hop queries, comprehensive research workflows, disambiguation, evidence grading, and report generation. Use when users need to research any scientific topic, find biological data, or explore drug/target/disease relationships. ALSO USE for any biology, medicine, chemistry, pharmacology, or life science question — even simple factoid questions like "how many X in protein Y", "what drug interacts with Z", "what gene causes disease W", or "translate this sequence". These questions benefit from database lookups (UniProt, PubMed, ChEMBL, ClinVar, GWAS Catalog, etc.) rather than answering from memory alone. When in doubt about a scientific fact, USE THIS SKILL to verify against real databases.
tooluniverse-variant-to-mechanism
End-to-end variant-to-mechanism analysis: given a genetic variant (rsID or coordinates), trace its functional impact from regulatory context (GWAS, eQTL, RegulomeDB, ENCODE) through target gene identification (GTEx, OpenTargets L2G) to downstream pathway and disease biology (STRING, Reactome, GO enrichment, disease associations). Produces an evidence-graded mechanistic narrative linking genotype to phenotype. Use when asked "how does this variant cause disease?", "what is the mechanism of rs7903146?", "trace variant to pathway", or "connect this GWAS hit to biology".
tooluniverse-variant-interpretation
Systematic clinical variant interpretation from raw variant calls to ACMG-classified recommendations with structural impact analysis. Aggregates evidence from ClinVar, gnomAD, CIViC, UniProt, and PDB across ACMG criteria. Produces pathogenicity scores (0-100), clinical recommendations, and treatment implications. Use when interpreting genetic variants, classifying variants of uncertain significance (VUS), performing ACMG variant classification, or translating variant calls to clinical actionability.
tooluniverse-variant-functional-annotation
Comprehensive functional annotation of protein variants — pathogenicity, population frequency, structural context, and clinical significance. Integrates ProtVar (map_variant, get_function, get_population) for protein-level mapping and structural context, ClinVar for clinical classifications, gnomAD for population frequency with ancestry data, CADD for deleteriousness scores, and ClinGen for gene-disease validity. Produces a structured variant annotation report with evidence grading. Use when asked about protein variant impact, missense variant pathogenicity, ProtVar annotation, variant functional context, or combining population and structural evidence for a variant.
tooluniverse-variant-analysis
Production-ready VCF processing, variant annotation, mutation analysis, and structural variant (SV/CNV) interpretation for bioinformatics questions. Parses VCF files (streaming, large files), classifies mutation types (missense, nonsense, synonymous, frameshift, splice, intronic, intergenic) and structural variants (deletions, duplications, inversions, translocations), applies VAF/depth/quality/consequence filters, annotates with ClinVar/dbSNP/gnomAD/CADD via ToolUniverse, interprets SV/CNV clinical significance using ClinGen dosage sensitivity scores, computes variant statistics, and generates reports. Solves questions like "What fraction of variants with VAF < 0.3 are missense?", "How many non-reference variants remain after filtering intronic/intergenic?", "What is the pathogenicity of this deletion affecting BRCA1?", or "Which dosage-sensitive genes overlap this CNV?". Use when processing VCF files, annotating variants, filtering by VAF/depth/consequence, classifying mutations, interpreting structural variants, assessing CNV pathogenicity, comparing cohorts, or answering variant analysis questions.
tooluniverse-vaccine-design
Design and evaluate vaccine candidates using computational immunology tools. Covers epitope prediction (MHC-I/II binding via IEDB), population coverage analysis, antigen selection, adjuvant matching, and immunogenicity assessment. Integrates IEDB for epitope prediction, UniProt for antigen sequences, PDB/AlphaFold for structural epitopes, BVBRC for pathogen proteomes, and literature for clinical precedent. Use when asked about vaccine design, epitope prediction, immunogenicity, MHC binding, T-cell epitopes, B-cell epitopes, or population coverage for vaccine candidates.
tooluniverse-toxicology
Assess chemical and drug toxicity via adverse outcome pathways, real-world adverse event signals, and toxicogenomic evidence. Integrates AOPWiki (AOPWiki_list_aops, AOPWiki_get_aop) for mechanism- level pathway tracing, FAERS for post-market adverse event quantification, OpenFDA for label mining, and CTD for chemical-gene-disease evidence. Produces structured toxicity reports with evidence grading (T1-T4). Use when asked about toxicity mechanisms, adverse outcome pathways, AOP mapping, FAERS signal detection, or chemical-disease relationships for drugs or environmental chemicals.
tooluniverse-target-research
Gather comprehensive biological target intelligence from 9 parallel research paths covering protein info, structure, interactions, pathways, expression, variants, drug interactions, and literature. Features collision-aware searches, evidence grading (T1-T4), explicit Open Targets coverage, and mandatory completeness auditing. Use when users ask about drug targets, proteins, genes, or need target validation, druggability assessment, or comprehensive target profiling.
tooluniverse-systems-biology
Comprehensive systems biology and pathway analysis using multiple pathway databases (Reactome, KEGG, WikiPathways, Pathway Commons, BioModels). Performs pathway enrichment, protein-pathway mapping, keyword searches, and systems-level analysis. Use when analyzing gene sets, exploring biological pathways, or investigating systems-level biology.
tooluniverse-structural-variant-analysis
Comprehensive structural variant (SV) analysis skill for clinical genomics. Classifies SVs (deletions, duplications, inversions, translocations), assesses pathogenicity using ACMG-adapted criteria, evaluates gene disruption and dosage sensitivity, and provides clinical interpretation with evidence grading. Use when analyzing CNVs, large deletions/duplications, chromosomal rearrangements, or any structural variants requiring clinical interpretation.
tooluniverse-structural-proteomics
Integrate structural biology data with proteomics for drug target validation. Retrieves protein structures from PDB (RCSB, PDBe), AlphaFold predictions, antibody structures (SAbDab), GPCR data (GPCRdb), binding pocket analysis (ProteinsPlus), and ligand interactions (BindingDB). Use when asked to find structures for a drug target, identify binding site ligands, cross-validate drug binding with structural data, assess structural druggability, or compare experimental vs predicted structures.
tooluniverse-stem-cell-organoid
Research stem cells, iPSCs, organoids, and cell differentiation using ToolUniverse tools. Covers pluripotency marker identification, differentiation pathway analysis, organoid model characterization, cell type annotation, and disease modeling. Integrates CellxGene/HCA for single-cell atlas data, CellMarker for cell type markers, GEO for stem cell datasets, and pathway tools for differentiation signaling. Use when asked about stem cells, iPSCs, organoids, cell reprogramming, pluripotency, differentiation protocols, or 3D culture models.