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

pirl-unc / tcrsift / 28969934137
85%

Build:
DEFAULT BRANCH: main
Ran 08 Jul 2026 07:35PM UTC
Jobs 1
Files 48
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

08 Jul 2026 07:29PM UTC coverage: 85.162% (+0.04%) from 85.126%
28969934137

push

github

web-flow
3.20.0: γδ/αβ-CD8 disaggregation relabel_fn + byte-faithful refine_cluster re-embed (#351) (#355)

#351 rides on refine_cluster, but as shipped in 3.19.0 the primitive delegated
its re-embed to embed_cells — which drops MT/receptor genes, runs
filter_genes(min_cells=3), defaults n_pcs=40 and always runs UMAP. Any of those
reshuffles the sub-partition, so a hand-rolled pass could not delete itself in
favor of the primitive.

Rework refine_cluster's re-embed into the exact, exposed recipe:
counts → normalize_pearson_residuals → nan_to_num →
pca(n_comps=min(n_pcs, n_obs-1, n_vars-1)) → neighbors(n_neighbors) →
leiden(resolution, flavor="igraph", n_iterations=2, directed=False), all on
random_state, NO UMAP. With informative_genes the panel is used VERBATIM (no
MT/receptor/min-cells curation), so an identical hand-rolled recipe reproduces
the sub-partition byte-for-byte. New params n_pcs=30/n_neighbors=15/n_top_genes;
embed_config dropped. relabel_fn now receives the ORIGINAL-scale .X slice (so
gene-level thresholds see log1p CP10K, not residuals) plus obs["leiden"].

Ship gd_cd8_relabel(): the h37 rule as a ~10-line relabel_fn — call a sub-cluster
γδ iff mean TRDC >= trdc_min (log1p CP10K) AND mean has_ab_contig < ab_max
(0.9 / 0.25), aggregated per sub-cluster (robust to ~46% TRDC dropout), returning
("gd T","gdt") / ("CD8 effector/cytotoxic","gdt_cd8") and warning in the
ambiguous band. has_ab_contig stays a caller-populated bool obs column; no CDR3
format is hard-coded (docs show the h37 "α/β" one-liner).

- tcrsift/embed.py: _reembed_leiden(), rewritten refine_cluster(), gd_cd8_relabel().
- docs/user-guide/atlas.md: exact-recipe + gd_cd8_relabel section.
- tests/test_gd_cd8_relabel.py (10, base install): both-conditions/boundaries/
  sparse/ambiguous-warn/missing-col/custom.
- tests/test_refine_cluster.py: verbatim-panel + determinism + γδ-through-
  refine_cluster integration.

Claude-Session: https://claude.ai/code/session_01Nc9jzi2yp77EVa8yjN1mog

12983 of 15245 relevant lines covered (85.16%)

0.85 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
95.03
1.01% embed.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.12 - 28969934137.1 08 Jul 2026 07:35PM UTC 48
85.16
GitHub Action Run
Source Files on build 28969934137
  • Tree
  • List 48
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28969934137
  • 76443ccc on github
  • Prev Build on main (#28968419181)
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