From 6f6a4a250c4edd63ab613aac150c87f59218262d Mon Sep 17 00:00:00 2001 From: j Date: Mon, 29 Jun 2026 01:21:27 +0700 Subject: [PATCH] fix(qc): expand Met oxidation flag to recommend Nle substitution All 4 SEED-007 pilot candidates contain Met at position 6. The presynth QC flag now explicitly recommends Nle (norleucine) substitution for oxidation-resistant synthesis and makes the HPLC purity check mandatory, not advisory. This surfaces the most actionable synthesis guidance at the point where the wet-lab team reads the QC report. --- src/openamp_foundry/qc/presynth_check.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/openamp_foundry/qc/presynth_check.py b/src/openamp_foundry/qc/presynth_check.py index 88d5e2fa..aa2a45fd 100644 --- a/src/openamp_foundry/qc/presynth_check.py +++ b/src/openamp_foundry/qc/presynth_check.py @@ -346,7 +346,11 @@ def check_sequence(candidate_id: str, seq: str, mu_h: float = 0.0) -> SynthQC: if qc.cysteine_count > 0: qc.flags.append(f"CYSTEINE×{qc.cysteine_count}: disulfide/oxidation risk — store under N₂") if qc.methionine_count > 0: - qc.flags.append(f"MET×{qc.methionine_count}: oxidation risk — store at −80°C, check purity pre-assay") + qc.flags.append( + f"MET×{qc.methionine_count}: oxidation risk — store at −80°C under inert atmosphere; " + "request Nle (norleucine) substitution for oxidation-resistant synthesis; " + "mandatory HPLC purity check at receipt" + ) if qc.aggregation_risk: qc.flags.append(f"HYDROPHOBIC_RUN ({qc.hydrophobic_run}): aggregation risk — check solubility at 1 mM") if len(qc.trypsin_sites) > 2: