bulkrna-batch-correcti…
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when comparing gene expression between two conditions in bulk RNA-seq count data. Skip
$ npx -y skills add tiangzlab/omicsclaw --skill bulkrna-de --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bulkrna-deContext preview
The summary Claude sees to decide when to auto-load this skill.
Load when comparing gene expression between two conditions in bulk RNA-seq count data. Skip
name: bulkrna-de description: Load when comparing gene expression between two conditions in bulk RNA-seq count data. Skip when the data is single-cell (use sc-de); spatial (use spatial-de); you need exon-level alternative splicing (use bulkrna-splicing). trigger: differential expression, DE analysis, DESeq2, volcano plot, fold change, DEGs, bulk DE tags: - bulkrna - differential-expression - DESeq2 - volcano - MA-plot - fold-change
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.
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:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
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.
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.
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 -->
python skills/bulkrna/bulkrna-de/bulkrna_de.py --demo --output /tmp/bulkrna-de python skills/bulkrna/bulkrna-de/bulkrna_de.py --input counts.csv --output results/de --method ttest
`numpy`, `pandas`, `scipy`, `matplotlib`, `DESeq2`
Conversational & memory-enabled AI research partner for multi-omics analysis. CLI + Desktop App (installers in Releases). From biological idea to full research paper.
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when discovering bulk gene co-expression modules and hub genes with R WGCNA. Skip direct expression contrasts (use…
Load when estimating cell-type proportions in bulk RNA-seq samples from a single-cell or
Load when running pathway / GO term enrichment on a bulk RNA-seq DE result list. Skip when
Load when converting Ensembl, Entrez or symbol IDs in a bulk RNA count matrix using an explicit mapping or a small human demo…
Load when querying STRING for the protein-protein interaction neighborhood of a bulk