Source profileQuality 77/100

xuzhougeng/wisp-science/skills/evo2/SKILL.md

evo2

Score, embed, and generate DNA sequences with Evo 2, a long-context genomic foundation model. Use this skill when: (1) Computing per-nucleotide or per-sequence likelihoods for variant effect scoring, (2) Embedding genomic windows for downstream classification, (3) Generating DNA conditioned on a prefix, (4) Scoring regulatory or coding regions across species.

Source repository stars
560
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Score, embed, and generate DNA sequences with Evo 2, a long-context genomic foundation model.

Best for

  • Use this skill when: (1) Computing per-nucleotide or per-sequence likelihoods for variant effect scoring, (2) Embedding genomic windows for downstream classification, (3) Generating DNA conditioned on a prefix, (4) Scor…

Not for

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

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/xuzhougeng/wisp-science --skill "skills/evo2"
Safe inspection promptEditorial

Inspect the Agent Skill "evo2" from https://github.com/xuzhougeng/wisp-science/blob/95d2c13d1665d46a388b5bdc998dcce0d5ec2eee/skills/evo2/SKILL.md at commit 95d2c13d1665d46a388b5bdc998dcce0d5ec2eee. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    How to run

    Review the “How to run” section in the pinned source before continuing.

    Review and apply the “How to run” source section.
  2. 02

    Prerequisites

    Review the “Prerequisites” section in the pinned source before continuing.

    Review and apply the “Prerequisites” source section.
  3. 03

    Installation

    Review the “Installation” section in the pinned source before continuing.

    Review and apply the “Installation” source section.
  4. 04

    Weights pulled from Hugging Face on first model load.

    python from evo2 import Evo2

    python from evo2 import Evo2model = Evo2("evo27b") or "evo240b" — see model table seqs = ["ATCG" 50, "GGGCTTAA" 25] ll = model.scoresequences(seqs) → list[float], mean per-token log-likelihood print(ll) python out = model.generate( promptseqs=["AT…Need a DNA model? │ ├─ Per-base/per-sequence likelihood, generation → Evo 2 ✓ ├─ Predict experimental tracks (expression, accessibility) → borzoi └─ Protein, not DNA → fair-esm2 / esmfold2 json { "contextid": "ssh:gpu-b…

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score77/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars560SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
xuzhougeng/wisp-science
Skill path
skills/evo2/SKILL.md
Commit
95d2c13d1665d46a388b5bdc998dcce0d5ec2eee
License
AGPL-3.0
Collected
2026-07-28
Default branch
main
View the original SKILL.md

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). Use a selected and probed ssh:<alias> context and load remote-compute-ssh. Confirm that the environment imports Evo 2 and that the desired weights are cached. Submit a self-contained scoring script through one run_in_context call:

{
  "context_id": "ssh:gpu-box",
  "title": "Evo 2 variant scoring",
  "command": "source ~/miniforge3/etc/profile.d/conda.sh && conda activate evo2 && HF_HOME=/srv/model-cache HF_HUB_OFFLINE=1 python score_evo2.py --output /home/me/wisp-results/evo2/scores.json",
  "timeout_secs": 1800,
  "input_paths": ["runs/score_evo2.py"],
  "output_specs": [
    {
      "glob": "ssh://gpu-box/home/me/wisp-results/evo2/scores.json",
      "kind": "json",
      "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. Set HF_HUB_OFFLINE=1 only after confirming the cache is complete, so the loader does not 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.

Alternatives

Compare before choosing