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

pirl-unc / hitlist / 25063587416
80%

Build:
DEFAULT BRANCH: main
Ran 28 Apr 2026 04:00PM UTC
Jobs 1
Files 25
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

28 Apr 2026 03:58PM UTC coverage: 68.625% (+0.2%) from 68.436%
25063587416

push

github

web-flow
v1.29.6: pmhc UX rebuild + report perf fix + progress feedback (#179)

User reports against v1.29.4-5 surfaced three CLI quality issues that
all share a root cause: silent long-running paths that hung when
inputs widened.

1. **Drop the `query` subcommand**. It was the only operation under
   ``hitlist pmhc``; ``hitlist pmhc query --protein …`` is now just
   ``hitlist pmhc --protein …``. The subparser added zero value.

2. **Make ``--protein`` and ``--mhc-allele`` optional**.
   - neither given → scan the whole corpus
   - protein only → all alleles for that gene
   - allele only  → all genes presenting on that allele
   - both         → original cross-product behavior

3. **Add ``--gene`` as an alias for ``--protein``**. Users naturally
   type ``--gene`` (it's what the column is called in observations).

4. **Pre-filter pmhc query before the explode** (the actual hang).
   Without an allele filter, the original code loaded the full 4.4M-row
   parquet and then ``explode``-d the gene-list columns to ~13M rows,
   which made every subsequent ``df.drop`` / ``isin`` deep-copy a giant
   masked-array block. Adding a substring pre-filter on
   ``gene_names``/``gene_ids`` cuts 4.4M → ~hundreds before the explode.
   ``hitlist pmhc --gene PRAME`` went from ``^C`` to **2.7s**.

5. **Fix the same pattern in `hitlist report`**. The override-summary
   block ran ``df.apply(lambda)`` over millions of rows, inside a loop
   over ~200 PMID overrides — an O(overrides × rows) hang. Replaced
   with ``pd.to_numeric`` + ``.isin()`` + ``value_counts()``. Report
   now finishes in ~13s.

6. **Stderr progress hints**. Both commands emit short ``[pmhc]`` /
   plain-text status lines while loading the parquet, narrowing rows,
   exploding, and aggregating, so users can tell the process is
   working instead of guessing it's hung.

Tests added for each new pmhc filter combination (no-protein,
no-allele, no-filters); all 495 tests pass.

Note: PyPI 1.29.6 was uploaded as pa... (continued)

3224 of 4698 relevant lines covered (68.62%)

0.69 hits per line

Coverage Regressions

Lines Coverage ∆ File
58
51.63
0.35% cli.py
32
76.55
3.1% pmhc_query.py
9
84.0
-0.77% report.py
Jobs
ID Job ID Ran Files Coverage
1 25063587416.1 28 Apr 2026 04:00PM UTC 25
68.62
GitHub Action Run
Source Files on build 25063587416
  • Tree
  • List 25
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25063587416
  • 5a7576a0 on github
  • Prev Build on main (#25062385762)
  • Next Build on main (#25068532310)
  • Delete
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