bulkrna-batch-correcti…
Load when correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation. Skip…
Load when the user needs Deterministic fixed-period 24-hour single-component cosinor OLS
$ npx -y skills add tiangzlab/omicsclaw --skill bulkrna-cosinor-rhythm --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bulkrna-cosinor-rhythmContext preview
The summary Claude sees to decide when to auto-load this skill.
Load when the user needs Deterministic fixed-period 24-hour single-component cosinor OLS
name: bulkrna-cosinor-rhythm description: Load when the user needs Deterministic fixed-period 24-hour single-component cosinor OLS rhythm analysis for a bulk RNA time-course CSV. Skip when an existing bulkrna skill already covers the request. trigger: cosinor, circadian rhythmicity, 24-hour rhythm, bulk RNA time course tags: - bulkrna - autogenerated - skill-scaffold
Use this Skill for a bulk RNA time-course CSV whose sample columns follow `T{hour}_R{replicate}` and require a deterministic 24-hour, single-component cosinor OLS fit per gene. Use another method when the period must be estimated, the design has covariates, or multi-harmonic/non-sinusoidal rhythms are needed.
**Outputs**
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
Fit a fixed 24-hour sinusoid independently to each gene.
:param timecourse: Gene-indexed DataFrame with T00_R1-style sample columns. :returns: Parameter DataFrame with descriptive rhythmic flags and diagnostics. :raises ValueError: Empty data, missing time columns or infinite expression.
Read gene counts and time-column filtering decisions.
:param result: DataFrame returned by fit. :param keep: Default True; False removes diagnostic attrs. :returns: Diagnostic dictionary, empty after removal.
Plot fitted amplitude against phase, without writing files.
:param result: Parameter DataFrame returned by fit. :returns: matplotlib Figure. :raises KeyError: Parameter columns are missing.
<!-- api:end -->
1. Load `--input <csv>` or the repository-bound demo dataset via `--demo`. 2. Parse time and replicate identities from the sample columns. 3. Fit `mesor + beta_cos*cos(2*pi*t/24) + beta_sin*sin(2*pi*t/24)` by OLS. 4. Derive amplitude, phase, fit statistics, and the per-gene rhythmicity verdict. 5. Write `cosinor_results.csv`, `semantic_summary.json`, `report.md`, and the standard result envelope.
# Demo python skills/bulkrna/run-derived/bulkrna-cosinor-rhythm/bulkrna_cosinor_rhythm.py --demo --output /tmp/bulkrna-cosinor-rhythm_demo # Real input python skills/bulkrna/run-derived/bulkrna-cosinor-rhythm/bulkrna_cosinor_rhythm.py \ --input <data.ext> --output results/ \ --method fixed-period-cosinor-ols
Python packages this skill's script needs. They are not installed for you — check before a long run.
`numpy`, `pandas`, `matplotlib`
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…