arboreto — Claude Code skill: gene regulatory networks
Ranks candidate regulator-target pairs from expression data: GRNBoost2 with gradient boosting, GENIE3 with random forests. Needs a gene table and a TF list.
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a claude-codeWhat arboreto does
The skill gives the agent a recipe for candidate gene regulatory networks. Rows are observations, columns are genes, and the result is a ranked list of regulator-target pairs with an importance score. GRNBoost2 fits gradient boosting per target, GENIE3 fits random forests. A gene never predicts itself. These are predictive associations, so binding, activation or causality still needs separate evidence.
Everything runs in an isolated Python 3.11 environment: arboreto==0.1.6 with dask[complete]==2024.7.1, distributed==2024.7.1, numpy==1.26.4, pandas==2.2.3, scikit-learn==1.5.2, scipy==1.13.1. The pins are not decoration. The PyPI wheel builds an empty metadata graph that newer Dask rejects, and 0.1.6 calls .A on sparse targets, which SciPy 1.14 dropped. Set dask.config.set({"dataframe.query-planning": False}) before importing Arboreto, and restart a notebook kernel that already loaded the newer backend. No credentials required; network only for installation.
The bundled scripts/basic_grn_inference.py takes a TSV, rejects duplicate headers, non-numeric values and an empty overlap with the TF list, then writes a headerless file in TF, target, importance order. --limit caps links across the whole network, not per target. One worker is the default, which is the right place to start before scaling to available memory.
What it helps with
- rank transcription factor to target links by importance
- compare GRNBoost2 against GENIE3 on one matrix
- feed a CSC sparse expression matrix into inference
- check network stability across seeds and resampled observations
- hand a ranked network to pySCENIC
Example prompts for the agent
- Build the network from `expression_data.tsv`, take factors from `tfs.txt`, seed 777, two workers
- Run `scripts/basic_grn_inference.py` with `--limit 5000` and `--index-col 0`, sample IDs in the first column
- Compare GRNBoost2 and GENIE3 output and show pairs that survive both runs
How to install arboreto
1Skills CLI (Vercel)
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a claude-code2Manually: put the files in place
~/.claude/skills/arboreto/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/arboreto/
1Skills CLI (Vercel)
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a codex2Manually: put the files in place
.agents/skills/arboreto/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a cursor2Manually: put the files in place
.cursor/skills/arboreto/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install K-Dense-AI/scientific-agent-skills arboreto2Manually: put the files in place
.github/skills/arboreto/SKILL.md1Skills CLI (Vercel)
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a gemini-cli2Platform CLI
gemini skills install https://github.com/K-Dense-AI/scientific-agent-skills --path skills/arboretoManually: put the files in place
.devin/skills/arboreto/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set120
The whole set →Similar
Questions about arboreto
How to install arboreto in Claude Code?
Run npx skills add K-Dense-AI/scientific-agent-skills --skill arboreto -a claude-code, and the skill lands at ~/.claude/skills/arboreto/SKILL.md.
What does arboreto do?
It produces candidate transcription factor to target pairs scored by importance from expression data, so you can decide which edges to follow up.
Which library versions does it need?
The pinned set is arboreto==0.1.6, dask[complete]==2024.7.1, distributed==2024.7.1, numpy==1.26.4, pandas==2.2.3, scikit-learn==1.5.2, scipy==1.13.1 on Python 3.11. Sparse targets need SciPy no newer than 1.13.1.