Repository navigation
feat: unified AMP reference library + full novelty audit (Sprint 2) - #107
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
Result: 16/20 candidates publishably novel. 12 of those are HIGH_CONFIDENCE_NOVEL (< 40% identity).
3.
outputs/novelty_audit_full.csvMachine-readable per-candidate classification with best reference, similarity, novelty score, publication strategy.
4.
docs/NOVELTY_AUDIT_FULL.mdComprehensive report with summary table, per-candidate table (20 rows), family-level notes, priority tiers, reference hit frequency, and caveats.
5.
docs/METRICS_CURRENT.mdTypo fix (knownd_amps.csv → known_amps.csv).
Tests: 1343 passing.