Skip to content

fix(docs+qc): correct SEED-006 Met synthesis error and close expert-pack gaps - #104

Merged
cschanhniem merged 2 commits into
mainfrom
fix/seed006-met-and-expert-pack-gaps
Jun 29, 2026
Merged

cschanhniem merged 2 commits into
mainfrom
fix/seed006-met-and-expert-pack-gaps

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Summary

  • CRITICAL synthesis error corrected: ALL 4 SEED-006 pilot variants inherit Met at position 9 from mastoparan-X template. Prior WET_LAB_HANDOFF.md said "No Cys, no Met" — would have caused the lab team to skip Nle substitution, receive oxidised batches, and miss activity.
  • ASSAY_PREREGISTRATION.md: SEED-006 Met-at-position-9 block added alongside existing SEED-007 Met entry — pre-registered before synthesis order.
  • EXPERT_REVIEW_PACK.md: Pipeline Limitations table extended with 3 new rows (SEED-006 Met oxidation, DKP_RISK N-terminal X-Pro, short-peptide serum stability); stale AUROC 0.8420 corrected to 0.7832.
  • Regression guard: test_seed006_all_pilots_have_met_at_position9 asserts MET×1 flag and Nle recommendation fire for all 4 SEED-006 pilot variants.

Test plan

  • make test → 1338 tests pass (verified locally)
  • docs/WET_LAB_HANDOFF.md SEED-006 section explicitly says M9Nle REQUIRED, −80 °C storage, HPLC purity
  • docs/ASSAY_PREREGISTRATION.md §5 bullet for SEED-006 present alongside SEED-007
  • docs/EXPERT_REVIEW_PACK.md Pipeline Limitations table has SEED-006 Met row with correct AUROC (0.7832)
  • New regression test confirms QC module fires the correct flags on all 4 sequences

🤖 Generated with Claude Code

…ack gaps

ALL 4 SEED-006 pilot variants inherit Met at position 9 from the
mastoparan-X template (INWKGIAAMAKKLL). The prior synthesis guidance
("No Cys, no Met — standard Fmoc SPPS") was incorrect and would have
caused the lab team to skip Nle substitution, receive oxidised batches,
and miss activity.

Changes:
- docs/WET_LAB_HANDOFF.md: SEED-006 synthesis section rewritten —
  "No Met" (WRONG) replaced with Nle/M9Nle REQUIRED guidance,
  inert-atmosphere storage, HPLC purity at receipt
- docs/ASSAY_PREREGISTRATION.md: SEED-006 Met-at-position-9 entry
  added to the pre-registered synthesis-risk block (parallel to the
  existing SEED-007 Met entry)
- docs/EXPERT_REVIEW_PACK.md: Pipeline Limitations table updated —
  three new rows added: SEED-006 Met oxidation (all 4 variants, M9Nle
  REQUIRED), N-terminal X-Pro DKP_RISK (SEED-008, 244 Da, Nα-Ac
  REQUIRED, MS receipt check), short-peptide serum stability (6 pilots
  < 14 AA, model calibrated for 18–30 AA); stale AUROC values (0.8420)
  corrected to 0.7832 (expanded benchmark, CI₉₅: 0.72–0.84, n=191)
- tests/test_presynth_qc.py: regression guard —
  test_seed006_all_pilots_have_met_at_position9 asserts MET×1 flag and
  Nle recommendation fire for all 4 SEED-006 pilot variants; prevents
  future edits from silently losing the Met detection on these sequences

Tests: 1338 passed (unchanged count — all existing tests green)
…#111

Fixes found during code review of fix/seed006-met-and-expert-pack-gaps:

HIGH — arithmetic error: SHORT_PEPTIDE count "6 candidates" was wrong;
parenthetical listed SEED-007 ×4 + SEED-003 ×2 + SEED-009 ×4 = 10, not 6.
Corrected to "10 pilot candidates" in EXPERT_REVIEW_PACK.md.

MEDIUM — ASSAY_PREREGISTRATION.md SEED-007 used "preferred" while the new
SEED-006 entry used "REQUIRED" for the same Nle substitution risk. Aligned
SEED-007 to "REQUIRED" for synthesis-protocol consistency.

MEDIUM — test class mislocation: test_seed006_all_pilots_have_met_at_position9
was appended to TestProlineRichMediaFlag; moved to TestOxidationRisk alongside
the other Met/Cys oxidation guards (test_met_triggers_oxidation_risk, etc.).

MEDIUM — test name promised position-9 specificity but no assertion checked it.
Added assert seq[8] == "M" per-sequence to guard against Met position drift.

