Repository navigation
AGA1 calls in the sorting hat: GPI, long disorder, broad and narrow flags, model call (plan WP 3; stacked on #158) - #159
Merged
Conversation
…esholds table (work packages 1 and 2 of the AGA1 sorting-hat plan) gpi: PredGPI gff3 -> GPI-anchor call, omega site, confidence class; proteins of 40 residues or fewer are not_assessable, never not_called. disorder: AIUPred/IUPred3 per-residue text, read as a stream, checked against the FASTA residues; longest run, fraction, mean. aga1_model: score tables of feature_classifier.py apply + data/sorting_hat/aga1_model_thresholds.tsv (clade rows chosen by lineage, taxon 1 fallback marked calibrated=no); module identity covers the threshold rows used and the score tables. No scikit-learn import. Checked on the real C. parapsilosis outputs: gpi 127 called and 3 not_assessable, disorder longest runs equal the committed table for all 5,777 proteins. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…the broad and narrow flags and the model call gpi_anchored_protein, long_disordered_protein (thresholds.disorder_run_min 200), gpi_long_disorder_protein (two modules, no ref: measurable), ser_thr_gpi_wall_candidate and flocculin_like_candidate (gated, derived; the narrow flag reads repeat14 only) and model_surface_candidate. Descriptions with their known limits in docs/class_descriptions.yaml, CLASSES.md regenerated, evidence entries for the new modules, test fixtures extended with the three new modules, tests of all three-valued combinations. The primary label rules are not changed: the existing mechanism lists only accept earlier ungated calls, and adding the new calls would make the existing calls not_assessable in runs without the new tables. The pinned golden run is regenerated in the next commit. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Only additions: the new categories.yaml hash and thresholds line, the three new modules in the module tables, and the rows of the six new calls. No existing row changed (0 removed lines in calls.long.expected.tsv). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…class Saccharomycetes) Found when the real taxonomy was loaded for the acceptance run: 4891 does not contain C. albicans, C. auris or C. parapsilosis, so the yeast row would have applied to S. cerevisiae, C. glabrata and K. marxianus only. 147537 contains all six yeast species of the test and none of the non-yeast species. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
hyphaltip
added a commit
that referenced
this pull request
Oct 25, 2026
AGA1 sorting-hat acceptance on ten proteomes and smoke status files (plan WP 4; stacked on #159)
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.
Work package 3 of
docs/superpowers/plans/2026-10-26-aga1-sorting-hat-modules-and-aggregator.md. Stacked on #158 (the wrappers): the diff shrinks once that merges.What
Six calls in
categories.yaml(category "cell wall and adhesion"):gpi_anchored_protein,long_disordered_protein(thresholds.disorder_run_min: 200),gpi_long_disorder_protein(reads two modules, noref, so a call status can be measured), the gated derived compositesser_thr_gpi_wall_candidate(the broad flag) andflocculin_like_candidate(the narrow flag; detector 14 only), andmodel_surface_candidate(aga1_modeland a signal peptide). Descriptions with their known limits indocs/class_descriptions.yaml;docs/CLASSES.mdregenerated; evidence entries for the new modules; test fixtures extended with the three modules; 45 new tests (every three-valued combination, the inclusive 200 cut, absent module gives not_assessable and never zero, call structure:call_eligible, reads, derived composites).The golden run
Regenerated in its own commit. Diff reviewed: only additions (0 removed lines in
calls.long.expected.tsv); the report differs by the newcategories.yamlhash, thedisorder_run_minthreshold, the three new modules and the call rows.Decision that departs from the first draft of the spec
The primary label and the existing
other_*mechanism lists are not changed. They accept only earlier ungated calls, and adding the new calls would turn the existingother_*andsurface_attachment_candidatecalls intonot_assessablefor every run that has nogpi/disordertable (an unknown mechanism makesother_*unknown). The AGA1 calls are reported next to the existing calls; the primary label ignores them (a test pins this). The spec (#157) is updated to say so.Checks
1359 tests passed before this PR's calls and the full suite (
tests/cellsurface_sorting_hat,tests/class_table,tests/aga1_class) passes after; ruff 0.3.5 clean.🤖 Generated with Claude Code