Borzoi
Skill BioTender-max/awesome-bio-agent-skills/skills/claude-science/borzoi
Predict genome-wide functional tracks (RNA-seq, CAGE, DNase, ChIP) from DNA sequence with Borzoi. Use this skill when: (1) Scoring the regulatory effect of a variant on expression/accessibility, (2) Generating predicted coverage tracks for a locus, (3) Prioritising non-coding variants by predicted track delta.From its SKILL.md
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill borzoiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.8 KB, 766 tokens by cl100k_base, as published. Nobody here has run it
Borzoi — DNA → Functional Track Prediction
Prerequisites
| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.10+ | 3.11 |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 16 GB | 24 GB+ |
How to run
from borzoi_pytorch import Borzoi
model = Borzoi.from_pretrained("johahi/borzoi-replicate-0").cuda().eval()
# input: (batch, 4, 524288) one-hot DNA → output: (batch, tracks, 6144) bins
Borzoi consumes ~524 kb one-hot windows and emits binned predictions across
7,611 human tracks (the separate 2,608-track mouse head is off by default;
enable via enable_mouse_head=True and select with
forward(..., is_human=False)). For variant scoring, run ref/alt windows
centred on the variant and compare per-track output.
Output format
(B, T, L) tensor — T tracks × L 32-bp bins. Track metadata (assay,
biosample) is in borzoi_pytorch.pytorch_borzoi_model.TRACKS_DF (or model.tracks_df when using the AnnotatedBorzoi subclass) — the base Borzoi model has no targets attribute.
Remote compute
Needs ≥24 GB VRAM and either pre-cached HF weights or egress to
huggingface.co. Read compute_details({provider, mode:'read'}) for an
environment with borzoi-pytorch, then:
c = host.compute.create(provider)
job = c.submit_job(
intent="Borzoi track prediction for 1 locus — 1×GPU, ~2 min",
inputs=[{"src": "borzoi_run.py", "dst_filename": "borzoi_run.py"}],
command="python3 borzoi_run.py", # env selection is host-specific — see compute_details for your provider
outputs=["tracks.npz"],
timeout_seconds=1800,
)
print(job.job_id) # cell ends here — kernel never blocks on compute
Then call the wait_for_notification brain-tool. When the
compute_done notification arrives, act on its payload:
save_artifacts(payload["featured_files"]) # paths under hpc/<job_id>/
For the full result dict (output_files, remote_workdir, …), re-enter the
kernel: c.attach_job(job_id).result() then c.close(). See the
remote-compute-ssh / remote-compute-modal skill for the orchestration
details.
If the provider exposes a weight-cache mount, point HF_HOME at it inside
borzoi_run.py (path is in compute_details).
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
module has no __version__ | Package exposes no attr | Use importlib.metadata.version("borzoi-pytorch") |
| Shape mismatch on input | Wrong window length | Pad/crop to 524288 bp (fixed; not exposed as a model attribute) |
Next: combine track deltas with evo2 likelihood deltas for a
two-axis variant prioritisation.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.