Problem
De novo design of protein binders to a given target
Given a target protein (ideally a specified epitope), generate novel protein sequences - mini-binders, nanobodies/VHHs or full antibodies - that bind it tightly and specifically, without starting from a known binder. This is the core technical step in making biologic drugs designable rather than discovered, which is why it attracts both large pharma partnerships and >$1B of venture funding. A design campaign counts as SOLVED for a target when a computational pipeline, run zero-shot on a defined epitope, yields wet-lab-confirmed binders at a double-digit hit rate with affinities in the low-nanomolar to picomolar range, reproducibly across a benchmark set of diverse and hard targets (membrane proteins, multimers, conformational epitopes). Current best published evidence: 16% zero-shot de novo antibody hit rate (Chai-2, 2025), 17-82% nanomolar hit rates on 6 of 7 BenchBB-style targets (PXDesign, 2025), and community competitions at 14% (Adaptyv EGFR round 2, Dec 2024). Field-wide, hit rates still span roughly 0.1-39% depending on target and assay, and hard targets/epitopes often yield nothing.
Funding
Raised by the 5 companies working on it.
Why it is still open
As of 2026 the problem is target-dependent, not solved: published hit rates range from ~0.1% to ~39% with no agreed definition, methods offer limited control over the binding site, and hard targets and hard epitopes often fail outright. Adaptyv's own analysis of its competition concluded expression is essentially solved and lead optimization works well, but nobody can predict computationally which designs will bind before wet-lab testing - so campaigns remain empirical.
Source: sciencedirect.com
Who is working on it
Also active
Funding for these is not counted: the problem is a small part of what they do, or they contribute data and tools.
Prizes
| Prize | Status | Pays for | Amount |
|---|---|---|---|
| Adaptyv Bio EGFR Protein Design Competition (rounds 1-2, 2024) | Awarded | Solving | — |
| Adaptyv Bio Nipah Glycoprotein G Protein Design Competition | Awarded | Solving | — |
| BioML Challenge: Bits to Binders (UT Austin) | Awarded | Solving | — |
What counts as solved
import Mathlib /-! # De novo design of protein binders to a given target Modelled on the Adaptyv Bio protein-design competitions (rounds against EGFR and similar published targets): a team submits a small, capped number of designed sequences against a disclosed, publicly studied target protein; the organiser expresses them and measures binding in a standard biophysical assay. Scoring is a wet-lab hit rate plus best measured affinity, with a novelty guard so that rediscovering a known binder does not count. Concrete in Lean: the capped submission list, the per-design pass predicate, the hit rate as a ratio over the expressed designs, and the acceptance Prop with rungs. Opaque oracle (`Assay`): everything measured. Expression/solubility, dissociation constant K_D from SPR/BLI against the disclosed target, an off-target control, and the sequence-novelty call against the training/known-binder set. Attesters: the contract lab running the pinned assay protocol plus the organiser holding the novelty reference set. Nothing here is a biological or safety claim; the board's scope is a named benchmark target and the lab's own protocol and compliance review govern what may be ordered. Units: K_D in nanomolar (nM); identity as a fraction in [0, 1]; hit rate dimensionless. -/ namespace OpenSpur.Problems.DeNovoBinderDesign structure Design where sequence : String /-- Wet-lab and novelty results for one design (oracle). -/ structure Assay where expressed : Design → Prop -- soluble expression at the pinned scale kd : Design → ℝ -- nM against the disclosed benchmark target offTargetKd : Design → ℝ -- nM against the pinned control protein maxIdentityToKnown : Design → ℝ -- fraction identity to nearest known binder structure Thresholds where maxDesigns : ℕ -- submission cap, e.g. 10 maxKd : ℝ -- nM, e.g. 100 minSelectivity : ℝ -- off-target K_D / on-target K_D, e.g. 100 maxIdentity : ℝ -- novelty guard, e.g. 0.4 minHitRate : ℝ -- e.g. 0.2 of expressed designs /-- A design counts as a hit: expressed, tight enough, selective, and novel. -/ def Hit (A : Assay) (T : Thresholds) (d : Design) : Prop := A.expressed d ∧ 0 < A.kd d ∧ A.kd d ≤ T.maxKd ∧ T.minSelectivity * A.kd d ≤ A.offTargetKd d ∧ A.maxIdentityToKnown d ≤ T.maxIdentity noncomputable section def expressedCount (A : Assay) (ds : List Design) [DecidablePred A.expressed] : ℝ := ((ds.filter fun d => decide (A.expressed d)).length : ℝ) def hitCount (A : Assay) (T : Thresholds) (ds : List Design) [DecidablePred (Hit A T)] : ℝ := ((ds.filter fun d => decide (Hit A T d)).length : ℝ) /-- SOLVED: within the cap, the hit rate among expressed designs meets the bar. -/ def Solved (A : Assay) (T : Thresholds) (ds : List Design) [DecidablePred A.expressed] [DecidablePred (Hit A T)] : Prop := ds.length ≤ T.maxDesigns ∧ 0 < expressedCount A ds ∧ T.minHitRate * expressedCount A ds ≤ hitCount A T ds def rung (T : Thresholds) (k : ℕ) : Thresholds := { T with maxKd := T.maxKd / ((k : ℝ) + 1) } end /-- Tightening only the affinity bar keeps the hit set inside the looser bar. -/ theorem hit_mono (A : Assay) (T : Thresholds) (d : Design) (c : ℝ) (hc : c ≤ T.maxKd) (h : Hit A { T with maxKd := c } d) : Hit A T d := by obtain ⟨h1, h2, h3, h4, h5⟩ := h exact ⟨h1, h2, le_trans h3 hc, h4, h5⟩ end OpenSpur.Problems.DeNovoBinderDesign
Public resources
- BenchBB - benchmark of 7 targets for computational binder design (Adaptyv Bio)
- Adaptyv EGFR Binder Design Competition round 2 - results data (400 designs, measured KD)
- Crowdsourced Protein Design: Lessons From the Adaptyv EGFR Binder Competition (preprint)
- Adaptyv Nipah glycoprotein G competition - 1200 experimentally validated designs, open data on Proteinbase
- BioML Challenge: Bits to Binders (UT Austin) - 12,000 CD20-targeting CAR binder designs, functional CAR-T readout
- Bits to Binders data and code (Zenodo)
- ESM3 open-weights generative protein model
- Chai-1 structure prediction model (weights on Hugging Face)