Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/ASSAY_PREREGISTRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ non-reporting of negative results.
| Selection algorithm | `pilot-panel` with similarity_threshold=0.75, max_per_seed=4 |
| Selection date | [date of `make pilot` run] |
| Selection locked at manifest | `outputs/phase3_manifest.json` |
| Confident panel (post-external-predictor filter) | TBD after running CAMPR4 / AMPScanner / dbAMP |
| Confident panel (post-external-predictor filter) | Historical placeholder; external predictor review later completed and summarized in `docs/METRICS_CURRENT.md` |

---

Expand Down
20 changes: 9 additions & 11 deletions docs/PRE_WET_LAB_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,19 @@
> **Current status:** 53/100 breakthrough potential.
> After completing this checklist: 55–65/100.
>
> **Estimated time:** 2–4 hours (all manual web submissions).
> **Estimated time:** Historical estimate for the original manual-submission pass.
> The external predictor portion has since been completed; remaining blockers are novelty/legal/expert review and wet-lab execution.

---

## Quick Start

```text
1. Submit FASTA to 5 web tools (~30 min)
2. Record results in results CSV (~10 min)
3. Generate consensus report (~1 min)
4. APD3/DRAMP novelty BLAST (~30 min)
5. Invite expert reviewer (~1 week)
6. Generate reviewer questionnaires (~1 min)
7. Lock pre-registration (~10 min)
8. Order synthesis (vendor lead time)
1. Review current external predictor evidence (done historically; see current-state docs)
2. Confirm full novelty / FTO posture (~30-90 min depending on scope)
3. Invite expert reviewer (~1 week)
4. Lock pre-registration (~10 min)
5. Order synthesis (vendor lead time)
```

---
Expand Down Expand Up @@ -371,8 +369,8 @@ make lint

| Step | Score | Gate 6 | Gate 7 | Synthesis ready? |
|------|:-----:|:------:|:------:|:----------------:|
| Current | 53 | PENDING | PENDING | ❌ |
| After Step 1 (predictors filled) | 56–58 | PASS/FAIL | PENDING | ❌ |
| Historical baseline before external predictor completion | 53 | PENDING | PENDING | ❌ |
| After external predictor completion | 56–58 | PASS/FAIL | PENDING | ❌ |
| After Step 3 (expert review) | 60–65 | PASS/FAIL | PASS | ⚠️ conditional |
| After Steps 4–6 (all gates pass) | 65–70 | PASS | PASS | ✅ |

Expand Down
15 changes: 9 additions & 6 deletions docs/WAVE_0_5_BASELINE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
> Wet-lab validation by qualified collaborators is required before any biological claim.
> Known/control candidates are not novelty claims.
> High-risk candidates are labeled explicitly.
> External predictor columns are PENDING — they require manual web-tool submission.
> Historical note: this baseline freeze predates the completed Wave 0.5 external screen.
> Current external-predictor status now lives in `docs/METRICS_CURRENT.md` and `docs/ROADMAP.md`.

Generated: 2026-06-29

