Download the entire Proteinbase database: 5,000+ experimentally validated protein-protein interactions. All data comes from lab experiments performed by Adaptyv Bio with standardized protocols, plus computational metrics and structure predictions.
What's included:
•Positive data: Protein pairs that bind
•Negative data: Protein pairs that don't bind
•Standardized protocols: Same experimental methods for all data
•Experimental measurements: Binding affinities, expression levels, and more
•Computational metrics: Structure predictions, stability scores, and more
from datasets import load_dataset
ds = load_dataset("adaptyvbio/proteinbase")["proteins"]
# evaluations is a list of measurements per protein
for ev in ds[0]["evaluations"]:
print(ev["metric"], ev["method"], ev["value"], ev["unit"])
Every export is tagged, so you can pin an exact snapshot for a paper: load_dataset("adaptyvbio/proteinbase", revision="v2026-08-03"). This is one unpartitioned corpus, so there is a single split named proteins rather than the usual train/test division.
Downloads are UTF-8 CSV files with a header row. Scalar values are quoted strings, while the evaluations column serializes an array of JSON objects describing each measured metric for a protein. The HuggingFace dataset carries the same columns, with evaluations as a real nested list rather than a string.
Columns
id — stable identifier for the protein, safe to treat as a primary key.
name — optional reference label, empty if none was supplied.
sequence — amino-acid sequence
author — creator handle when available.
designMethod — slug describing the design pipeline used to generate the protein.
`evaluations` array
JSON array where each object captures a measurement linked to the protein. Each object exposes:
type — evaluation category. Values:computational, experimental, curated.
metric — slug naming the metric (e.g. kd, tm-score, expressed).
target — binding target slug when applicable; empty otherwise.
valueType — parse hint. Values:numeric (number), boolean (true/false), label (string from a controlled vocabulary), json (structured payload).
unit — unit symbol such as nM or °C; blank when the metric is unitless.
value — the measurement itself, formatted according to valueType.
method — slug of the tool or protocol that produced the measurement (esmfold, boltz2, bli, spr). Distinguishes entries that share a metric.
measuredAt — ISO timestamp of the evaluation.
When the same metric appears more than once
Computational entries are deduplicated: where a tool has been run more than once for the same protein and metric, only the most recent result is included.
Experimental entries are not deduplicated. Several entries sharing a metric and method are genuine replicate measurements and should be aggregated (e.g. averaged) rather than treated as duplicates.
Entries sharing a metric but differing in method are different tools measuring the same quantity, and are never merged.
Proteinbase is licensed under the Open Data Commons Attribution License (ODC-By).
You are free to:
Share: Copy, distribute and use the database
Create: Produce works from the database
Adapt: Modify, transform and build upon the database
As long as you:
Attribute: Include this text in any work building on Proteinbase:
"This work used Proteinbase by Adaptyv Bio under ODC-BY license"