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

pirl-unc / hitlist / 25817940426

13 May 2026 06:17PM UTC coverage: 76.015% (+0.2%) from 75.86%
25817940426

push

github

web-flow
v1.30.52: pmhc filter flags + n_samples / n_references (closes #259) (#260)

* v1.30.52: pmhc filter flags + n_samples / n_references columns (closes #259)

Three new filter flags on `hitlist pmhc`:

  --min-binder-class {strong,medium,weak}
      Drop rows below the tier.  Requires --predictor.
  --min-references N    (default 1)
      Drop rows with fewer than N distinct PMIDs.
  --min-samples N       (default 1)
      Drop rows with fewer than N distinct samples.

Result frame now carries two new count columns:
  n_references = distinct PMIDs per (gene, allele, peptide)
  n_samples    = distinct synthesized sample IDs

`attributed_sample_label` is empty on ~98.8% of IEDB rows (only the
Sarkizova-style per-donor papers populate it).  To make n_samples
meaningful for the rest, we synthesize a sample ID per row:
attributed_sample_label if non-empty, else f"pmid:{pmid}".  Worst case
(no per-donor labels): n_samples == n_references.  Best case (real
per-donor data): n_samples > n_references.  Smoke test against the
live corpus shows the PRAME SLLQHLIGL row has n_obs=28, n_refs=20,
n_samples=22 — the per-donor signal flows through.

Internal: _consolidate_after_narrowing's group_cols updated to keep
the internal _sample_labels column on the predictor path (same
silently-dropped-on-groupby gotcha as mhc_species, fixed the same way).

Tests (+7):
- n_references / n_samples columns attached
- n_samples > n_references when one PMID has many donors
- --min-references drops singletons
- --min-samples drops single-sample rows
- --min-binder-class requires --predictor
- --min-binder-class rejects unknown tier
- --min-binder-class filters strong/medium/weak through the predictor path

756 tests pass.

* pmhc_query: composite sample-ID synthesis + validation-order fix (#260 audit)

Two correctness fixes from the v1 audit of #259:

1. SAMPLE-ID UNDERCOUNT.  Initial #259 synthesized _sample_id as
   "attributed_sample_label or pmid:N" — but attributed_sample_label
 ... (continued)

4548 of 5983 relevant lines covered (76.02%)

0.76 hits per line

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

56.39
/cli.py


Source Not Available

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