Marc C. Deller, D.Phil.
GOBSMACKED
marc@marcdeller.com

Does a predicted structure dock well enough to match a crystal?

Structure prediction can now give you a protein model for almost any sequence. If you want to know how a drug binds to it, you still have to dock the drug into that model, and the honest question is whether the answer resembles what an X-ray experiment would have shown you.

This page is two campaigns that ask exactly that, on two very different proteins. Each runs the same six combinations: the protein model built two ways, each searched by three docking methods. Everything else is held constant, and in both cases the answer is already known from a crystal structure, so every prediction can be marked against it.

The measure throughout is RMSD, the average distance between the predicted drug and the real one. Under 2 Å is normally called a success; 8 Å is the width of a pocket, and means the prediction is simply in the wrong place. Every distance on this page is the graded pose — the one that comes out of the molecular dynamics and carries the score — not the pose that came straight out of docking. The two differ by a few tenths of an Ångström in either direction.

The two campaigns disagree with each other. That is the most useful thing on this page, and the rest of it explains why.

EGFR and erlotinib — a kinase

EGFR kinase domain (P00533, residues 714-966), docked against crystal 1M17 (2.6 Å, holding erlotinib itself). Each run links to its full scorecard.

RunProtein modelDocking Pocket accuracy Distance from the crystalGradeTime
Co-folded receptor, standard docking co-folded dock 0.65 Å 1.48 Å B 87.4 61 min
Co-folded receptor, hybrid docking co-folded hybrid 0.82 Å 1.62 Å B 84.8 66 min
Co-folded receptor, flexible docking co-folded flex 1.31 Å 8.58 Å D 49.6 99 min
AlphaFold receptor, standard docking AlphaFold dock 0.91 Å 4.90 Å D 51.2 60 min
AlphaFold receptor, hybrid docking AlphaFold hybrid 0.91 Å 7.44 Å D 56.2 63 min
AlphaFold receptor, flexible docking AlphaFold flex 1.61 Å 8.38 Å D 51.2 98 min

Co-folding decided it. Nothing else did. — Pocket accuracy is how far the model's binding site sits from the crystal's, so it separates a bad protein model from a bad drug placement.

β2AR and carazolol — a GPCR

Beta-2 adrenergic receptor (P07550, residues 50-326), docked against crystal 2RH1 (2.4 Å, holding carazolol itself). Each run links to its full scorecard.

RunProtein modelDocking Pocket accuracy Distance from the crystalGradeTime
Co-folded receptor, standard docking co-folded dock 0.31 Å 5.69 Å D 60.4 165 min
Co-folded receptor, hybrid docking co-folded hybrid 0.32 Å 1.13 Å B 91.6 160 min
Co-folded receptor, flexible docking co-folded flex 0.77 Å 1.41 Å B 84.1 173 min
AlphaFold receptor, standard docking AlphaFold dock 0.32 Å 2.84 Å B 83.2 175 min
AlphaFold receptor, hybrid docking AlphaFold hybrid 0.32 Å 1.41 Å B 87.4 154 min
AlphaFold receptor, flexible docking AlphaFold flex 1.18 Å 0.90 Å A 94.2 91 min

The docking mode decided it. The receptor did not. — Pocket accuracy is how far the model's binding site sits from the crystal's, so it separates a bad protein model from a bad drug placement.

The same six choices, opposite answers

Reading the two grids together: each cell is the distance from the crystal, and green is a success.

Protein model dockhybridflex
EGFR + erlotinib — kinase
co-folded 1.48 Å B 1.62 Å B 8.58 Å D
AlphaFold 4.90 Å D 7.44 Å D 8.38 Å D
β2AR + carazolol — GPCR
co-folded 5.69 Å D 1.13 Å B 1.41 Å B
AlphaFold 2.84 Å B 1.41 Å B 0.90 Å A

Same code, same settings, same six combinations. The kinase succeeds only in the top-left corner; the GPCR fails only there.

What the two campaigns disagree about

Folding the protein with the drug was decisive on one target and useless on the other

