tiangzlab/omicsclaw/bulkrna-de
Claude Code and agent skill by tiangzlab/omicsclaw
- community
Checking that the SKILL.md file is still in the repository.
Load when comparing gene expression between two conditions in bulk RNA-seq count data. Skip
Install
npx vskill@latest install tiangzlab/omicsclaw/bulkrna-deSKILL.md
Bulk differential expression
Purpose
Compare two prefix-selected groups in a raw count matrix. The default backend is R DESeq2; --method ttest selects Welch tests. The R bridge applies apeglm or ashr shrinkage when installed, otherwise raw estimates. This is not a single-cell or splicing analysis.
Inputs & Outputs
CLI input is a gene-first CSV. The library takes a gene-indexed DataFrame. Both require nonnegative integer counts. Outputs include tables/de_results.csv, tables/de_significant.csv, four diagnostic figures, report.md and result.json; DESeq2 intermediate tables are backend-dependent.
API
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
differential_expression(counts, *, method='deseq2', control_prefix='ctrl', treat_prefix='treat', padj_cutoff=0.05, lfc_cutoff=1.0, min_count=10)
Compare treatment against control without changing the count matrix.
:param counts: Gene-indexed DataFrame of nonnegative integer raw counts. :param method: CLI default deseq2 (R); ttest selects Welch tests. :param control_prefix: CLI default ctrl selects control columns. :param treat_prefix: CLI default treat selects treatment columns. :param padj_cutoff: CLI default 0.05; significance requires a smaller adjusted p. :param lfc_cutoff: CLI default 1.0; absolute log2 effect must exceed it. :param min_count: Legacy filtering default 10 for total counts across selected samples. :returns: DE DataFrame with effect estimates, p values and run diagnostics in attrs. :raises ValueError: Counts, method, groups or thresholds are invalid. :raises ImportError: R DESeq2 is missing; use install_skill_deps for DESeq2.
run_info(result, *, keep=True)
Read filtering, group and executed-method diagnostics.
:param result: DataFrame returned by differential_expression. :param keep: Default True; False removes diagnostics from attrs. :returns: Diagnostic dictionary, empty after removal.
volcano_figure(result)
Plot reported log2 effects and adjusted significance.
:param result: DE DataFrame with log2FoldChange and padj. :returns: A matplotlib Figure without saving files. :raises KeyError: Required columns are absent.
<!-- api:end -->
Key CLI
Gotchas
run_info(result)['method_used']identifies the executed method. Missing DESeq2 raises an installation hint; a failed R fit can fall back to Welch with a warning andfallback_reason.run_info(result)['lfc_note']distinguishes Welch effects from the R bridge's package-dependent shrinkage. Welch tests are not a substitute for biological replication.run_info(result)['n_tested']counts genes after the default total-count filter of 10. Unmatched sample prefixes do not enter the comparison.
Dependencies
numpy, pandas, scipy, matplotlib, DESeq2
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/bulkrna/bulkrna-de/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/tiangzlab/omicsclaw/bulkrna-de)