Expand Down Expand Up @@ -51,7 +52,7 @@ and classifies each candidate into a role that guides Wave 1 panel construction.
|---|---|
| LEAD | Novel scaffold with strong activity/safety balance. Priority for synthesis. |
| HIGH_UPSIDE_RISKY | High predicted activity, but hemolysis or off-target risk flag present. |
| PENDING | External predictor or safety data needed to finalize role. |
| PENDING | Historical placeholder at the baseline-freeze date; superseded by later Wave 0.5 panel decisions. |
| CONTROL | Known AMP (KWKLFKK/magainin class). Positive control for assay calibration. |
| SAR_CONTROL | Known-variant (tachyplesin-like). SAR anchor, not a novelty lead. |
| LOW_PRIORITY | Close relative to known AMPs. Useful but weak novelty position. |
Expand All @@ -66,16 +67,18 @@ and classifies each candidate into a role that guides Wave 1 panel construction.
| SEED-003 | 2 | Tachyplesin-like — KNOWN_VARIANT | Retain as SAR_CONTROL |
| SEED-005 | 1 | KWKLFKK-family close relative | CLOSE_RELATIVE, LOW_PRIORITY |
| SEED-006 | 4 | Balanced novel helices — strongest current leads | Retain all 4 as LEAD |
| SEED-007 | 4 | Temporin-G analogs — activity/safety mixed | PENDING: requires external predictor screen |
| SEED-007 | 4 | Temporin-G analogs — activity/safety mixed | Historical baseline note; final Wave 1 disposition is recorded elsewhere |
| SEED-008 | 4 | Trp-rich high-aromatic — high activity, HemoFinder risk | HIGH_UPSIDE_RISKY |
| SEED-009 | 4 | Pro-rich intracellular-style — AntiCP off-target risk | PENDING: off-target concern |
| SEED-009 | 4 | Pro-rich intracellular-style — AntiCP off-target risk | Historical baseline note; final Wave 1 disposition is recorded elsewhere |

---

## External Predictor Status

All external predictor columns are currently PENDING.
Manual web submission is required for:
Historical baseline state only: at the time this file was frozen, external predictor fields had not yet been filled.
That is no longer the current repo state. The completed Wave 0.5 external screen is summarized in `docs/METRICS_CURRENT.md`, `docs/ROADMAP.md`, and `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md`.

The original manual-submission tool stack was:

| Tool | URL | Notes |
|---|---|---|
Expand Down
14 changes: 7 additions & 7 deletions docs/WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ correlated-failure risk. The goal is not more candidates — it is more independ
| 2 — Scaffold Search | Defined 10 new independent families | (design parameters in `scripts/generate_wave0_5_candidates.py`) |
| 3 — Candidate Generation | Generated 118 raw candidates | `outputs/wave0_5_raw_candidates.csv` |
| 4 — Internal Filter | Shortlisted 60 at internal gates | `outputs/wave0_5_internal_shortlist.csv` |
| 5 — External Predictors | Created PENDING submission templates | `outputs/wave0_5_external_predict_results.csv`, `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md` |
| 5 — External Predictors | Planned manual submissions; later completed and summarized in current-state docs | `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md`, `docs/METRICS_CURRENT.md` |
| 6 — Novelty Audit | Classified 60 shortlist vs 92 references | `outputs/wave0_5_novelty_audit.csv`, `docs/WAVE_0_5_NOVELTY_AUDIT.md` |
| 7 — Panel Selection | Selected 24-candidate Wave 1 panel | `outputs/wave1_final_panel.csv`, `docs/WAVE_1_PANEL_RECOMMENDATION.md` |
| 8 — Evidence Certificates | Generated machine-readable certs | `outputs/evidence_wave0_5/*.json` |
Expand Down Expand Up @@ -70,9 +70,9 @@ correlated-failure risk. The goal is not more candidates — it is more independ

| Task | Status | Blocker |
|---|---|---|
| External predictor screen (all 60 shortlist) | PENDING | Manual web submissions to CAMPR4, AMPScanner, Macrel, AMPActiPred, HemoFinder, AntiCP |
| Wave 0.5 Gate W0.5-3 (activity consensus) | PENDING | Requires external predictor results |
| Wave 0.5 Gate W0.5-4 (safety annotation) | PENDING | Requires external predictor results |
| External predictor screen (all 60 shortlist) | COMPLETE | Reflected in `docs/METRICS_CURRENT.md` and `docs/WAVE_0_5_EXTERNAL_PREDICTOR_SUMMARY.md` |
| Wave 0.5 Gate W0.5-3 (activity consensus) | COMPLETE | Gate result recorded after external screen |
| Wave 0.5 Gate W0.5-4 (safety annotation) | COMPLETE | Gate result recorded after external screen |
| FTO (freedom-to-operate) for CLOSE_RELATIVE candidates | PENDING | Legal review |
| Expert review of HIGH_UPSIDE_RISKY candidates | PENDING | Wet-lab collaborator |

