Make-on-demand chemical space passed 83 billion molecules in 2025. [1] The headline hides the actual problem. A bigger haystack helps only if your detector finds needles — and the detector here, molecular docking, is a known-weak instrument whose weaknesses get worse, not better, as the library grows.
The scoring function is the bottleneck, and it's biased in a specific direction
Docking ranks molecules by an approximate score meant to estimate binding. For two decades the literature has been blunt that these scores correlate poorly with measured affinity; docking is far better at enrichment — concentrating true actives near the top of a list — than at predicting how tightly anything binds. [2] That weakness would be tolerable if it were unbiased noise. It isn't.
Most scoring functions are additive over atomic interactions, so they systematically reward high molecular weight and lipophilicity: a larger molecule simply has more atoms with which to rack up favorable contacts, and so tends to score better regardless of whether it actually binds — which is why large, greasy compounds are a notorious source of docking false positives. [3] A second, subtler bias compounds it: a strained conformation can score better than the molecule's relaxed, lower-energy pose, letting internally strained molecules crowd out genuinely favorable ones at the top of the list.
Now scale that to billions. Every one of those biases is a systematic error, so enlarging the library doesn't average it out — it gives the bias more chances to manufacture better-scoring garbage. The 2019 landmark that docked 138 million make-on-demand compounds and recovered potent novel chemotypes worked because top-of-list enrichment held at that scale. [4] Push toward 10¹¹ and the question is no longer compute; it's whether the enrichment survives the flood of high-MW, strained false positives the scoring function actively prefers.
Why "just use deep learning to score" didn't rescue it
The obvious move is to replace the physics-based score with a deep-learning one trained on known actives. The cautionary tale here is one every practitioner should know. CNN scoring functions posted spectacular enrichment on the standard DUD-E benchmark — until Chen and colleagues showed the performance came from hidden bias in the dataset, not learned protein–ligand physics. DUD-E's actives for a target share scaffolds (analogue bias), and its decoys were built by removing the most-similar compounds (decoy bias), leaving decoys trivially separable from actives by topology alone. Models trained on PDBbind and tested on DUD-E performed no better than AutoDock Vina; the deep network had learned the benchmark, not the binding. [5] The lesson generalizes far past docking: an ML scoring function is only as honest as the benchmark that validated it, and chemical benchmarks leak similarity bias by default.
The real frontier: don't dock most of them
If the scoring function is the weak link and brute force amplifies its bias, the winning strategies all avoid exhaustive docking.
Active-learning surrogates (Deep Docking): dock a small sample (~1%), train a neural network to predict the docking score from structure, discard the predicted-bad majority, iterate. Reported result: over 100-fold acceleration while retaining more than 80% of top actives, with hundreds- to thousands-fold hit enrichment — billion-molecule libraries on ordinary compute. [6] Synthon-based search (V-SYNTHES) never enumerates the full space: dock the building-block fragments at their attachment points, keep the best scaffold–synthon seeds, and elaborate only those. It docks under 0.1% of an 11-billion-compound library and, when its predictions were synthesized and tested, delivered a 33% hit rate with 14 submicromolar ligands at roughly 100× less compute than a standard screen. [7] Both encode one insight: never score the 99.9% of the library you didn't need.
And when enrichment does surface candidates, you climb an accuracy ladder rather than trusting the docking score: fast, biased docking for triage; physics-based rescoring and machine-learned potentials to remove the MW and strain artifacts; then free-energy perturbation (FEP), which predicts relative binding potency far more accurately but at a cost that historically limited it to tens of molecules. [8] Active learning is now pushing FEP up the funnel too, spending the expensive, accurate method only where the cheap one earns it.
Library size is necessary, never sufficient
So the real shape of AI in virtual screening is not "screen more molecules." It is a layered enrichment problem built around a single uncomfortable fact: the base scoring function correlates weakly with reality, is biased toward heavy and strained molecules, and resists the deep-learning fixes that merely memorize biased benchmarks. Surrogate models and synthon search dodge the combinatorics; bias-controlled benchmarks and better physics rank the survivors. The 83-billion-molecule headline is a statement about the size of the haystack. Whether you find the needle is a statement about the detector — and the detector, not the haystack, is where the work is.
When a screen reports "we searched 10 billion compounds," ask the questions the number is built to dodge: what fraction was actually scored; was the scoring function validated on a bias-controlled benchmark or on DUD-E; and were the top hits corrected for molecular-weight and strain bias before anyone ordered a vial?