On EGFR, folding the protein together with the drug and then discarding the predicted drug position was the whole game: both successes came from it, and no AlphaFold run got closer than 4.9 Å. On β2AR it bought nothing. The AlphaFold model's pocket is already 0.32 Å from the crystal — as accurate as the co-folded one — so there was nothing left to improve.

The pocket-accuracy column shows why. On EGFR, co-folding really does build a better site than AlphaFold — 0.65 Å against 0.91 Å — because a kinase site needs shaping around its drug. On β2AR the two routes land in the same place, 0.31 Å against 0.32 Å, because the orthosteric site is rigid and exhaustively determined. Seven minutes of co-folding buys a better pocket on one target and nothing at all on the other.

Flexible docking was the worst option on one target and the best on the other

On EGFR, letting the protein move during the search took seven times longer than standard docking and produced the poorest result on both protein models. On β2AR it produced the best result of all twelve runs — 0.90 Å, the only A grade on this page.

That run also has the least accurate pocket of the six, 1.18 Å. It moved the receptor furthest and got the closest answer. Pocket accuracy and pose accuracy are not the same thing, and on this target they point in opposite directions.

The reason they disagree is which step was the bottleneck

On EGFR the search never generated a good answer to choose from: nothing in any AlphaFold pose set was closer than 6.5 Å, so no amount of re-ranking could recover one. Sampling was the constraint, and co-folding fixed it by handing the search an easier pocket.

On β2AR sampling was never the constraint. Every receptor was accurate, and the methods that search harder — hybrid and flexible — won on both of them, while plain docking came last on both. Searching and ranking were the constraint.

You cannot tell which case you are in by looking at the protein model. The four β2AR runs that docked into a fixed receptor had binding sites spanning just 0.307 to 0.323 Å — a 0.016 Å spread, four models from two different prediction methods — and produced answers from 1.13 to 5.69 Å. The only way to know is to check against a structure, which is what this tool is for.

What held on both

The binding-mode label is read off the protein, not off the score

The pipeline reads a label from the prediction and the same label from the crystal, using identical code on each. On β2AR they agreed in all six runs — orthosteric and inactive-like every time, correct for an inverse agonist, and still correct in the run whose drug placement was 5.69 Å wrong. On EGFR they agreed in four of six: one run called a textbook type I inhibitor type I½ despite having the campaign's best pose, and the run that placed erlotinib 4.9 Å away called the site allosteric.

The second miss is the label doing its job — a drug in the wrong place really is touching a different set of residues. The first is a threshold sitting too close to a boundary. Either way the label is describing the structure rather than restating the docking score, which is why it can disagree with it.

Letting a second scoring function choose the pose

Docking returns ten candidate positions and ranks them, and that ranking is often wrong. A second scoring function re-ranks them and chooses which goes forward. On EGFR it turned a D into a B without changing anything else; on β2AR it overruled the docking engine in the winning runs of both arms.

Predicted binding strength still tells you nothing about pose quality

It is reported beside the score and never inside it, on both targets, for the same reason: across poses spanning 1.5 to 8.8 Å the affinity prediction barely moves.

The short version

  • Check every prediction against a structure the only thing that worked on both targets
  • Assume what worked on one target works on the next three of four conclusions inverted
  • Let a second scorer choose the pose helped on both
  • Read pocket accuracy as pose accuracy 0.016 Å apart gave 1.13 to 5.69 Å

Two targets and two drugs, twelve runs. This is a pair of worked examples, not a benchmark. Its usefulness is that the second campaign contradicted the first: docking.rank_by and the choice of docking mode are settings rather than defaults because of exactly this.

On the timings. Wall-clock time is shown for scale, not as a measurement. The β2AR runs varied threefold in molecular-dynamics throughput for reasons unrelated to the runs themselves — the largest system was the fastest — because the machine was doing other things during some of them. Relative stage costs within a run are meaningful; comparisons between runs are not.

On the GPCR simulation. The molecular dynamics solvates the receptor in water with no lipid bilayer. Over 500 ps the seven-helix bundle held its shape — helicity was flat or slightly higher at the end, and the backbone settled by 300 ps — but this is not a membrane simulation and nothing here should be read as one. The reference crystal is also a chimera, with T4 lysozyme replacing a cytoplasmic loop that the models keep, so the two differ in construct as well as in method.