LOW — EXPERT_REVIEW_PACK.md SEED-006 limitation row said "store at −80°C";
corrected to "Store lyophilized at −80°C" to match WET_LAB_HANDOFF.md and
ASSAY_PREREGISTRATION.md.

Tests: 1338 passed (net count unchanged — 1 test moved, not added/removed).
@cschanhniem
cschanhniem merged commit 07d2c09 into main Jun 29, 2026
1 of 2 checks passed
@cschanhniem
cschanhniem deleted the fix/seed006-met-and-expert-pack-gaps branch June 29, 2026 02:00
cschanhniem added a commit that referenced this pull request Jun 29, 2026
…tor confirmation (#109)

* feat(panel): integrate wave 0.5b top picks — SEED-020 external predictor confirmation

External predictor screening (CAMPR4, AMPScanner v2, Macrel, AMPActiPred, HemoFinder,
AntiCP2) of 23 wave 0.5b candidates confirmed SEED-020_VAR_004 (RLRIRVLKRLLK) and
SEED-020_VAR_002 (KVRIRVLKRLLK) as the best safety-activity leads in the batch.

Broad novelty check confirms both are NOVEL (< 50% similarity to the 72-AMP curated
reference database; max similarity 41.7% vs REF-RLK-001 and 37.5% vs REF-LL37-003).

Key external predictor metrics:
- SEED-020_VAR_004: AMPScanner 0.9928, HemoFinder LOW, Non-AntiCP 0.29 (cleanest in batch)
- SEED-020_VAR_002: AMPScanner 0.9960 (highest in batch), HemoFinder LOW, Non-AntiCP 0.32
Both outperform SEED-019_VAR_004 on the AntiCP off-target safety criterion while
maintaining equivalent activity. Both are NOVEL — confirmed activity is publishable.

Changes:
- docs/WET_LAB_HANDOFF.md: new SEED-019/020 section — scaffold description, synthesis
  guidance (Nα-Ac REQUIRED for 5 trypsin sites, C-amide recommended, SHORT_PEPTIDE serum
  note, Macrel hemolysis false-positive warning), assay priority note (SAR triad comparison
  with SEED-019_VAR_004 within same assay plate)
- docs/EXPERT_REVIEW_PACK.md: §5 family table extended with SEED-019/020 row
  (P(≥1 active) ~78–87%, best ext-predictor confirmed); wave 0.5b addendum block
  added below table summarising the confirmation rationale
- docs/ROADMAP.md: PR tracking entries for PR #104 (SEED-006 Met fix) and this PR

wave1_final_panel.csv updated locally (outputs/ is gitignored):
  SEED-020_VAR_004 and SEED-020_VAR_002 added as BALANCED_LEAD (WAVE0_5B).

Tests: 1372 passed.

* fix(review): address all HIGH/MEDIUM issues from code review of wave05b PR

HIGH — SEED-019_VAR_004 classified NOVEL in new docs but is CLOSE_RELATIVE
with POSSIBLE_PATENT_RISK in official novelty audit v2 (66.7% to DRAMP05502).
Added explicit IP NOTE block in WET_LAB_HANDOFF.md; added patent risk flag to
EXPERT_REVIEW_PACK.md §5 row and wave 0.5b addendum; publishability claim
scoped to SEED-020 pair only.

HIGH — Arg count/charge density errors: "≥4 Arg" doesn't apply to KVRIRVLKRLLK
(3 Arg + 3 Lys = 6 cationic); net charge "+4 to +5" incorrect — should be "+5
to +6". Fixed to "3–4 Arg plus 2–3 Lys, 6 total cationic, net charge ~+5 to +6."

HIGH — Nα-Ac rationale conflated exopeptidase + endopeptidase protection.
Added explicit clarification: Nα-Ac blocks aminopeptidase (exopeptidase) from
the free α-amine; trypsin endoproteolysis at 5 K/R sites requires D-amino Wave 2.

MEDIUM — Motif descriptor removed (had positional errors: K at pos1 for VAR_002,
V/L order mismatch for SEED-019); replaced with prose description of the pattern.

MEDIUM — Macrel bias characterization changed from "all cationic helices" to
"non-discriminating in this dataset — 60/60 candidates flagged regardless of
class" (matches documented evidence in METRICS_CURRENT.md).

MEDIUM — P(≥1 active) range adjusted from 78–87% to 75–85% in EXPERT_REVIEW_PACK
§5; "best ext. predictor confirmed leads" clarification added to reviewer focus.

LOW — Melittin cross-reference removed; now cites docs/METRICS_CURRENT.md.
LOW — SEED-022 documented in addendum (excluded at pre-screen, no viable
candidates after safety scoring).

Tests: 1372 passed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant