brugada.net · The search

Updated 16 July 2026

Most things fail.

The point of a screen isn’t to find winners. It’s to kill things cheaply, in the right order, before they waste anyone’s time.

There are millions of small molecules. You cannot test them all in a lab — each real experiment costs money and weeks. So you test them in a computer first, in stages, cheapest first, and you throw away everything that fails. Whatever survives has earned a real experiment. That’s all a screen is.

Here the stages get progressively more honest and progressively more expensive:

  1. Could it even work? Is the molecule small enough, and does it carry a positive charge in the right place? Cheap. Kills most things instantly.
  2. Does it fit? Drop it into the gap and see if it reaches. Seconds per molecule.
  3. Does it stay for 20 nanoseconds? Now we simulate actual physics — the protein, the cell membrane, the water, everything jiggling. This is where most survivors die, and it’s where the current run is.
  4. Does it stay when we try three times? Same test, different random starting nudges. Catches the ones that got lucky once.
  5. Does it stay for a really long time? The expensive one. Ten hours of computer time per attempt.
  6. How hard is it holding on? A number for the strength of the grip. This has never been run on any candidate.

A nanosecond is a billionth of a second, which sounds absurd until you remember these are individual molecules bouncing around. Twenty nanoseconds is long enough for a molecule to find a grip, settle in, get bored, and let go. Watching that happen is the entire test.

The single most important thing on this page

The cheap tool is blind. That’s why this is slow.

Step 2 — the fast one, the one that can rank thousands of molecules a day — was tested to see whether it could tell the broken protein from the healthy one. It cannot. The difference it reports between them is indistinguishable from noise.

That result invalidates this project’s own cheapest instrument, which is why it’s printed here in large type instead of buried in an appendix. Everything downstream has to be decided by the slow, expensive physics simulation instead. If the fast tool worked, this would be a weekend project. It doesn’t, so it isn’t.

The actual numbers

Docking the same compounds against R104Q and wild-type gives a mean score difference of −0.01 kcal/mol (SD 0.15). Zero of 120 compounds separated beyond ±1 kcal of noise.

Splitting cationic from non-cationic compounds on raw D84 contact: Mann–Whitney p = 0.29. Statistically blind.

Across both cationic docking screens, zero purchasable compounds reproduced the bidentate grip (both carboxylate oxygens engaged). The best are monodentate — which turned out to be exactly agmatine’s eventual failure mode.

05_docking_and_pockets · 12_mechanism_fix

What the machines are doing right now

A run is live. It’s on cycle 19.

This is not a historical summary — it’s the current state of an automated screen that is still going. It has put 12 molecules through the 20-nanosecond test. 4 gripped and held. 6 fell off. 2 grabbed on and then let go partway through — which is the exact failure this stage exists to catch, and the reason nobody should trust a short test.

4

held the grip

6

let go entirely

2

held, then peeled off

11

waiting for the long test

Nothing has finished the long test in this round. Zero. The queue has 11 molecules in it and not one result. Anyone telling you this project has found something is reading a different page than this one.

Every molecule in this run, with its numbers

Distances in ångströms — smaller is a tighter grip. “Occupancy” is the fraction of the second half of the run spent gripping. GO needs a tight mean and high occupancy; EARLY-ONLY is the signature of a molecule that starts well and drifts.

Compound1st half (Å)2nd half (Å)OccupancyVerdict
ZINC0000202191302.8872.7880.98GO
ZINC0000388230672.8022.7361.0GO
ZINC0003908348862.72.6981.0GO
ZINC0018577956932.7082.71.0GO
ZINC0000193300312.8475.0780.066EARLY-ONLY
ZINC0000657342655.4633.8270.656EARLY-ONLY
ZINC00002053350610.19510.1830.0NO-GO
ZINC00003167243915.4922.6120.0NO-GO
ZINC0000673509475.23717.6380.0NO-GO
ZINC0001013585174.124.310.016NO-GO
ZINC00185779564636.68474.7070.0NO-GO
ZONIPORIDE8.77818.3640.002NO-GO

Look at ZINC001857795646: it ends up 74.7 Å away. It didn’t let go, it left the building. And ZINC000019330031 is the textbook case — 2.85 Å in the first half, 5.08 Å in the second, occupancy collapsing from 0.52 to 0.07. A shorter test would have called that a hit.

Queued for the long test: 4-guanidinobenzamidine, METFORMIN, ZINC000005933192, ZINC000006785879, ZINC000007717177, ZINC000008627589, ZINC000013570540, ZINC000020219130, ZINC000390834886, ZINC001857795693, ZINC000038823067. Note that metformin and 4-guanidinobenzamidine are in that queue — both were previously killed, and are being re-run as benchmarks.

r2_backups/results/ · orchestrator cycle 19 · read at build time, not transcribed

What survived from the previous round — and the problem with how it was counted →

onwards.