brugada.net · Methods

Updated 16 July 2026

How it was done, and where it stopped.

Enough to reproduce it, or to find the hole in it. The second is more likely and more useful.

The six stages, honestly marked
StageTestWhat it catchesStatus
1Pharmacophore / SAR filterMolecules that can’t present a cation to D84 at allRUN
2Docking geometry (GO band 2.6–3.2 Å)Poses that never reach the clipRUN
3MD, n=1, 20 nsLate escapes. Killed metformin and famotidine.RUN
4MD, n=3, 20 nsSeed-dependent luckRUN
5Extended residence, ≥100 ns × 3Whether it staysNEVER COMPLETED
6PMF binding free energyA number for the strength of the gripNEVER RUN

A six-stage gauntlet that ran four and a half stages is a four-and-a-half-stage gauntlet. Stage 5 was specified at 100 ns × 3 seeds; no seed reached 100 ns. Stage 6 was never built — the only free-energy calculation in the project is agmatine’s, and it falsified agmatine.

The scaffold

Everything is built on 8VYJ, a cryo-EM structure of human Nav1.5 that actually resolves the N-terminus where R104 sits. An earlier version of this project used a scaffold that didn’t — which is an excellent way to compute a very precise number about nothing.

Structural detail

R104–D84: 2.65 Å in the minimised model; 3.79 Å observed in 8VYJ. Q104–D84 in the mutant model opens to 3.21 Å — H-bond at best, ionic pair lost.

The lesion is a buried acidic cluster, not a lone residue: propka3.5 puts D84 at pKa 4.39 and D82 at 5.70, both shifted, both buried, 5.1 Å apart.

Stability: ThermoMPNN ΔΔG +1.19 kcal/mol. ESM-2 log-likelihood ratio −3.57; its top choices at position 104 are R (−0.25) then K (−2.24) — both positive.

Population: gnomAD v4, 5 / 1,461,406, AF 3.4×10−6, zero homozygotes. phyloP 7.86. Arginine invariant in 7/7 mammals.

Function: ~0.29× WT current in oocytes, no measurable current in HEK293 (Gütter, Benndorf & Zimmer 2013, PMID 23805106).

microenv.json · r104q_for_pka.pka · thermompnn_ddg.json · esm_score.json · table_pred.csv · table_pop.csv

The decision metric

Not docking affinity — clip geometry. The distance from the candidate’s cationic nitrogen to D84, and the fraction of the run it stays there.

The exact thresholds, and a wrinkle in them

From classify_residence.py:

HOLD — 2nd-half occupancy (<3.5 Å) ≥ 0.70 and 2nd-half mean ≤ 3.2 Å
ESCAPE — 2nd-half occupancy < 0.30
PARTIAL — anything between

The wrinkle: those are two different numbers. Occupancy is counted at <3.5 Å; the mean is required at ≤3.2 Å. That’s defensible as a two-part test — engagement measured loosely, mean required tightly — but it means the phrase “occupancy in the GO band”, which appears in this project’s own prose, is wrong. The occupancy is looser than the band.

Compound verdict: the scoreboard claims majority of seeds. The code implements all seeds must hold; any escape fails. These disagree, and it matters — see what’s standing.

The screen, honestly counted

The approved-drug docking screen is often quoted at 10,667 compounds. It wrote 3,549 result files — about 33% — before consolidation stopped it, with 788 timeouts and 15 crashes. It is not an exhaustive screen of approved drugs and nothing here should be cited as one.

Separately: the “~2,857 mechanism-valid clampers” figure in this project’s own summaries is a Stage-1 count, not a docking output. The two numbers describe different stages and are not comparable. They have been quoted side by side as though they were.

The compute

Twenty-eight consumer graphics cards — the kind in gaming PCs — sustaining roughly 2,060 nanoseconds of simulated time per day. About 359 GB of raw trajectory data, on a physical drive rather than in a cloud, because a pharmacy technician’s salary doesn’t cover egress fees. The hardware is in a house.

Fleet detail

8× RTX 3090 across three rigs, 4× RTX 4090 on a fourth. A single 100 ns membrane seed is roughly ten hours on a 5090-class card. Every topology and checkpoint needed to resume or re-read any run is archived; 208 artifacts reconcile byte-exact against their manifest.

The membrane systems are ~260,000 atoms — protein, lipid bilayer, water, ions. That size is why the cheap isolated-protein test lies: agmatine looked like a winner in a small box and escapes in a real one.

What would falsify all of this

A surface-expression assay in which R104Q channels reach the membrane at normal density would mean the trafficking premise is wrong and every page here is void. An assay where the candidates move nothing would mean the charge-splint idea is wrong — which is a real result, publishable, and worth the same afternoon. The hypothesis is falsifiable, cheaply, by somebody with cells. That is the entire point of having built it.

onwards.