Silico

archa-gf

Find better drug-binding poses for drug discovery by reading a structure model's internals

Use a lightweight activation probe to recover protein–ligand poses the confidence score buries, then use that signal to steer the frozen model toward more correct generations.

In short

Cofolding models often generate a correct ligand-binding pose but rank it poorly. Their internal activations can contain a useful, target-specific signal that the model’s confidence score fails to expose.

A linear activation probe can rerank the same 100 candidates without retraining the model or generating additional poses. On EV-A71, the probe’s top choice was correct 4.13 times as often as random selection. Using the probe direction during generation increased correct poses on MERS main protease from 11.25 to 46.94 per 100 generated.

The boundary matters: the ranking signal does not transfer reliably to new proteins, and the steering result is in-sample. Steering produces more correct poses per batch, but it does not improve the best pose or expand the number of complexes for which a correct pose exists.

Why pose ranking matters

When a medicinal chemist asks whether a candidate molecule will bind a protein, the useful answer is not yes or no. It is the pose: the particular position, orientation and twist the molecule takes inside the protein's pocket. Almost everything downstream — which chemical group to modify, whether a series is worth pursuing, what to synthesize next — reads off that geometry. Cofolding models emit many candidate poses and then rank them with a confidence score of their own; whoever is using the model looks at the top of that list. Two separate skills therefore have to go right, and modern cofolders are far better at the first than the second.  

Pose
One specific predicted placement of the molecule (the ligand) inside the protein. Every model here generates 100 of them per complex.
Correct pose
Throughout this page, a pose is correct only if it clears three bars at once: it sits within 2 ångströms of the experimentally determined structure (roughly the length of a chemical bond); it reproduces the contacts at the protein–ligand interface; and it passes a standard battery of physical-plausibility checks. This rule is stricter than the ones used on published cofolding leaderboards, so the numbers here should not be read alongside those tables.
The models
Five general-purpose cofolding models: Protenix, Boltz-2, Chai-1, OpenDDE and OpenFold3.
The benchmarks
Four sets of protein–ligand complexes with experimentally solved structures: EV-A71 2A protease (802 complexes), the Mac1 macrodomain of SARS-CoV-2 (349), MERS main protease (96), and the protein–ligand subset of FoldBench (554), the broadest and most chemically diverse of the four.
GNINA
An external, physics-aware docking program that scores poses. It knows nothing about the cofolding model's internals; it is a second opinion from outside.

Step one

Check whether the model generated the right pose but ranked it poorly

Start with a case where the correct answer is already in the candidate pool. For FoldBench complex 7fwo, Boltz-2 ranked a pose 5.067 Å from the experimental structure first. It ranked a 0.986 Å pose—essentially the right placement—last. GNINA reversed that ordering without changing the model, candidates, or protein pocket.

Rotating view of FoldBench complex 7fwo alternating between two
  predicted poses of the same molecule against the experimental structure: the pose Boltz-2
  ranks first, 5.07 ångströms away, and the pose GNINA ranks first, 0.99 ångströms away.
The same pocket, the same 100 candidates, two picks. Pale grey is the experimental structure. Pink is the pose Boltz-2's own confidence ranks first (rank 1 of 100, 5.07 Å away); orange is the pose GNINA ranks first (rank 100 of 100 in Boltz-2's ordering, 0.99 Å away). The view turns steadily while the molecule alternates between the two picks; the two are never drawn at the same time.

A failure this vivid — the model's own first pick more than 5 ångströms out while GNINA's first pick is fully correct — turns up 42 times in 8,707 model–complex pairs, so it is the tail of the distribution rather than the typical case. The typical case is milder and more expensive: the right pose is in there, and you have to read a long way down the list to find it. On MERS main protease with OpenDDE, following the model's own confidence order, you would open 59 of the 100 poses to get 80 per cent of what that pool of poses can deliver. Following GNINA's order instead: 21. Same poses, same model, same pocket — only the ordering changed.

Step two

Fit a linear probe to the model's activations

Freeze the cofolding model and capture the 1,536-value activation produced for each candidate pose by its confidence module. Fit a single linear weight vector to predict whether a pose is correct. The model's weights stay untouched, and scoring a new pose requires only one dot product.

That linear probe ranks the model's candidates better than its own confidence head, reading activations that were already being computed and thrown away.

Bar chart of correct poses among the 25 selected, for the
  model's own confidence, GNINA and the internal probe, across four benchmarks.
Of the 25 poses each selector picks out of 100, how many are correct — the average over the five general-purpose models. The dotted line is the same 100 poses with no ranking applied at all, which is the floor a selector has to clear. The internal probe beats the model's own confidence on all four benchmarks and beats GNINA on three of them. On FoldBench nothing separates: every selector sits within about one point of the unranked pool.

