Each candidate is a point (gx, gz) in an abstract 2D sequence-mutation space. Three simplified scoring functions — the kind an AI design pipeline learns from structure-prediction and energy models — turn that position into real developability numbers:
ΔΔG(g) = -2.0 + 0.4·g_x² + 0.15·g_z² + 0.15·g_x (kcal/mol, lower = more stable)
pK_D(g) = 6.5 + 1.8·tanh(0.6·g_x) - 0.12·|g_z| (higher = tighter binding)
Agg(g) = 0.15 + 0.12·|g| + 0.05·max(0, g_x) (aggregation propensity)
Fitness = -ΔΔG + 1.2·(pK_D - 6.5) - 2·Agg (combined objective, map brightness)
The top-down map's brightness is this fitness surface — the same trade-off an AI protein-design loop navigates: mutations that improve binding (raising pKD) often cost stability or raise aggregation risk, so the optimum sits on a ridge, not at an extreme (verified numerically: the global optimum over the sampled grid sits at gx≈0.73, gz≈0, not at a boundary — confirming the "ridge, not extreme" claim rather than contradicting it).
- Candidate pool — how many designed sequences the generative model proposes per round.
- Mutation step — how far each new round explores around the current best candidate (small = local refinement, large = broad search).
- Developability cutoff — the aggregation-propensity threshold a candidate must clear to be considered developable, alongside a fixed ΔΔG ≤ 0 stability requirement.
- Run cycle — one design → build → test round: candidates are scored, the best is kept, and the next pool is resampled around it (plus a fraction of wide random exploration so the search doesn't get stuck).
KD is derived from pKD via KD = 10(9 - pKD) nM, the same log-affinity convention used to report real SPR and fluorescence-polarization binding assays.
Drag the top map to pan, scroll/pinch to zoom. The two lower panels track the ΔΔG–pKD trade-off of the live population and the best-fitness history across rounds.