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 raw FASTQ quality (Phred / GC / adapter / Q20-Q30) before alignment in
$ npx -y skills add tiangzlab/omicsclaw --skill bulkrna-read-qc --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bulkrna-read-qcContext preview
The summary Claude sees to decide when to auto-load this skill.
Load when checking raw FASTQ quality (Phred / GC / adapter / Q20-Q30) before alignment in
name: bulkrna-read-qc description: Load when checking raw FASTQ quality (Phred / GC / adapter / Q20-Q30) before alignment in bulk RNA-seq. Skip when reads are already aligned (use bulkrna-read-alignment); counted (use bulkrna-qc); single-cell FASTQ (use sc-fastq-qc). trigger: FASTQ QC, read quality, Phred, FastQC, adapter, GC content, Q20, Q30 tags: - bulkrna - FASTQ - QC - Phred - GC-content - adapter - read-quality
Read raw Phred+33 FASTQ before alignment. This implements selected quality metrics, not the complete FastQC suite. Use `bulkrna-read-alignment` for logs.
from skills._sdk.notebook import load_skill, write_output
library = load_skill('bulkrna-read-qc')
data = library.demo_data(random_state=42)
result = library.quality_control(data)
write_output(result, 'tables/qc_summary.csv')For real files, pass `read_fastq`, `read_log` or `read_reference` as appropriate to `read_input(..., reader=...)`. `examples/example_step.py` is executable.
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
Read FASTQ records; pass this function as reader= to read_input.
:param path: FASTQ path; a .gz suffix selects gzip decompression. :param max_reads: CLI limit 100000; increase for a larger leading-read sample. :returns: Sequence and Phred+33 quality strings as rows. :raises ValueError: Records are truncated, malformed, or have unequal sequence/quality lengths.
Compute a new one-row quality summary for Phred+33 reads.
:param reads: sequence and quality string columns; input rows are not changed. :param max_reads: CLI default 100000 leading records; increase to inspect more reads. :returns: Scalar QC metrics and adapter counts; run_info retains per-base distributions. :raises ValueError: Reads, lengths or Phred+33 scores are invalid.
Read full quality distributions and sampling diagnostics.
:param result: Output of quality_control. :param keep: True preserves attrs; False removes diagnostics before serialization. :returns: A separate dictionary containing metrics and sampling provenance. :raises TypeError: The result is not a DataFrame.
Plot mean and interquartile quality by read position.
:param result: QC result retaining its diagnostic attrs. :returns: A matplotlib Figure without writing files. :raises KeyError: Per-base diagnostics are absent.
Plot GC fractions across sampled reads.
:param result: QC result retaining its diagnostic attrs. :returns: A matplotlib Figure without writing files. :raises KeyError: GC diagnostics are absent.
Generate valid synthetic FASTQ records in memory.
:param random_state: CLI seed 42; change for another simulation without altering global RNG state. :returns: Five thousand 150-base reads with quality strings of the same length. :raises ValueError: The seed is invalid.
<!-- api:end -->
`read_fastq` reads the leading 100000 records by default and accepts `.gz`. `quality_control` computes per-base quality, Q20/Q30, GC, lengths and adapter motif hits from sequence/quality strings. It does not trim reads.
The CLI writes these artifacts; functions return DataFrames and Figures without writing them:
python skills/bulkrna/bulkrna-read-qc/bulkrna_read_qc.py --demo --output /tmp/bulkrna_read_qc
For real files use `--input <file>`; trajectory placement also needs `--reference <file>`.
`matplotlib`, `numpy`, `pandas`
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…