xuzhougeng/wisp-science

Open-source, local-first desktop AI research workbench for scientific computing with Python/R, MCP bioinformatics tools, SSH/WSL/GPU runtimes, and OpenAI/Anthropic models.

Qu'est-ce que wisp-science ?

wisp-science is a Claude Code agent skill that open-source, local-first desktop AI research workbench for scientific computing with Python/R, MCP bioinformatics tools, SSH/WSL/GPU runtimes, and OpenAI/Anthropic models.

Compatible avecClaude CodeCodex CLI~Cursor
npx skills add xuzhougeng/wisp-science

Installed? Explore more Recherche et analyse de données skills: obra/superpowers, affaan-m/quarkus-verification, affaan-m/uspto-database · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Evo 2 — DNA Language Model

Prerequisites

RequirementMinimumRecommended
Python3.113.12 (<3.13)
CUDA12.1+12.4+
GPU VRAM24 GB (7B bf16)80 GB (40B)
RAM32 GB128 GB

How to run

Installation

pip install evo2
# Weights pulled from Hugging Face on first model load.

Loading and scoring

from evo2 import Evo2

model = Evo2("evo2_7b")        # or "evo2_40b" — see model table
seqs = ["ATCG" * 50, "GGGCTTAA" * 25]
ll = model.score_sequences(seqs)   # → list[float], mean per-token log-likelihood
print(ll)

Generation

out = model.generate(
    prompt_seqs=["ATGAAAGCT"],
    n_tokens=256,
    temperature=0.7,
)
print(out.sequences[0])

Models

NameParamsContextVRAM (bf16)Notes
evo2_7b7 B1 M nt~22 GBDefault; fits on a single 24 GB+ GPU
evo2_40b40 B1 M nt~78 GBH100 80 GB or multi-GPU
evo2_1b_base1 B8 K nt~6 GBFP8 path requires sm_89+ (H100)

Output format

score_sequences returns a list[float] (or np.ndarray) of mean log-likelihoods, one per input sequence. More negative ⇒ less likely under the model. For variant effect, compute Δll = ll_alt - ll_ref over a fixed window.

generate returns a GenerationOutput with .sequences (list[str]), .logits (list[Tensor]), and .logprobs_mean (list[float]) — always populated, no flag required.

Decision tree

Need a DNA model?
│
├─ Per-base/per-sequence likelihood, generation → Evo 2 ✓
├─ Predict experimental tracks (expression, accessibility) → borzoi
└─ Protein, not DNA → fair-esm2 / esmfold2

Remote compute

7B/40B inference is GPU-bound (≥24 GB / 80 GB VRAM). Read compute_details({provider, mode:'read'}) for an environment with evo2 + flash-attn and a pre-cached HF weight mount, then submit:

c = host.compute.create(provider)
job = c.submit_job(
    intent="Evo2-7B score 200bp variant window — 1×GPU, ~2 min",
    inputs=[{"src": "score_evo2.py", "dst_filename": "score_evo2.py"}],
    command="python3 score_evo2.py",   # env selection is host-specific — see compute_details for your provider
    outputs=["scores.json"],
    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.

Inside score_evo2.py, point HF_HOME at the provider's weight-cache mount (path is in compute_details) and set HF_HUB_OFFLINE=1 so the loader doesn't try to write refs/ into a read-only mount. Weight footprint: ~15 GB (7B), ~80 GB (40B).

Typical performance

Task7B on H100Notes
Model load (cached)~5-7 minFirst call hydrates weights
score_sequences, 200×200bp~10-20 sAfter load
generate, 1×512 nt~15 s

Troubleshooting

SymptomCauseFix
Transformer Engine not installedNo FP8 — falls back to bf16Informational only on non-H100; ignore
OOM on load40B on <80 GB GPUUse evo2_7b or shard with device_map
HF tries to write refs/mainHF_HOME points at RO mountSet HF_HUB_OFFLINE=1
dtype mismatch in score_sequencesPassing tensors not stringsPass list[str]; the API tokenises for you

Next: pair with borzoi to predict track-level effects of the same variants.

Skills associés