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

Benchmark data

The package is available now; the GitHub repository and online leaderboard are awaiting their public launch. Full documentation is included in the source distribution under Download files on this page.

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 source distribution includes docs/submitting.md for preparing a future leaderboard contribution.

Metadata

Release files for bend2 1.0.1

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.1
File Size Uploaded Provenance Actions
bend2-1.0.1.tar.gz 26.7 MB Without provenance Details for bend2-1.0.1.tar.gz

Built distribution (wheel)

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

Total release size: 52.9 MB

Release files / bend2-1.0.1.tar.gz

Download URL bend2-1.0.1.tar.gz
Size 26.7 MB
Tags Source
SHA-256 checksum
How to use checksums
14947e383ac715a072dec9b469d6116355289bb4ac61f7b7ad36431cb16f8d0a
BLAKE2b-256 checksum
How to use checksums
acb3e3bc78664b8237210bccdec2ca1783b3a14e342f83c8896742ec5fab2c06
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.1-py3-none-any.whl

Download URL bend2-1.0.1-py3-none-any.whl
Size 26.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b2a3b77abd1d6230d0be83764782ee0f38a52a5e803e82f080de5c9266cb0d57
BLAKE2b-256 checksum
How to use checksums
75dd942b24fb606b0faf018d42429565cecc2fd1e97066e52a49d0fa55db5497
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.1

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