tiangzlab/omicsclaw/bulkrna-cosinor-rhythm
Claude Code and agent skill by tiangzlab/omicsclaw
- community
Checking that the SKILL.md file is still in the repository.
Load when the user needs Deterministic fixed-period 24-hour single-component cosinor OLS
Install
npx vskill@latest install tiangzlab/omicsclaw/bulkrna-cosinor-rhythmSKILL.md
bulkrna-cosinor-rhythm
Purpose
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.
Inputs & Outputs
Outputs
report.mdresult.jsoncosinor_results.csvsemantic_summary.json
API
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
fit(timecourse)
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.
run_info(result, *, keep=True)
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.
rhythm_figure(result)
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 -->
Flow
- Load
--input <csv>or the repository-bound demo dataset via--demo. - Parse time and replicate identities from the sample columns.
- Fit
mesor + beta_cos*cos(2*pi*t/24) + beta_sin*sin(2*pi*t/24)by OLS. - Derive amplitude, phase, fit statistics, and the per-gene rhythmicity verdict.
- Write
cosinor_results.csv,semantic_summary.json,report.md, and the standard result envelope.
Gotchas
cosinor_results.csvmarks rhythmic genes with descriptive thresholds (R-squared ≥ 0.8 and amplitude/mesor ≥ 0.2), not a significance test.semantic_summary.jsonlists columns dropped for more than 20% missing values. Duplicate gene identifiers keep their first row; fits with insufficient observations or a singular design return missing parameters.cosinor_results.csvuses a fixed 24-hour period;--methodis retained as a report label, not a backend selector.
Key CLI
See also
references/parameters.md— every CLI flag, per-method tunablesreferences/methodology.md— the WHY behind the algorithmreferences/output_contract.md—result.jsonenvelope + downstream paths
Dependencies
Python packages this skill's script needs. They are not installed for you — check before a long run.
numpy, pandas, matplotlib
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/bulkrna/run-derived/bulkrna-cosinor-rhythm/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-cosinor-rhythm)