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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.