bulkrna-batch-correcti…
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when checking a bulk RNA-seq count matrix for library-size outliers, gene detection
$ npx -y skills add tiangzlab/omicsclaw --skill bulkrna-qc --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bulkrna-qcContext preview
The summary Claude sees to decide when to auto-load this skill.
Load when checking a bulk RNA-seq count matrix for library-size outliers, gene detection
name: bulkrna-qc description: Load when checking a bulk RNA-seq count matrix for library-size outliers, gene detection rates, and sample-sample correlation before DE. Skip when data is raw FASTQ (use bulkrna-read-qc); aligner logs (use bulkrna-read-alignment); single-cell counts (use sc-qc). trigger: bulk QC, library size, count matrix, sample quality, gene detection, RNA-seq quality, count QC tags: - bulkrna - QC - count-matrix - library-size - gene-detection - sample-correlation - CPM
Assess raw integer count matrices before bulk differential expression. See the description for adjacent skills.
from skills._sdk.notebook import load_skill, read_input, write_output
library = load_skill("bulkrna-qc")
# Supply DataFrames read with read_input(..., reader=...) for your CSV layout.
result = library.assess(counts)
write_output(result, "tables/result.csv")The synthetic worked step is in `examples/example_step.py`.
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
Measure library size and detection on raw counts without changing input.
:param counts: Gene-by-sample nonnegative integer DataFrame with unique labels. :returns: Sample-indexed DataFrame with QC metrics and diagnostic attrs. :raises ValueError: The matrix is invalid or a sample has no counts.
Read QC diagnostics and auxiliary matrices.
:param result: DataFrame returned by assess. :param keep: Default True; False removes diagnostics from result.attrs. :returns: A diagnostic dictionary, empty when no record remains.
Return CPM for visualization, not differential-expression input.
:param result: DataFrame returned by assess with its diagnostics retained. :returns: New gene-by-sample CPM DataFrame. :raises KeyError: QC diagnostics have been removed.
Plot total counts per sample without saving files.
:param result: QC table returned by assess. :returns: A matplotlib Figure; the caller saves and closes it. :raises KeyError: total_counts is missing.
<!-- api:end -->
See [parameters](references/parameters.md) and [methodology](references/methodology.md).
The library returns objects without file writes. CLI inventory:
**Inputs**
**Outputs**
python skills/bulkrna/bulkrna-qc/bulkrna_qc.py --demo --output /tmp/bulkrna-qc
`matplotlib`, `numpy`, `pandas`, `scipy`
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 comparing gene expression between two conditions in bulk RNA-seq count data. Skip
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…