Skip to content

Reads gate causes for v0.9.0 (#195, #196): not typable, zygosity, unchecked; cause table; site wording - #325

Merged
hyphaltip merged 8 commits into
mainfrom
v090-gate-causes
Nov 10, 2026
Merged

hyphaltip merged 8 commits into
mainfrom
v090-gate-causes

Conversation

@hyphaltip

Copy link
Copy Markdown
Member

This implements the v0.9.0 checklist on #195 and #196, following the curator ruling on the design note (#321) and the grilling of 2026-11-09 (decisions Q1–Q9 below).

What

  • datasets/reads/sra_survey/pilot/causes.tsv (curated). One row per species: species, cause, build_cause, basis, with the evidence for each.
    • homothallic: both MAT genes in every genome, at one locus or unlinked loci → NOT_TYPABLE:homothallic.
    • silent_cassettes → NOT_TYPABLE:silent_cassettes.
    • zygosity: joins ZYGOSITY, so both is MTL a/alpha.
    • cause_unchecked → UNVALIDATED:cause_unchecked plus the usual soft reasons.
  • wave_driver.py:
    • loads the causes at import;
    • the cause overrides the numbers in gate, regate and curate, and also for species held at the panel stage;
    • new command apply-causes;
    • the ≥50%-both shortcut no longer gives PROVISIONAL_HOMOTHALLIC: a species with no cause gets UNVALIDATED:cause_unchecked (Q3);
    • submit-full does not queue NOT_TYPABLE species.
  • cause_evidence.py (new) → cause_evidence.tsv (42 species). For each species it gives:
    • the assembly evidence: genomes with one idiomorph, with both in one locus, or with both at separate loci (from release v0.8.1 loci.tsv);
    • the reads gate numbers;
    • for failed builds, the panel lineages, each with its idiomorph counts.
  • Committed gate tables: 36 rows change against main, each listed in wave*/cause_changes.tsv. 18 were a HOLD, 12 PROVISIONAL_HOMOTHALLIC and 6 UNVALIDATED.
  • Site:
    • new confidence label "not typable by presence", showing the reason and the evidence line;
    • allele counts hidden on the species page and in the index;
    • the index explains the label;
    • the empty "provisional (homothallic)" filter is removed.
  • reads_availability.py: new action not_typable.
  • Docs: CONTRACT.md has a new causes section.

Decisions that change (all listed in cause_changes.tsv)

Now Species
NOT_TYPABLE:homothallic A. nidulans, A. latus, A. spinulosporus (both genes in every assembly, unlinked); S. sclerotiorum, D. hansenii, C. fimbriata (one locus)
NOT_TYPABLE:silent_cassettes S. paradoxus, S. eubayanus, S. pastorianus, S. mikatae, S. kudriavzevii, S. uvarum, S. arboricola, K. marxianus, K. lactis, K. phaffii, O. haglerorum, L. thermotolerans, L. fermentati, L. kluyveri, Zygosaccharomyces ×8, S. pombe, S. japonicus
PASS_ZYGOSITY / PROVISIONAL_ZYGOSITY C. tropicalis (87 of 115 assemblies a+alpha) / L. metapsilosis
UNVALIDATED:cause_unchecked N. tetraspora, Lasallia pustulata, H. anomala, M. pulcherrima (were "provisional (homothallic)"; their assemblies do not support it)

C. dubliniensis and C. viswanathii get the cause zygosity, but stay HOLD:panel_build_failed, a technical reason: their panel loci are all a. L. orthopsilosis and Mucor hiemalis have a build cause only.

Why the yeast panels failed (#196). In every failed build, the panel's assembly loci cover one idiomorph only, so there is nothing to build from:

  • all alpha in Zygosaccharomyces;
  • all a in C. dubliniensis, C. viswanathii and L. orthopsilosis;
  • D. hansenii cut no loci at all, because its a and alpha genes sit in one locus.

Curator decisions (grilling, 2026-11-09)

  • Q1: one cause named homothallic; the locus layout goes in basis.
  • Q2: unchecked species stay visible as UNVALIDATED.
  • Q3: the ≥50%-both rule no longer claims homothallism.
  • Q4: S. uvarum is silent_cassettes; its 263 single calls are noted on Reads: copy-number ratio test for active MAT in cassette yeasts and MTL zygosity #322.
  • Q5: C. fimbriata's 7 unsearched assemblies were searched first.
  • Q9: C. fimbriata is homothallic.
  • Q6–Q8 concern the A. fumigatus sketch-store follow-up, a separate PR.

C. fimbriata. The 7 assemblies v0.8.1 skipped (taxid 5158 has no NCBI lineage) were searched on the taxid route (1035309). Each carries unmodelled hits of both MAT1-1-1 and MAT1-2-1, and none carries one idiomorph only. A --phylum attempt and a control on the called assembly showed that --phylum leaves every gene unmodelled. Both detector problems are filed as #324.

Checks

  • New and updated tests: tests/test_wave_driver_gate.py (cause overrides, apply-causes, the causes file uses only ruled causes), tests/test_cause_evidence.py, and a not-typable test in tests/test_build_reads_site_script.py.
  • Full suite on the HPCC at 96d4bcb: 1967 passed, 6 skipped. The last commit, 9110a44, removes one filter option from the index page and is covered by no test.
  • Site build: 247 species, 30 of them "not typable by presence".
  • Headless browser:
    • K. phaffii shows the cassette reason and evidence, with counts hidden;
    • Lasallia is unvalidated, with counts visible;
    • the index shows 30 "not an allele frequency" cells;
    • no console errors.

Closes the v0.9.0 checklists of #195 and #196. The issues stay open for v0.10.0 (#322, #323).

🤖 Generated with Claude Code

hyphaltip and others added 8 commits November 8, 2026 21:42
…e-typed and failed-panel species (#195, #196)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lent_cassettes, zygosity additions, HOLD:cause_unchecked; apply-causes; site wording; availability action

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nges.tsv per wave); cause_evidence.tsv (42 species); CONTRACT section

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…llic; cause_unchecked visible as UNVALIDATED; the 50%-both shortcut no longer claims homothallism

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es.tsv relative to main); evidence table regenerated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hyphaltip
hyphaltip merged commit 5653b86 into main Nov 10, 2026
2 checks passed
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