Expand Down Expand Up @@ -107,9 +107,9 @@ activity_score >= 0.80 AND safety_score >= 0.65 → PASS_HIGH_UPSIDE
| `outputs/wave0_5_raw_candidates.csv` | 118 raw generated candidates |
| `outputs/wave0_5_internal_shortlist.csv` | 60 shortlisted candidates |
| `outputs/wave0_5_internal_excluded.csv` | 58 excluded with reasons |
| `outputs/wave0_5_external_predict_results.csv` | 60 rows, external columns PENDING |
| `outputs/wave0_5_external_consensus.csv` | 60 rows, consensus columns PENDING |
| `outputs/wave0_5_safety_consensus.csv` | 60 rows, safety columns PENDING |
| `outputs/wave0_5_external_predict_results.csv` | Optional locally generated artifact from the completed external screen; not committed in every checkout |
| `outputs/wave0_5_external_consensus.csv` | Optional locally generated artifact from the completed external screen; not committed in every checkout |
| `outputs/wave0_5_safety_consensus.csv` | Optional locally generated artifact from the completed external screen; not committed in every checkout |
| `outputs/wave0_5_novelty_audit.csv` | 60 rows with novelty classes |
| `outputs/wave1_final_panel.csv` | 24 final panel candidates |
| `outputs/wave1_reserve_panel.csv` | Reserve candidates |
Expand Down
4 changes: 2 additions & 2 deletions docs/WAVE_1_PANEL_RECOMMENDATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ All candidates have:
- Synthesis risk flags
- Machine-readable evidence certificates (Phase 8)

External predictor results (CAMPR4, AMPScanner, Macrel, AMPActiPred, HemoFinder, AntiCP) are
PENDING and must be completed before wet-lab synthesis submission.
External predictor review for Wave 0.5 was completed after this panel recommendation was first drafted.
Treat this file as the panel-selection record; use `docs/METRICS_CURRENT.md` for the current external-consensus state.

No antimicrobial activity is claimed until qualified wet-lab validation.

Expand Down
18 changes: 18 additions & 0 deletions tests/test_docs_consistent.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,21 @@ def test_doc_wave05_generated_outputs_claimed_only_if_present(self):
assert "Machine-readable: `outputs/wave0_5_external_predict_results.csv`" not in metrics_text
assert "PENDING (60 rows, all PENDING)" not in summary_text
assert "Generated only after running `make wave0-5-fill-external`" in summary_text

def test_doc_wave05_historical_docs_do_not_pose_as_live_pending_state(self):
"""Historical Wave 0.5 docs must label superseded pending steps as historical."""
baseline_text = (DOCS_DIR / "WAVE_0_5_BASELINE.md").read_text(encoding="utf-8")
scaffold_text = (DOCS_DIR / "WAVE_0_5_SCAFFOLD_DIVERSIFICATION_PLAN.md").read_text(
encoding="utf-8"
)
prereg_text = (DOCS_DIR / "ASSAY_PREREGISTRATION.md").read_text(encoding="utf-8")
checklist_text = (DOCS_DIR / "PRE_WET_LAB_CHECKLIST.md").read_text(encoding="utf-8")
wave1_text = (DOCS_DIR / "WAVE_1_PANEL_RECOMMENDATION.md").read_text(encoding="utf-8")

assert "Historical note: this baseline freeze predates the completed Wave 0.5 external screen." in baseline_text
assert "Historical baseline state only" in baseline_text
assert "External predictor screen (all 60 shortlist) | COMPLETE" in scaffold_text
assert "Wave 0.5 Gate W0.5-3 (activity consensus) | COMPLETE" in scaffold_text
assert "Historical placeholder; external predictor review later completed" in prereg_text
assert "The external predictor portion has since been completed" in checklist_text
assert "External predictor review for Wave 0.5 was completed after this panel recommendation was first drafted." in wave1_text
Loading