xuzhougeng/wisp-science

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.

77Collecting
See how to use itView GitHub source
npx skills add https://github.com/xuzhougeng/wisp-science --skill "skills/evo2"

Quick start

Start using it in three steps

Install it or open the source, trigger it with a clear task, then follow the source workflow.

1

Install the Skill

npx skills add https://github.com/xuzhougeng/wisp-science --skill "skills/evo2"
2

Describe the task

Use evo2 to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.

3

Follow the workflow

No structured workflow was detected; follow the original SKILL.md below.

Continue to the workflow

Direct answers

Answers to review before you install

What is evo2?

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

Who should use evo2?

It is relevant to workflows involving Engineering.

How do you install evo2?

SkillSignal detected this source-specific command: npx skills add https://github.com/xuzhougeng/wisp-science --skill "skills/evo2". Inspect the repository and command before running it.

Which Agent platforms does it support?

The upstream source does not declare a dedicated Agent platform.

What permissions or risks should you review?

No obvious permission action was detected by the static rules. This is not proof that the Skill is safe.

What are the current evidence limits?

This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.

SkillSignal brief

Decide whether it fits your work first

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

Useful in these contexts

Not yet included in a workflow collection

Core capabilities

Engineering

Distilled from the source

Understand this Skill in one minute

About 2 min · 9 sections

When it is worth using

  1. 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…

Examples and typical usage

  1. scoresequences 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 = llalt - llref over a fixed window.

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

Limits and cautions

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

Repository stars
560
Repository forks
68
Quality
77/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

77/100
Documentation24/30
Specificity16/25
Maintenance20/20
Trust signals17/25

Compare before choosing

Related Agent Skills and source variants

These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.

View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 2 min

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.

Skill path
skills/evo2/SKILL.md
Commit SHA
95d2c13d1665
Repository license
AGPL-3.0
Data collected