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

pirl-unc / tcrsift / 25557799403

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

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

56.74
/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