The comparison that matters most is not against the model's own confidence, which is a weak baseline, but against picking at random from the same 100 poses. That floor is exact: for a pool of 100 it can be computed rather than simulated. The signal is strong but target-dependent. The probe's top selection beats random choice by 4.13× on EV-A71, holding in six of the six checkpoints tested — the five models above plus a version of OpenFold3 fine-tuned on that target — 2.65× on MERS, holding in only four of the six, and 1.22× on Mac1, in six of six. It shows no meaningful advantage on FoldBench: 1.04×, in one of six. The model contains a useful ranking signal for some proteins, not a universal notion of pose quality. Where the probe does lead, that lead is not an artifact of where the correctness line was drawn: moving the distance threshold moves every selector's curve together.

One model–target pair makes the size of the effect concrete. On EV-A71 with Protenix, taking a single pose, random selection solves 17.63 per cent of complexes, the model's own confidence solves 19.83 per cent, and the probe solves 35.91 per cent. And for two of the five general-purpose models the model's own confidence lands below the random floor: OpenDDE 1.25 against a floor of 1.60, base OpenFold3 1.37 against 3.25, a shortfall that survives correction for multiple comparisons for base OpenFold3 (q = 0.0019, against the conventional 0.05 bar). On that model and that target you would do better closing your eyes and picking a pose than trusting the ranking.

Rotating view of Mac1 complex 7HQ2 showing the experimental
  structure in pale grey, OpenDDE's own top-ranked pose in pink 6.48 ångströms away, and
  the probe's top-ranked pose in green 0.44 ångströms away.
One complex, Mac1 7HQ2, with OpenDDE. Pale grey is the experimental structure. Pink is the model's own first choice, 6.48 Å out, in a different part of the site. Green is the probe's first choice, 0.44 Å out — a pose the model itself had ranked 21st of 100.

Step three

Test whether the probe works on a new protein

A target-specific probe is useful when solved structures already exist for that protein. A general pose scorer must work without them. To test that harder setting, freeze the probe and apply it to a protein absent from its training data.

Heatmap of percentage-point change in complexes solved,
  transferable probe minus the model's own confidence, for four models across three
  benchmarks.
A probe trained on other benchmarks and applied frozen, measured against each model's own confidence ranking. Warm is a gain, cool a loss. The best cell — OpenDDE carried to MERS — gains 14.58 percentage points on the model's own confidence.

Both halves of this result need saying. Against the model's own confidence, the transferred probe does help in places: up to 14.58 percentage points more complexes solved, for OpenDDE on MERS. Against random selection from the same pool, the honest floor, it does not. Across 24 model–benchmark combinations, zero beat both the model's own confidence and random selection once multiple testing was accounted for. That best combination exceeds random selection by 5.81 percentage points, with an uncertainty interval straddling zero and a corrected q-value of 0.15 — well short of the 0.05 bar. Beating a weak deployed default is worth something. It is not the same as having a general-purpose pose scorer.

Step four

Use the probe direction to steer generation

A probe defines a direction in activation space. Add that direction during diffusion to ask a causal question: does moving the model's internal state toward “correct pose” change what it generates?

Bar chart of correct poses per 100 generated for unguided
  sampling, probe-guided sampling at three strengths, and matched random-direction controls.
OpenDDE generating poses for 16 MERS complexes, 100 poses per complex per arm. Guiding along the probe direction at strength 0.05 takes correct poses from 11.25 to 46.94 per 100. A random direction of the same size, applied the same way, produces 1.38. At strength 0.40 the guided arm collapses to zero: the effect is not monotone in how hard you push.

Correct poses per 100 generated rise from 11.25 to 46.94 — a factor of 4.17. The effect depends on which direction is applied, not merely on perturbing the sampler: a random direction of the same magnitude, which moves the poses by an indistinguishable amount, yields 1.38 instead, and produces 22 physically valid poses out of 1,600 where the probe direction produces 775. Nor is it a knob to turn up without limit — at strength 0.40 the guided arm collapses to zero.

Guidance increased the number of generated poses that passed the full correctness rule, largely by improving physical validity. It did not improve the best geometric placement or uncover correct poses for additional complexes. The closest pose to the experimental structure got farther away in 14 of the 16 complexes, and the set of complexes for which a correct pose existed anywhere in the pool did not change at all — the change in coverage is exactly zero. The intervention makes many more of the poses the model was already generating physically valid; it does not find new binding sites. The guiding direction was also fitted on the same 16 complexes it steered, so this demonstrates that the mechanism works, not that it would work on a new target.

What this adds up to

This closes the loop: diagnose a ranking failure, recover a better target-specific signal from the frozen model, and then intervene on that same signal during generation. The result is not a universal pose scorer. It is a concrete example of using internal representations to move from model diagnosis to causal control.

The generalization of that: when a model is good at a task and bad at knowing when it has succeeded, its own report is not the best available estimate of its own state. For some targets, the model contains a better ranking signal than its confidence score exposes.

What this does not show

Target transfer

Steering generalization

Placement versus validity

Benchmark ceilings