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

pirl-unc / tcrsift / 25557799403
71%

Build:
DEFAULT BRANCH: main
Ran 08 May 2026 01:20PM UTC
Jobs 4
Files 24
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 May 2026 01:18PM UTC coverage: 70.986% (+0.2%) from 70.809%
25557799403

push

github

web-flow
Add donor/method filter knobs + named filter modes (#15 chunk 3) (#16)

Surfaces the donor/method aggregations from #8 chunk 2 as first-class
filter knobs and named filter-mode presets that match common
multi-donor / multi-method study designs.

New aggregations (when enrichment_method is on the sheet):
  - max_cells_per_method
  - max_frequency_per_method (denominator: method-level cell totals)

New filter knobs on filter_clonotypes_threshold + filter_clonotypes:
  - min_donors                    (reads n_donors)
  - min_methods_per_donor         (reads max_methods_per_donor)
  - min_cells_per_method          (reads max_cells_per_method)
  - min_frequency_per_method      (reads max_frequency_per_method)

Each is a no-op when its source column isn't on the table, preserving
backwards compat for designs that don't supply patient_id /
enrichment_method.

Named filter modes via resolve_filter_mode_kwargs(mode, user_kwargs):
  - fdr (default)            existing FDR-tier behavior
  - shared-high-freq         min_methods_per_donor=2,
                             min_frequency_per_method=0.01
                             (calibrated against MART-1 study tier 1)
  - cross-donor-public       min_donors=2, min_methods_per_donor=1,
                             min_frequency_per_method=0.005
                             (warns when no clone has n_donors>=2;
                             does not error per #15)

Layering: user-supplied knobs override mode defaults; unset/zero
values don't clobber the preset.

CLI:
  - tcrsift filter   --filter-mode {fdr,shared-high-freq,cross-donor-public}
                     --min-donors / --min-methods-per-donor /
                     --min-cells-per-method / --min-frequency-per-method
  - tcrsift run      same flags, threaded through FilterConfig and
                     resolve_filter_mode_kwargs.

Tests:
  - filter knobs (4): drop in expected counts when source columns
    present; full pass-through (no-op) when columns abse... (continued)

4174 of 5880 relevant lines covered (70.99%)

2.84 hits per line

Coverage Regressions

Lines Coverage ∆ File
200
56.74
0.05% cli.py
20
91.15
1.92% filter.py
17
89.63
0.33% config.py
5
94.61
-0.24% clonotype.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.12 - 25557799403.1 08 May 2026 01:20PM UTC 24
70.97
GitHub Action Run
2 python-3.9 - 25557799403.2 08 May 2026 01:20PM UTC 24
70.95
GitHub Action Run
3 python-3.10 - 25557799403.3 08 May 2026 01:20PM UTC 24
70.97
GitHub Action Run
4 python-3.11 - 25557799403.4 08 May 2026 01:20PM UTC 24
70.97
GitHub Action Run
Source Files on build 25557799403
  • Tree
  • List 24
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25557799403
  • 1a85245b on github
  • Prev Build on main (#25533157354)
  • Next Build on main (#25558062992)
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