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

pirl-unc / tcrsift / 26583761862
84%

Build:
DEFAULT BRANCH: main
Ran 28 May 2026 03:18PM 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

28 May 2026 03:15PM UTC coverage: 77.229% (+0.2%) from 77.011%
26583761862

push

github

web-flow
1.3.0: hybrid contig+canonical NT at the J→C boundary (#103 reopened) (#104)

* 1.3.0: hybrid contig+canonical NT at the J→C boundary

Builds on #102 (canonical AA correctness via packaged FASTA).

The J→C splice junction in mature TCR mRNA falls **inside a codon** —
the junction-residue codon is encoded partly by the J segment's terminal
partial codon and partly by the C exon's first 1-2 nt. Pre-this change
(post-#91), the assembler trimmed the J-side partial codon nt from
``vdj_*_nt`` and started the C region with a codon-optimized canonical
codon for the junction residue (E for β chains). That preserved the
protein but discarded the donor's actual NT at the boundary.

This PR makes the C region NT a hybrid:

1. **Junction codon + downstream C codons come from the CellRanger
   contig where possible.** A new ``_extract_c_region_nt_from_contig``
   locates ``vdj_{chain}_nt`` in the contig and pulls the bytes
   immediately past it (which include the J-side partial codon nt that
   was trimmed at clonotype aggregation). ``_blend_constant_nt_with_contig``
   uses those bytes for as many codons as agree with the canonical AA.
2. **Incomplete codons at the contig 3' edge are completed with canonical
   bytes.** The completed codon is chosen to (a) start with the contig's
   partial nt and (b) code for the canonical residue. If no codon
   satisfies both, the partial bytes are discarded and canonical takes
   that codon.
3. **Everything past the contig's coverage uses codon-optimized canonical
   NT.** The deep C region is invariant across donors; codon optimization
   is preferable for synthesis.

If the contig translation diverges from canonical AA at some position,
the assembler switches to canonical-codon-optimized at that point and
adds a QC warning naming the AA position of the divergence. The protein
output is always canonical; only the NT carries donor-specific bytes.

The breakdown is recorded in ``{chain}_constant_source``, e.g.

  canonical:TRB... (continued)

6549 of 8480 relevant lines covered (77.23%)

3.09 hits per line

Coverage Regressions

Lines Coverage ∆ File
44
90.38
1.09% assemble.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.11 - 26583761862.1 28 May 2026 03:18PM UTC 31
77.22
GitHub Action Run
2 python-3.9 - 26583761862.2 28 May 2026 03:18PM UTC 31
77.19
GitHub Action Run
3 python-3.12 - 26583761862.3 28 May 2026 03:18PM UTC 31
77.22
GitHub Action Run
4 python-3.10 - 26583761862.4 28 May 2026 03:18PM UTC 31
77.22
GitHub Action Run
Source Files on build 26583761862
  • Tree
  • List 31
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26583761862
  • 59b93699 on github
  • Prev Build on main (#26575381279)
  • Next Build on main (#26602724887)
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