You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1.**ADMET-AI disabled in production** — fup/logP changes break warfarin/metformin/losartan via Kp/Vd
61
62
2.**XGBoost CLint is primary** — 18 reference anchors at 50x weight (semi-supervised, partially circular)
62
-
3.**Hybrid Cmax selector is essential** — ablation: +0.278 AAFE, 88% → 58% 2-fold (biggest single component)
63
+
3.**~~REVOKED~~Hybrid Cmax selector is DISABLED** — ablation on synthetic CSV showed +0.278 AAFE, but holdout 100 drugs shows Δ-0.284 (HARMFUL). Selector was overfitted to N=24 synthetic benchmark. `use_hybrid_selector=False` since 2026-03-22.
63
64
4.**Don't replace ODE with pure ML** — v1-v5 GNN all failed (distillation ceiling)
64
65
5.**Don't touch phase files** — build ML alongside, deprecate later
65
66
6.**PK-DB + FDA labels** for clinical data; ChEMBL deprioritized
66
-
7.**Analytical 1-cpt > raw ODE for Cmax**(67% vs 38% 2-fold) — but hybrid of both is best (79%)
67
+
7.**~~REVISED~~ ODE >> Analytical 1-cpt for Cmax**— Holdout verification (2026-03-22): ODE AAFE 2.41 vs Analytical 11.64, ODE wins 81% of drugs. Original "analytical > ODE" (67% vs 38% 2-fold) was on synthetic CSV = overfitting. Pure ODE is default and correct.
67
68
8.**All benchmark CSVs are synthetic** — generated from 1-cpt model, not real clinical data. Warfarin replaced with PK-DB data (2026-03-17)
10.**Error cancellation is real** — predicted ADME beats measured ADME (2.46 vs 2.69). Fix ODE structure BEFORE improving ADME.
70
71
11.**Ridge correction is dead code** — not loaded in pipeline, zero contribution confirmed by ablation
71
72
12.**Gut CLint drives Cmax, not hepatic CLint** — Sobol: gut CLint ST=0.470, hepatic CLint ST=0.000 for Cmax. Hepatic CLint only affects AUC.
72
73
13.**Ridge correction is confirmed dead code** — ablation study (Phase 0.1) shows NO_RIDGE = FULL with Δ=0.000 AAFE. The ridge model file exists in models/correction/ but is never loaded at inference. Keep for reproducibility only.
73
-
14.**Hybrid Cmax selector is the dominant component** — ablation Δ+0.278 AAFE without it (88%→58% 2-fold) with Phase 3a.1 + acid-Kp pipeline. Don't remove or simplify it.
74
+
14.**~~REVOKED~~Hybrid Cmax selector was overfitted** — The Δ+0.278 ablation was measured on synthetic CSV benchmark (N=24). On holdout 100 drugs: selector WORSENS AAFE by 0.284. Selector LOO-CV tuned on N=24 synthetic data = classic overfitting. See #3.
74
75
15.**Error cancellation is systematic** — 79% of drugs (CI < 0.5), mean CI = 0.303. Fixing individual ADME params without joint balance will worsen aggregate AAFE.
75
76
16.**Phase 3a blocker is fm_CYP3A4 false positives, NOT Fh** — Polynomial clint_3a4 assigns fm_CYP3A4=0.887 to propranolol, 0.939 to ibuprofen. Fix: threshold guard `clint_3a4 > 2.0 µL/min/pmol` → AAFE 1.747, 83% 2-fold (diagnostic: 2026-03-18). Combined with acid-Kp D-fix → AAFE 1.665, 88% 2-fold.
76
77
17.**CLint_gut formula uses pre-inverted CLint** — `clint_L_per_h` is 22-223x larger than `CLh_target`; the 1.7× factor was calibrated for CLh_target. This is a known architectural bug, not a Phase 3a blocker. Fix in Phase 3b.
20.**OATP correction disabled — wrong direction for atorvastatin** — Atorvastatin AUC is UNDER-predicted (fe=3.64×; pred=0.048 vs obs=0.176 mg*h/L), meaning CLint is already over-predicted. OATP adds more clearance → makes AUC worse. CLint already >>QH (near-complete extraction), so any CLint addition has minimal but harmful effect. Root cause: CLint over-prediction, not missing uptake transporter. Code archived in pipeline with `_ENABLE_OATP_CORRECTION = False`.
84
85
25.**CLint anchors do NOT inflate gold-24 metrics** — Anchor contamination analysis: ANCHORED AAFE 1.813 vs CLEAN 1.736 (delta +0.078). Error cancellation is structural (pipeline architecture), not CLint-specific.
85
86
26.**MLP cannot beat XGBoost at 1K-4K drug scale** — UDE Phase 1/2 (134K params MLP) achieved holdout AAFE 3.46-3.50 vs pipeline 3.52. Early stopping at epoch 5-8 = underfitting. Multi-dose data expansion (3.3x) WORSENED results due to noise. XGBoost remains superior.
86
-
27.**Data quality >> model improvements** — 14 platinum reference fixes + AD filter achieved AAFE 3.520→1.847 (-47.5%) on holdout with ZERO model changes. This is the single highest-ROI intervention.
27.**Data quality >> model improvements** — 19 platinum reference fixes + AD filter achieved AAFE 3.520→1.987 (-44%) on holdout in-domain with ZERO model changes. Single highest-ROI intervention.
88
+
28.**Applicability domain filter in pipeline** — `SimulationResult.in_applicability_domain` + `ad_flags`. SMARTS: val-ester, thienopyridine, pivoxil, nucleoside 5'-ester, quaternary amine, inorganic. Thresholds: logP>5.5, MW>700, P-gp efflux risk (MW>500+logP>3.5+TPSA>100). DDI-boosted flag in platinum reference.
36.**UQ recalibrated (2026-03-22)** — Cmax: 93.7% coverage (in-domain), median width 20.6x (was 4880x). AUC/t½: heuristic scaling from Cmax q-value (q×1.35 for AUC, q×1.0 for t½). AdaptiveConformal recalibrated on 68 clean drugs, k=30.
97
+
38.**CYP3A4 ML classifier deferred** — TDC 670 compounds, test AUROC 0.634 → too low. Multi-CYP normalization partially works but unreliable. Zero holdout drugs trigger gut wall fix → no holdout improvement possible. Model saved for future use.
98
+
39.**ODE >> Analytical for Cmax on clinical data** — Holdout: ODE AAFE 2.41 vs Analytical 11.64, ODE wins 81%. KD#7 "analytical > ODE" was synthetic CSV artifact.
"notes": "DDI-BOOSTED: Cmax 9.8 mg/L is from Kaletra (lopinavir 400mg + ritonavir 100mg) steady-state. Unboosted lopinavir has ~1/10 exposure. Never used without ritonavir clinically. Dose also wrong (200 vs 400mg in label). Pipeline predicts unboosted single-drug PK."
0 commit comments