Skip to main content

BEND 2.0 — Benchmarking the capabilities needed to design DNA

We built BEND 2.0 to test whether genomic models can guide the design of DNA. Across eight tasks, we examine how they predict sequence function, account for cell type and genetic background, and choose sequences that produce a desired response.

Five capabilities: sequence priors, functional prediction, biological context, genetic interactions and genomic design

BEND prepares the data, fits linear readouts to your model's frozen embeddings, and reports task scores and predictions. Python 3.11 or later is required. Your model's framework and weights are installed separately.

python -m pip install bend2

Leaderboard · Documentation · Benchmark data

Evaluate your model

With BEND installed, save an adapter as my_model.py:

import numpy as np
from bend2 import Model


def embed(sequences: list[str]) -> np.ndarray:
    return your_encoder(sequences)  # [batch, features]


model = Model("My model", embed=embed, revision="checkpoint-v1")

Replace your_encoder with your model's inference. Return one finite, fixed-width CPU NumPy vector per complete sequence, in input order, and record the actual model revision.

Start with Atlas: 7,657 short sequences, sixteen multi-cell design patterns, and data included with the package.

bend2 run my_model.py --tasks atlas_profile --output results/my-model
bend2 show results/my-model

To try the included base-composition baseline without model weights:

bend2 run composition --tasks atlas_profile --output results/composition

Tasks

Task What it tests
prior Recovering a hidden DNA base
opensplice Predicting mutation effects on splicing
context Predicting effect differences between cells
tissue_identification Identifying tissues from expression predictions
background Predicting interactions between mutations
repair_percentile Choosing an edit that matches a reference response
cell_selective Increasing expression in one cell while limiting changes in another
atlas_profile Choosing enhancers for a desired pattern of activity across cells

Seven tasks use embeddings; prior needs nucleotide probabilities. The siraj task group runs context, background, repair_percentile and cell_selective together, sharing inference work. Inspect requirements before a larger run:

bend2 plan my_model.py --tasks siraj

Data and results

Small datasets ship with the package. Larger files download from the public BEND 2.0 data release, pinned to a fixed revision and checked against the original file sizes and checksums. Source-specific terms apply to the data; see the data guide and source terms.

Saved results can be opened without loading the model:

from bend2 import Run

run = Run("results/my-model")
scores = run.to_dataframe()
predictions = run.table("atlas_profile")

Runs stay local until you choose to share them. Use bend2 --help for commands and bend2 tasks for task requirements. The submission guide explains how to contribute a model to the leaderboard.

Metadata

Release files for bend2 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bend2 1.0.2
File Size Uploaded Provenance Actions
bend2-1.0.2.tar.gz 26.7 MB Without provenance Details for bend2-1.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bend2 1.0.2
File Interpreter ABI Platform Actions
bend2-1.0.2-py3-none-any.whl Python 3 none any Details for bend2-1.0.2-py3-none-any.whl

Total release size: 52.9 MB

Release files / bend2-1.0.2.tar.gz

Download URL bend2-1.0.2.tar.gz
Size 26.7 MB
Tags Source
SHA-256 checksum
How to use checksums
1efd01c21bf3177109b196e2f3ec48980a50dc113a56c169fdcc79be99b33697
BLAKE2b-256 checksum
How to use checksums
f44aab7ec2bee7286ac31d17d1c7803f05b4939cb81bb4208a7b933d4bf09fa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / bend2-1.0.2-py3-none-any.whl

Download URL bend2-1.0.2-py3-none-any.whl
Size 26.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
41ee04f9337383a351774e0228fd91a67146755d979216ea371320b6b3b03e13
BLAKE2b-256 checksum
How to use checksums
d33fc91f5d798f03eae9a34faf51b1c2ac76a95612a6966a99147b0eba559f24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Security for bend2 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page