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

pirl-unc / tcrsift / 25876362774 / 1
85%
main: 85%

Build:
DEFAULT BRANCH: main
Ran 14 May 2026 05:59PM UTC
Files 25
Run time 3s
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

14 May 2026 05:57PM UTC coverage: 75.131% (+0.6%) from 74.543%
25876362774.1

push

github

web-flow
Fix #67: extended assembly QC + structured report + visualization (#71)

Closes #67. Pre-#69 QC silently passed when c_gene was missing — that
hole hid the #66 truncated-constant bug. #69 added a strict-mode
canonical-ending / canonical-start check; this PR fills out the
defense-in-depth checks #67 actually asked for plus a structured
report shape and a viz so regressions can't hide behind unstructured
log lines.

Extended per-row checks in `validate_sequences`:

- Constant length floors per chain (`CONSTANT_AA_FLOOR`): α ≥ 100,
  β ≥ 150 aa. Catches truncations that hid behind long leaders.
- β-chain J→C in-cis parity (`BETA_JC_PARITY`): TRBJ1-* must pair
  with TRBC1, TRBJ2-* with TRBC2. Disagreement is an annotation or
  assembly bug; allele suffixes are stripped.
- Byte-for-byte `full_{chain}_aa == leader + vdj + constant` when
  all three parts are present.
- No premature `*` mid-chain (frame-error tell).
- Methionine start when a leader was included.
- Standard residue alphabet only (20 AAs + X + *); flags lowercase,
  digits, and the ambiguous codes B/J/Z that have leaked from test
  fixtures.
- Single-chain (β-linker-α) checks: linker present exactly once,
  byte-for-byte construct equality, canonical 2A peptide AA when the
  linker matches a known 2A name.

Structured report (`AssemblyQCCheck` + `AssemblyQCReport`):

- `build_assembly_qc_report(df)` returns the structured object;
  `assemble_qc_report(df)` keeps returning the formatted string by
  delegating to `format_text()`.
- Each check carries name, label, chain, pass/fail counts, optional
  median + unit, and up to 3 example failures.
- `.to_dataframe()` for programmatic access; `.passed` for boolean
  gating; `__str__` defers to `format_text`.

Visualization (`plot_assembly_qc(report, output_path=None)`):

- Stacked horizontal bar per check (green pass, red fail) with row
  annotations showing X/Y plus median where applicable.
- Title encodes PASS/FAIL status + row count.
- Saves to fi... (continued)

5731 of 7628 relevant lines covered (75.13%)

0.75 hits per line

Source Files on job python-3.10 - 25876362774.1
  • Tree
  • List 25
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25876362774
  • d79cc2b5 on github
  • Prev Job for on main (#25873683790.4)
  • Next Job for on main (#25878034169.3)
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