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

pirl-unc / tcrsift / 26647663939
84%

Build:
DEFAULT BRANCH: main
Ran 29 May 2026 04:00PM UTC
Jobs 4
Files 31
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

29 May 2026 03:58PM UTC coverage: 78.701% (+0.2%) from 78.48%
26647663939

push

github

web-flow
2.3.0: fix #113 — multi-allele canonical with auto-detect (Option D) (#115)

Pre-2.3 we shipped a single canonical per gene (TRAC, TRBC1, TRBC2)
derived from Ensembl. For TRBC2 that's `ENST00000466254` which
encodes the TRBC2*03-protein form (K at mature pos 9). Per the #113
audit, ~99% of human donors carry the *01-protein form (E at pos 9)
— so every β-TRBC2 clone with a contig got its donor-truth E at pos
9 silently stomped to K by the contig blender.

Option D from the maintainer's #113 follow-up comment:

1. **Multi-allele FASTA** (`refseqs/canonical_constants_alleles.fasta`)
   shipping per-allele mature C-region sequences with provenance.
   For TRAC and TRBC1: a single allele each (no human protein-level
   *02 reference accessible). For TRBC2: two distinct protein forms
   — *01-protein (NCBI AAA60662; encoded by IMGT *01/*02/*04) and
   *03-protein (UniProt A0A5B9 / Ensembl). Loaded into
   `HUMAN_CONSTANT_ALLELES[gene][allele]` at import.

2. **Auto-detect** via new `_pick_best_allele(contig_aa, gene)`:
   translates the contig past the J→C junction codon, scores each
   packaged allele by per-position agreement, returns the
   highest-scoring allele plus the full score map. The picker
   gracefully no-decides when contig coverage is too thin
   (`min_compared=5` by default) — callers fall back to the user
   default.

3. **API knobs** on `assemble_full_sequences`:
   `trac_allele=`, `trbc1_allele=`, `trbc2_allele=` defaulting to
   `"auto"`. Pass an allele label (`"01"`, `"03"`) to force.

4. **CLI knobs** on `tcrsift assemble`:
   `--trac-allele`, `--trbc1-allele`, `--trbc2-allele` (default
   `auto`). `tcrsift run` also threads the flags but uses defaults
   unless the config supplies overrides.

5. **Audit columns** per clone:
   - `{chain}_allele_called`  e.g. `"TRBC2*01"` or None
   - `{chain}_allele_score`   float ∈ [0, 1] or None
   - `{chain}_allele_alternatives`  `"TRBC2*01:1.000;TRBC2*03:0.933"`

6. **Default canonical shift**: `... (continued)

6869 of 8728 relevant lines covered (78.7%)

3.15 hits per line

Coverage Regressions

Lines Coverage ∆ File
165
52.64
0.14% cli.py
82
91.39
0.73% assemble.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.10 - 26647663939.1 29 May 2026 04:00PM UTC 31
78.69
GitHub Action Run
2 python-3.9 - 26647663939.2 29 May 2026 04:00PM UTC 31
78.66
GitHub Action Run
3 python-3.12 - 26647663939.3 29 May 2026 04:00PM UTC 31
78.69
GitHub Action Run
4 python-3.11 - 26647663939.4 29 May 2026 04:00PM UTC 31
78.69
GitHub Action Run
Source Files on build 26647663939
  • Tree
  • List 31
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26647663939
  • 598cc81e on github
  • Prev Build on main (#26644524356)
  • Next Build on main (#26686040337)
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