First-Principles Dispersion with Calibrated Sterics, Target-Class Routing, and FEP+ Validation
December 2025 · Version 2.2
Empirical scoring functions for protein-ligand docking suffer from over-parameterization, poor transferability across target classes, and sensitivity to minor steric clashes in rigid-receptor poses. We present LatticeZero, a geometric bypass scoring engine that replaces empirical terms with physics-derived components: (1) dispersion energies from Resonant Field Theory lattice calculations yielding first-principles C₆ coefficients, (2) steric repulsion with a docking-calibrated scale factor sR derived from potential matching rather than AUC optimization, and (3) optional HBQ mode adding directional hydrogen bonding and Coulomb electrostatics.
Benchmarked on a 6-target DUD-E subset spanning kinases, proteases, and GPCRs, LatticeZero v2.2 with ML enhancement achieves 0.87 AUC on BACE1, 0.85 AUC on AA2AR, and 0.80 AUC on EGFR. Physics-only scoring (vdW) provides 0.41-0.64 AUC baselines; family-specific ML heads add +0.20-0.45 AUC improvement. We introduce the ΔClash pocket descriptor, which predicts optimal steric calibration from pocket geometry. Optimized scoring kernels enable 50-80 ligands/sec throughput—5-25× faster than Smina score-only mode.
New in v2.2: FEP+ validation with target-class routing achieves perfect rank-order (ρ=1.0) on serine proteases and 60% GREEN validation rate across tested targets. Ensemble docking rescues water-mediated binding sites (+1.0 ρ improvement on HSP90).
Keywords: molecular docking, scoring function, FEP, dispersion, van der Waals, machine learning, protein-ligand binding
Molecular docking is a cornerstone of computational drug discovery, enabling virtual screening of large compound libraries against protein targets. The process involves two distinct challenges: pose prediction (finding plausible binding geometries) and scoring (ranking poses and compounds by predicted affinity). While sampling algorithms have matured considerably, scoring functions remain a fundamental bottleneck.
The disconnect between docking scores and experimental binding affinities is well-documented. Correlations between predicted and measured ΔG values rarely exceed r = 0.5 even for well-behaved congeneric series. More critically for virtual screening, enrichment of active compounds over decoys varies dramatically across target classes.
Contemporary scoring functions such as AutoDock Vina, Glide, and GOLD rely on empirical parameterization against experimental binding data. While pragmatically successful, this approach introduces several fundamental limitations:
Over-parameterization. Empirical functions employ 10–50+ adjustable parameters fit to historical binding affinity datasets. These parameters encode statistical correlations rather than physical principles, leading to unstable extrapolation beyond the training domain.
Decoy bias. Benchmark datasets like DUD-E construct decoys with matched physicochemical properties but distinct topologies. However, empirical functions trained on such benchmarks may learn to exploit subtle distributional artifacts rather than genuine binding physics.
Steric clash sensitivity. Rigid-receptor docking protocols produce poses with minor atom-atom overlaps (~0.2–0.5 Å). Empirical functions with steep repulsive walls severely penalize such clashes, often assigning infinite or near-infinite energies.
Target class inhomogeneity. Different binding pockets exhibit different physics. Kinase ATP-binding sites require precise hydrogen bond geometry. GPCR transmembrane pockets are dominated by hydrophobic packing. A single set of empirical weights cannot optimize for all regimes.
We present LatticeZero, a scoring engine that addresses these limitations through first-principles physics rather than empirical fitting. Our contributions are:
The attractive component of the van der Waals interaction arises from correlated electron fluctuations between non-bonded atoms. In LatticeZero, we compute dispersion energies using C₆ coefficients derived from Resonant Field Theory (RFT) lattice calculations.
The London dispersion energy between atoms i and j at separation rij takes the familiar form:
The C₆ij coefficient depends on the dynamic polarizabilities αi(ω) and αj(ω):
At short range, the dispersion energy diverges as r → 0. We apply a Fermi-type damping function:
where r₀ij = sR · (σi + σj) defines the onset of damping and β = 12 Å⁻¹ ensures smooth transition.
Steric repulsion prevents atoms from overlapping. We use a standard r⁻¹² repulsive potential:
Atomic radii in LatticeZero are calibrated against CCSD(T) calculations on noble gas dimers (He₂, Ne₂, Ar₂, Kr₂), achieving 0.25 kcal/mol mean absolute error. However, docking poses from Smina contain minor steric clashes because these engines use soft-sphere potentials during optimization.
Rather than tuning sR to maximize benchmark AUC, we derive sR from potential matching: minimizing the discrepancy between LatticeZero's repulsive potential and Smina's soft-sphere model. This analysis yields sRSmina ≈ 0.50.
| sR | Mean AUC | Thrombin AUC | Clash Rate |
|---|---|---|---|
| 0.60 | 0.412 | 0.208 | 79% |
| 0.55 | 0.451 | 0.386 | 58% |
| 0.50 | 0.479 | 0.520 | 42% |
| 0.45 | 0.463 | 0.512 | 28% |
For polar binding pockets, we provide an extended scoring mode (HBQ):
The scoring kernels are implemented in Rust for production throughput, enabling batch processing of thousands of poses per second. See Section 5 for runtime comparisons against Smina.
A key insight from our benchmark analysis is that different binding pockets respond differently to steric calibration. We formalize this through the ΔClash descriptor:
| Regime | Definition | Targets | Strategy |
|---|---|---|---|
| Tight | ΔClash < -10% | P38A | Softer sterics help |
| Neutral | -10% < ΔClash < +5% | CDK2 | Default sR works |
| Discriminating | +5% < ΔClash < +20% | AA2AR | Physics excels |
| Broken | ΔClash > +20% | EGFR, Thrombin, BACE1 | HBQ or ML required |
The physics-only vdW scoring mode provides baseline discrimination without any machine learning. Performance varies by pocket regime:
| Target | Class | AUC (vdW) | EF@10% | Pocket Regime |
|---|---|---|---|---|
| P38A | Kinase | 0.30 | 0.74 | tight |
| CDK2 | Kinase | 0.53 | 1.67 | neutral |
| EGFR | Kinase | 0.58 | 1.67 | broken |
| AA2AR | GPCR | 0.64 | 1.67 | discriminating |
| Thrombin | Protease | 0.42 | 0.50 | broken |
| BACE1 | Protease | 0.41 | 0.00 | broken |
Key finding: Physics-only scoring achieves above-random (AUC > 0.5) discrimination on 4/6 targets. AA2AR ("discriminating" regime) shows the strongest physics performance at 0.64 AUC, validating the ΔClash hypothesis. Targets classified as "broken" require additional features.
LatticeZero v1.3 adds optional ML reranking that preserves physics interpretability:
| Category | Features | Count |
|---|---|---|
| vdW Physics | Evdw, Erep, Edisp, log₁₊(Erep) | 4 |
| HBQ Physics | Ehbq, Ecoul, Ehb, NHbonds, |Ecoul|, |Ehb|, Ehbq−Evdw | 7 |
| Ligand Descriptors | MW, logP, TPSA, nheavy, nrot, nrings, nHBA, nHBD, ... | 9 |
The final v1.3 benchmark on hero targets shows substantial improvement over physics-only scoring:
| Target | Class | AUC (vdW) | AUC (vdW+ML v1.3) | Δ AUC |
|---|---|---|---|---|
| BACE1 | Protease | 0.41 | 0.87 | +0.45 |
| AA2AR | GPCR | 0.64 | 0.85 | +0.21 |
| EGFR | Kinase | 0.58 | 0.80 | +0.22 |
Adding HBQ physics features (v1.3) over vdW-only ML (v1.2) provides consistent improvement:
| Target | v1.2 (vdW ML) | v1.3 (vdW+HBQ ML) | Δ |
|---|---|---|---|
| EGFR | 0.778 | 0.801 | +0.02 |
| AA2AR | 0.833 | 0.849 | +0.02 |
| BACE1 | 0.863 | 0.867 | +0.00 |
Key finding: HBQ features push EGFR across the 0.80 AUC threshold, indicating that H-bond and electrostatic interactions capture binding-relevant physics that vdW dispersion alone misses.
Beyond virtual screening (AUC), drug discovery requires accurate rank-ordering of congeneric ligand series for lead optimization. LatticeZero v2.2 introduces FEP+ validation with target-class-specific scoring.
Different protein families require different scoring configurations:
| Target Class | Configuration | Rationale |
|---|---|---|
| Kinases | Rigid receptor, MC sampling | ATP pocket well-defined; induced fit minimal |
| Serine Proteases | Calibrated elec_scale (0.0003) | Charged catalytic triad requires electrostatic tuning |
| Water-Heavy | 5-state ensemble | Multiple water network conformations must be sampled |
For water-mediated binding sites (e.g., HSP90), a single receptor structure produces anti-correlated results. We sample five receptor states:
Scores are aggregated using Boltzmann weighting (kT = 4 kcal/mol).
| Target | Class | Mode | Spearman ρ | Status |
|---|---|---|---|---|
| Thrombin | Serine Protease | FEP+ | 1.00 | GREEN |
| EGFR | Kinase | FEP+ | 0.63 | GREEN |
| HSP90 (pyrimidone) | Chaperone | Ensemble | 0.50 | GREEN |
Some target classes remain challenging:
We publish both successes and failures with clear validation gates.
LatticeZero's Rust-accelerated scoring engine delivers production-ready throughput on modest hardware.
| Component | Value |
|---|---|
| Platform | DigitalOcean (2 vCPU, 4GB RAM) |
| Baseline | Smina score_only mode |
| Test | Pre-docked poses, batch rescoring |
| Target | #Poses | Smina (s) | LZ vdw_ml (s) | Speedup |
|---|---|---|---|---|
| EGFR | 1,593 | 154.6 | 6.2 | 25× |
| AA2AR | 150 | 14.3 | 3.0 | 4.8× |
| BACE1 | 180 | 18.1 | 3.1 | 5.8× |
| Engine | Speed |
|---|---|
| Smina score_only | ~10 ligands/sec |
| LZ vdW (physics only) | ~80 ligands/sec |
| LZ vdW+ML | 50-60 ligands/sec |
Key finding: LatticeZero v1.3 rescores 50-80 ligands/sec on a 2-core VM—5× faster than Smina score-only mode. For multi-pose workflows (like EGFR with 20 poses/ligand), the speedup reaches 25× due to batch processing.
LatticeZero demonstrates that physics-derived scoring can compete with empirical methods while maintaining interpretability. Our contributions:
LatticeZero v1.3 is available for research preview at latticezero.com.