Skip to content

feat: serum stability in pipeline scores and pilot panel priority - #32

Merged
cschanhniem merged 1 commit into
mainfrom
feat/stability-in-pipeline-and-priority
Jun 28, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
feat/stability-in-pipeline-and-priority

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Summary

  • Pipeline: serum_stability_score(features) is now computed for every candidate and stored under scores["serum_stability"] in the JSONL output alongside activity, safety, synthesis, and novelty.
  • Pilot panel priority: _pilot_priority() now adds 0.05 × serum_stability as a light tiebreaker. Max gain = +0.05 (does not override ensemble score ordering). Candidates with fewer interior protease sites rank slightly higher when ensemble scores are close.
  • Pilot panel CSV/markdown: New serum_stability column. Priority formula comment updated.

Impact

Before: SEED-003 variants (stability 0.27) and equally-scored SEED-004 variants (stability 0.85) sorted identically.
After: SEED-004 (more serum-stable, fewer K/R sites) correctly ranks above equally-scored SEED-003 candidates within the same seed slot.

Test plan

  • 858 tests passing
  • correct_columns test updated for new CSV field
  • higher_stability_higher_priority test added
  • missing_disagreement_defaults_to_0_5 test updated for new formula
  • Pre-push hook passes

🤖 Generated with Claude Code

- pipeline.py: compute serum_stability_score(features) for every candidate
  and store it under scores["serum_stability"] in the JSONL output
- pilot.py: update _pilot_priority() to include 0.05 × serum_stability
  as a light tiebreaker (max +0.05 gain, does not override ensemble)
- pilot_panel.py: add serum_stability column to CSV output and markdown
  table; update priority-formula comment to reflect the new term
- tests: update correct_columns assertion for new CSV field;
  add test for higher_stability_higher_priority; fix missing-disagreement
  default test for updated formula

Regenerated outputs show SEED-004 variants (stability 0.85+) now rank
slightly higher than equally-scored SEED-003 variants (stability 0.27),
correctly de-emphasising the most protease-sensitive family.

858 tests passing
@cschanhniem
cschanhniem merged commit 958f374 into main Jun 28, 2026
1 check passed
@cschanhniem
cschanhniem deleted the feat/stability-in-pipeline-and-priority branch June 28, 2026 03:36
cschanhniem added a commit that referenced this pull request Jun 28, 2026
…ity assessment (#33)

- Add 29 well-characterized AMP sequences from published literature to the
  curated reference set, spanning LL-37 fragments (KR-12, FK-13, FK-16),
  cathelicidins (BMAP-27, BMAP-28, mCRAMP), proline-rich (apidaecin, oncocin,
  pyrrhocoricin), marine (pleurocidin, clavanin A), and engineered (WLBU2,
  BP100, omiganan) families — total 44 → 72 unique sequences
- Remove duplicate REF-GIG-001 (identical to REF-MAG-001)
- Add tests/test_reference_set.py: 14 tests guarding structure, uniqueness,
  canonical amino acids, family coverage (≥20 families, ≥70 sequences)
- Update docs/DISCOVERY_PREDICTION.md: mark PRs #31–#32 completed, revise
  serum stability probability 10–20% → 25–40% based on updated pilot panel
  composition, revise combined "breaking news" probability 5–12% → 10–25%
  with root cause analysis of remaining gap
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