STRC h01 Pharmacochaperone Parameter Provenance Audit 2026-04-23
Closes the 2 residual housekeeping items from STRC Cross-Hypothesis Parameter Audit 2026-04-23 for STRC Pharmacochaperone Virtual Screen E1659A (tier A, “CLEAN” verdict — no phantom cites, 0 external bio-constants load-bearing).
What was flagged
- TPSA range 40-90 Ų mis-framed as “CNS-like delivery into endolymph” in
pharmacochaperone_phase3b_virtual_screen.pydocstring. STRC is extracellular — BBB-penetration TPSA bracket is not a relevant constraint; RWM/otic permeability vs TPSA has no primary-lit mapping at a clean range. Compound the framing error:tpsais computed and stored as a descriptor but does not enter the composite score at all — only 7 weighted components do (anion, anion_arom_d, size, ro3, lipinski, hb_donor, qed). The docstring falsely implied TPSA gated scoring. - 3 druggability scoring-weight inconsistencies across Phase 1 (
phase1_mutant_pocket.py), Phase 2 (phase2_pocket_scan.py), Phase 2b (phase2b_subpockets.py). Each phase has its own formula with different feature sets and weights — scores not cross-phase comparable.
What was fixed in-place
pharmacochaperone_phase3b_virtual_screen.py — docstring corrected:
tpsaentry clarified as descriptor-only, not scoring component- Explicit removal of “CNS-like” framing (STRC extracellular → BBB TPSA irrelevant)
- Added note that lit-precise otic/RWM TPSA range does not exist — no fabricated bracket to replace the old one. Compound filtering by TPSA at a specific range should only happen with user authorization after reviewing RWM permeability primary lit (which is thin at best).
pharmacochaperone_phase1_mutant_pocket.py — druggability_score() docstring expanded:
- States phase weight set (0.5/0.3/0.2) and notes mismatch with Phase 2 and Phase 2b
- Declares scores not cross-phase comparable — use within-phase ranking only
- Notes SiteMap and DoGSiteScorer are both heuristic baselines — no lit-canonical weight set for custom feature combinations
pharmacochaperone_phase2_pocket_scan.py — druggability() docstring expanded:
- States phase weight set (0.40/0.25/0.20/0.15) and volume optimum (300 ų, σ=200)
- Cross-phase incomparability flagged
pharmacochaperone_phase2b_subpockets.py — druggability() docstring expanded:
- States phase weight set (0.30/0.20/0.15/0.15/0.20) with new depth component
- Cross-phase incomparability flagged; depth descriptor specific to subpocket ranking
What was NOT touched
- Phase 4a/4b/4c/4d/4e/4g/4h results and verdicts — these rest on Vina/GNINA docking scores against CIF poses from AF3. No external bio-constants retrieved from training data. Phase 4c FAIL (WT preferred), Phase 4e soft-FAIL (margin scorer-limited), Phase 4g repurpose screen results all stand.
- Phase 5 MD ensemble MM-GBSA plan — deferred (next step in ranking table).
Why no “range correction” is recorded
The cross-hypothesis audit summary line said “1 TPSA range (40-90 → should be 70-100)“. I chose not to apply 70-100 because:
- It has no primary citation for otic/RWM delivery
- Common chemical-chaperone class (CFTR correctors VX-809/VX-661) has TPSA 103-115, spanning both brackets
- Adding a specific TPSA bracket to the scoring composite would be a new design choice, not a “correction” — and the user’s literature-first rule (feedback_literature_first) says no fabricated ranges
- The honest fix: clarify that TPSA is descriptor-only, and any future TPSA-gated filter should cite the primary lit used to set its bounds
Ranking delta
#1 Pharmacochaperone: A held (no axis change). Mech 3, Deliv 4, Misha-fit 4. Audit state upgraded: housekeeping items closed, docstring provenance honest. Next step unchanged: Phase 5 MD ensemble MM-GBSA.
Connections
[part-of]STRC Hypothesis Ranking[part-of]STRC Cross-Hypothesis Parameter Audit 2026-04-23[about]STRC Pharmacochaperone Virtual Screen E1659A[see-also]feedback_literature_first[see-also]STRC Computational Scripts Inventory