Skip to content

AGA1 calls in the sorting hat: GPI, long disorder, broad and narrow flags, model call (plan WP 3; stacked on #158) - #159

Merged
hyphaltip merged 5 commits into
mainfrom
aga1-sorting-hat-calls
Oct 25, 2026
Merged

hyphaltip merged 5 commits into
mainfrom
aga1-sorting-hat-calls

Conversation

@hyphaltip

Copy link
Copy Markdown
Member

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, no ref, so a call status can be measured), the gated derived composites ser_thr_gpi_wall_candidate (the broad flag) and flocculin_like_candidate (the narrow flag; detector 14 only), and model_surface_candidate (aga1_model and a signal peptide). Descriptions with their known limits in docs/class_descriptions.yaml; docs/CLASSES.md regenerated; 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 new categories.yaml hash, the disorder_run_min threshold, 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 existing other_* and surface_attachment_candidate calls into not_assessable for every run that has no gpi/disorder table (an unknown mechanism makes other_* 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

hyphaltip and others added 5 commits October 25, 2026 14:17
…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
hyphaltip merged commit 79b039c into main Oct 25, 2026
17 checks passed
@hyphaltip
hyphaltip deleted the aga1-sorting-hat-calls branch October 25, 2026 22:15
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)
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