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

pirl-unc / tcrsift / 26848666376

02 Jun 2026 09:19PM UTC coverage: 80.82% (-0.7%) from 81.556%
26848666376

push

github

web-flow
2.22.0: OLGA/SONIA Pgen + Ppost selection features (#143) (#153)

* OLGA/SONIA Pgen + Ppost selection features (#143)

The reproducible precursor-frequency / publicness axis. New module
tcrsift/olga_ppost.py computes per-clonotype log10 Pgen (OLGA) and
log10 Ppost = Pgen*Q (SONIA) for TRA and TRB, the sequence-only
discriminator that separates public from private clones reproducibly
across donors (pilot AUROC 0.72/0.72) where RNA signatures flip.

- OLGA + SONIA are GPL-3.0 -> runtime-optional extra (pip install
  tcrsift[pgen]), NOT vendored, so tcrsift stays Apache-2.0. Lazy import
  with an install-hint ImportError.
- Loads the default human-T models; passes chain_type explicitly so the
  alpha (VJ) model doesn't silently load as beta (VDJ). Computes Q via
  SONIA's serial evaluate_selection_factors and Pgen via OLGA's
  per-sequence call — no multiprocessing pool.
- Gene names mapped to OLGA's allele-suffixed form (append *01 when
  missing). Pgen=0 / unrecognized-even-after-*01 -> NaN, never a silent
  default-mask (the nearest-supported-allele mapping is #150, which builds
  on supported_alleles()).
- flag_private_candidates: low-Ppost AND expanded.
- CLI: 'tcrsift ppost'. main() now propagates command return codes.
- Tests gated on the optional extra (model-backed) + always-on pure
  helpers and missing-deps path. Docs page + nav.

Bump 2.22.0.

* Quiet pylint on the optional GPL imports (CI lint fix)

pylint --errors-only flagged olga/sonia as unresolved imports (E0401) and
the object-typed evaluator attr (E1101) in CI, where the [pgen] extra
isn't installed. Disable those checks inline — the imports are guarded by
_require_olga_sonia().

8027 of 9932 relevant lines covered (80.82%)

3.23 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

57.37
/cli.py


Source Not Available

The file "cli.py" isn't available on github. Either it's been removed, or the repo root directory needs to be updated.

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