• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openvax / topiary / 33426610623
93%

Build:
DEFAULT BRANCH: master
Ran 31 Aug 2026 06:47PM UTC
Jobs 3
Files 35
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

31 Aug 2026 06:43PM UTC coverage: 91.148% (+0.04%) from 91.113%
33426610623

push

github

web-flow
Add read-level evidence and per-field knownness to ProteinFragment (#102) (#221)

First half of the multi-source fragment work, from vaxrank's consumer
requirements. isovar integration is deliberately not here.

Four RNA read-count fields, none derivable from the aggregate expression
the fragment already carried, and one of which -- reads supporting this
assembled protein sequence rather than merely the variant allele -- is a
distinction only the assembler can make.

None means unknown and is not 0. A source with no read data leaves them
None; a source that looked and found nothing sets 0. Collapsing those
would let a consumer read "no RNA support" out of "this source cannot
answer". The distinction survives a TSV round trip, since one that does
not serialize is decorative.

field_provenance says how real a populated field is: measured,
approximated, or synthesized. That covers what a bare None cannot -- a
LENS or pVACseq read count is real but estimated, and a placeholder
ref/alt invented because the source supplied none has a value that means
nothing, which anything doing variant effect annotation must refuse
rather than compute on. Accessors (is_known, provenance_of,
is_approximate, is_usable_as_biology) rather than the raw dict. A
provenance entry naming a nonexistent field, or an unknown label, is
refused: a typo would sit inert and quietly stop protecting the field it
was written for.

Also fixes ProteinFragment.from_dict, which hardcoded its field list and
so rejected every field added after that list was written. It now derives
the set from the dataclass and cannot drift again -- these new fields
would have been the first casualties.

18 tests, including the degenerate-pVACseq conformance case vaxrank
proposed and an explicit "a consumer need not branch on source_type".
Version 5.32.0.

Claude-Session: https://claude.ai/code/session_01BAUqjqDDPXaTdtUDJqapJG

39 of 40 new or added lines in 3 files covered. (97.5%)

5766 of 6326 relevant lines covered (91.15%)

2.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
99.35
-0.65% topiary/protein_fragment.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.12 - 33426610623.1 31 Aug 2026 06:47PM UTC 35
91.15
GitHub Action Run
2 python-3.11 - 33426610623.2 31 Aug 2026 06:47PM UTC 35
91.15
GitHub Action Run
3 python-3.10 - 33426610623.3 31 Aug 2026 06:47PM UTC 35
91.15
GitHub Action Run
Source Files on build 33426610623
  • Tree
  • List 35
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33426610623
  • ea5eba13 on github
  • Prev Build on v5.31.1 (#33418745160)
  • Next Build on master (#33427386457)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc