mcpbeat

Borzoi

xuzhougeng/borzoi

> Predict genome-wide functional tracks (RNA-seq, CAGE, DNase, ChIP) from DNA (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.

915 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
859
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/xuzhougeng/wisp-science --skill borzoi

The instruction itself

6 sections, as written by the author

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. Use a selected and probed ssh:<alias> context and load

remote-compute-ssh. Confirm borzoi-pytorch and the cache location, then

submit a self-contained runner with run_in_context:

{
  "context_id": "ssh:gpu-box",
  "title": "Borzoi prediction for one locus",
  "command": "source ~/miniforge3/etc/profile.d/conda.sh && conda activate borzoi && HF_HOME=/srv/model-cache python borzoi_run.py --output /home/me/wisp-results/borzoi/tracks.npz",
  "timeout_secs": 1800,
  "input_paths": ["runs/borzoi_run.py"],
  "output_specs": [
    {
      "glob": "ssh://gpu-box/home/me/wisp-results/borzoi/tracks.npz",
      "kind": "npz",
      "residency": "remote"
    }
  ]
}

Replace context, environment, cache, and output paths with discovered values.

Call monitor_run once to wait, get_run once for a snapshot, or cancel_run

to stop.

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.

How to use it

Copy the folder

Take xuzhougeng/borzoi from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.