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

pirl-unc / tcrsift / 26507556513
84%

Build:
DEFAULT BRANCH: main
Ran 27 May 2026 11:11AM UTC
Jobs 4
Files 29
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

27 May 2026 11:09AM UTC coverage: 77.235% (+0.4%) from 76.859%
26507556513

push

github

web-flow
Fix #88/#89/#90: J/C parity override, autocorrect, antigen-group coherence (#92)

* Fix #88/#89/#90: J/C parity, autocorrect, antigen-group coherence

Closes #90: pick_canonical_constant now trusts J-family parity over
CellRanger's TRBC1/TRBC2 call (which is unreliable due to ~95% NT
identity between the two C genes). Discovery during end-to-end
validation: _assemble_clone was dropping beta_j_gene on the way into
_add_constant_regions, so the override was a no-op in production —
fixed by propagating j_gene through. Aggregate override count is
logged once at end of assembly to avoid per-row flood.

Closes #89: create_tcr_sequence_pdf no longer aborts on J/C parity
mismatches. New fix_jc_parity() autocorrects beta_c_gene_canonical
from J-family rules. validate_sequences(fix=True) wires it in.
create_tcr_sequence_pdf gains strict='skip' mode that drops rows with
remaining load-bearing failures and renders the rest; raises only
when every row fails. ValidationMessage(str) subclass returned by
validate_sequences carries .idx and .severity, so plots.py filters
on attributes instead of parsing 'Clone {idx}:' out of strings.

Closes #88: _annotate_match groups multi-row matches by canonical
antigen (or antigen_gene fallback) before taking modes, so
db_protein, db_protein_canonical, db_species, db_epitope, db_mhc all
come from the same DB rows and can't cross sources.

Audit hardening (same-archetype bugs found during review):
  - _resolve_c_gene(row, chain) replaces the 'canonical or raw or
    \"\"' pattern at 4 sites — NaN is truthy in Python so the
    fallback never fired when canonical was NaN, causing autocorrect
    and parity-check downgrades.
  - _add_constant_from_row (constant_source='from-data' path) now
    writes c_gene_canonical so the from-data branch produces the
    same audit columns as the canonical path.
  - host_species detection and the _cross strength suffix in
    _annotate_match now derive from the antigen-restricted subset, so
    a... (continued)

6368 of 8245 relevant lines covered (77.23%)

3.09 hits per line

Coverage Regressions

Lines Coverage ∆ File
80
87.5
3.92% assemble.py
69
62.84
0.27% plots.py
7
93.7
-0.95% annotate.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.11 - 26507556513.1 27 May 2026 11:11AM UTC 29
77.23
GitHub Action Run
2 python-3.10 - 26507556513.2 27 May 2026 11:11AM UTC 29
77.23
GitHub Action Run
3 python-3.9 - 26507556513.3 27 May 2026 11:11AM UTC 29
77.2
GitHub Action Run
4 python-3.12 - 26507556513.4 27 May 2026 11:11AM UTC 29
77.23
GitHub Action Run
Source Files on build 26507556513
  • Tree
  • List 29
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26507556513
  • 56d7b188 on github
  • Prev Build on main (#25926219165)
  • Next Build on main (#26508828495)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc