Skip to content

Add explicit RNA reference-completion hypotheses (10.10.0) - #560

Merged
iskandr merged 1 commit into
mainfrom
feat/reference-completion-hypotheses
Sep 29, 2026
Merged

iskandr merged 1 commit into
mainfrom
feat/reference-completion-hypotheses

Conversation

@iskandr

@iskandr iskandr commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Partial Exacto observations can omit a reference start or stop, so their selected
ORF may describe an internal peptide rather than the protein implied by a
compatible reference continuation. Add the opt-in
reference_completion_hypotheses API to generate those continuations as separate
candidates, preserving the observed RNA, original ORFs and evidence.

Completion works at either mapped end and supports explicitly supplied isoform
alternatives that agree with the observed genomic/exonic path. Each hypothesis
records its assumed spans and observed span, nests original read support, and
translates from the retained annotated start using existing genetic-code and
selenocysteine rules. Known RNA ends prevent extension. Missing starts,
ambiguous coding bases and missing stops remain explicit. No initiation,
translation, expression or extra RNA support is inferred from completion.

For example, observed PGKF remains unchanged while a compatible reference
continuation yields a separate MKPGKFP hypothesis. An unchanged internal-ATG
suffix likewise remains unresolved as an observation; its completed counterpart
can recover the unchanged full reference protein.

Fixes #499, following the observed-coordinate mapping released in #559.
Initiation-dependent upstream extensions remain in #466. Adds user/API docs
and bumps the version to 10.10.0.

Validation:

  • 74 new regression cases pass: both strands, either end, split codons,
    in-/out-of-frame producer ORFs, isoforms, frameshifts, RNA ends, ambiguous
    bases, selenocysteine, provenance isolation and real-transcript JSON round-trip.
  • Lint, strict documentation build and all 3,070 local tests pass (92% coverage).
    PR and main CI passed on Python 3.9, 3.10 and 3.11; documentation deployment passed.
  • Published 10.10.0 from clean main via
    ./deploy.sh; both PyPI artifact hashes match the build. A fresh PyPI install
    passes the CLI smoke check and all 74 new regressions. Tag v10.10.0 is pushed.
  • Real Ensembl CFTR/BRCA1 smoke check retains 36 compatible transcript pairs
    from 11 × 29 supplied isoforms.

Scientific inputs checked: pinned Exacto translation,
initiation-context experiments, and
selenocysteine/3′-UTR experiments.

@iskandr
iskandr marked this pull request as ready for review September 29, 2026 15:26
@iskandr
iskandr merged commit 74cb8b2 into main Sep 29, 2026
8 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.

Map Exacto observations and represent reference completion as explicit hypotheses

1 participant