Finding 13 · 2026-09-02

D4: the GNINA top-1000 screen came back empty — as pre-registered

Boltz-2 scoring of the GNINA-ranked top-1000 natural products against both eligible targets — 2YXJ (BCL-XL) and 7AAD (PARP1) — at their validated hit thresholds produced zero hits above the bar. This was written into the plan as a legitimate outcome, and it is what was reported.

What we expected

After the operator threshold reset made 2YXJ (0.658) and 7AAD (0.784) screening-eligible on 0/50 neg-controls, the plan's Phase 3 was to score the top-1000 natural products (ranked by GNINA docking score, not chemical similarity) against both targets. The pre-registered D4 gate said zero survivors was a legitimate, reportable outcome and the gates must not be relaxed to produce a number.

What happened

All top-1000 feed compounds that were not already Boltz-2 scored were run at n=1 with pocket constraints applied (verified in the persisted details on every row: pocket_constraint_applied: true). The screen produced:

  • 2YXJ (threshold 0.658): 406 fresh compounds scored — 0 above threshold. Best: bp 0.507 (pLDDT 0.65).
  • 7AAD (threshold 0.784): 59 fresh compounds scored (the rest of the top-1000 already had scores from the earlier PARP1 screen) — 0 above threshold. Best: bp 0.629 (pLDDT 0.91).

The 5-gate lead ranking (positive lipophilicity residual, clean PAINS/BRENK, anti-target selectivity, cross-screen, affinity head) reported 0 passed all five — its input is by construction only above-threshold hits, and there were none.

Why it happened

Two readings, both consistent: (1) the natural-product chemistry does not match these pockets — the feed is ultra-novel NP chemistry, and the FP-similarity prefilter that preceded GNINA was itself documented as near-random because of that novelty; a 1000-compound slice may simply contain no BH3-mimetic or NAD+-pocket pharmacophore. (2) The validated thresholds are conservative by design — the neg-control reset that bought 0% false positives also moved the bar high, and a true binder scoring 0.5–0.62 would be called a miss. That trade (false-negative rate for a clean hit-gate) was made deliberately at the reset.

Why it is a result, not a failure

The pipeline demonstrably scored: real predictions with full provenance (PAE fields, source, elapsed, constraint flags) landed in the database for 465 distinct compounds across both targets. “No hits” is the message, and it is credible precisely because the measurement worked. This repeats the earlier shape of Finding 8 (PARP1's NP hit list empty at 0.897 after the constraint fix) on a fresh ranked slice at the corrected operator threshold — consistency across runs is evidence the outcome is not a single-run artifact.

“D4 — How many NP hits survive all five controls? Zero is a legitimate, reportable outcome. The 2026-06-14 audit precedent was 0 of 17. Do not relax the gates to produce a number.”

Bring us the number you are least sure about.

That is usually the one worth thirty minutes.

Book a 30-min call