Skip to content

feat: unified AMP reference library + full novelty audit (Sprint 2) - #107

Merged
cschanhniem merged 2 commits into
mainfrom
feat/sprint2-novelty-audit
Jun 29, 2026
Merged

cschanhniem merged 2 commits into
mainfrom
feat/sprint2-novelty-audit

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Sprint 2 — Full novelty / non-duplication

5 deliverables:

1. Unified AMP library (examples/known_reference/amp_library.csv)

120 unique reference sequences deduplicated from curated_72 + expanded_95, with taxonomy classification (12 classes). Reproducible via scripts/build_amp_library.py.

2. 5-layer novelty audit (scripts/run_novelty_audit.py)

Compares all 20 pilot candidates against the 120-sequence unified library using Levenshtein similarity:

Layer Category Threshold Count Candidates
5 HIGH_CONFIDENCE_NOVEL < 40% sim 12 SEED-006 (4), SEED-007 (1), SEED-008 (3), SEED-009 (2), SEED-009 (2)
4 NOVEL < 50% sim 4 SEED-007 (3), SEED-008 (1)
3 CLOSE_RELATIVE 50-70% 1 SEED-005
2 KNOWN_VARIANT >= 70% 3 SEED-001, SEED-003 (2)
1 EXACT_MATCH 100% 0 —

Result: 16/20 candidates publishably novel. 12 of those are HIGH_CONFIDENCE_NOVEL (< 40% identity).

3. outputs/novelty_audit_full.csv

Machine-readable per-candidate classification with best reference, similarity, novelty score, publication strategy.

4. docs/NOVELTY_AUDIT_FULL.md

Comprehensive report with summary table, per-candidate table (20 rows), family-level notes, priority tiers, reference hit frequency, and caveats.

5. docs/METRICS_CURRENT.md

Typo fix (knownd_amps.csv → known_amps.csv).

Tests: 1343 passing.

cschanhniem and others added 2 commits June 29, 2026 10:08
Sprint 2 — Full novelty / non-duplication:

1. examples/known_reference/amp_library.csv — Unified AMP reference library
   All 120 unique reference sequences deduplicated from curated_72 + expanded_95
   with taxonomy classification (12 classes) and provenance tracking.
   scripts/build_amp_library.py — generator (reproducible).

2. scripts/run_novelty_audit.py — 5-layer novelty classification:
   Layer 1: EXACT_MATCH (100%) — 0 candidates
   Layer 2: KNOWN_VARIANT (>=70%) — 3 (SEED-001, SEED-003)
   Layer 3: CLOSE_RELATIVE (50-70%) — 1 (SEED-005)
   Layer 4: NOVEL (<50%) — 4
   Layer 5: HIGH_CONFIDENCE_NOVEL (<40%) — 12

   Results: 16/20 candidates are publishably novel.
   12 of those are HIGH_CONFIDENCE_NOVEL (<40% identity).

3. outputs/novelty_audit_full.csv — Machine-readable classifications

4. docs/NOVELTY_AUDIT_FULL.md — Comprehensive audit report with:
   - Summary table (counts per tier)
   - Per-candidate table (20 rows with novelty, category, best reference)
   - Family-level notes
   - Priority tiers for publication claims
   - Reference hit frequency

5. docs/METRICS_CURRENT.md — typo fix (knownd_amps.csv -> known_amps.csv)

Tests: 1343 passing.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Three HIGH/MEDIUM fixes:

1. detail_rows now correctly populated (all_pairs.extend per candidate)
   → outputs/novelty_audit_details.csv has 119 pairwise similarity entries

2. Taxonomy classifier fixed for two misclassifications:
   - defensin_A → insect (was human due to substring priority)
   - bactenecin_7 → mammalian (was insect due to substring collision)
   All 120 sequences now classified. Zero "unknown" entries.

3. Threshold boundary aligned: novelty >= HIGH_CONFIDENCE (0.60)
   consistent between code and docs. Unused 'import json' removed.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@cschanhniem
cschanhniem merged commit 24a5f8f into main Jun 29, 2026
2 of 3 checks passed
@cschanhniem
cschanhniem deleted the feat/sprint2-novelty-audit branch June 29, 2026 03:17
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