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

pirl-unc / hitlist / 24912794219
80%

Build:
DEFAULT BRANCH: main
Ran 24 Apr 2026 09:32PM UTC
Jobs 1
Files 23
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

24 Apr 2026 09:30PM UTC coverage: 58.862% (+0.2%) from 58.642%
24912794219

push

github

web-flow
v1.18.0: Quantitative binding-assay fields (#148) (#153)

Issue #148: binding.parquet only carried qualitative_measurement /
assay_comments, so affinity-predictor training couldn't filter on
IC50/Kd thresholds or stratify by assay method.  Added four
structured IEDB/CEDAR columns plus a parsed numeric column, and
wired filters through the binding export + CLI.

New columns on observations.parquet + binding.parquet (scanner +
supplement write both):
- assay_method              raw IEDB 'Assay | Method' (e.g.
                            'purified MHC/direct/fluorescence')
- measurement_units         raw 'Assay | Units' (nM, log10(nM), ...)
- measurement_inequality    '<', '>', '=', '<=', '>=' or empty
- quantitative_measurement  raw string preserved for audit
- quantitative_value        float cast; NaN for empty / non-numeric

Scanner gets canonical indices (90/92/95/96) wired into
_FALLBACK_INDICES and 'Assay | ...' names into _COLUMN_NAMES.  A
new _parse_float helper handles the empty-string and stray-text
cases IEDB exposes.  Supplementary rows (MS-only) explicitly stamp
empty strings + NaN so the parquet schema stays uniform.

New filters on generate_binding_table:
- assay_method (case-insensitive substring, any-match)
- measurement_units (case-insensitive exact match)
- quantitative_value_min / quantitative_value_max (inclusive, NaN-
  excluding)
- has_quantitative_value (True = only IC50-style rows, False = only
  qualitative-tier rows, None = no axis filter)

CLI mirrors these on 'hitlist export binding':
- --assay-method, --measurement-units (repeatable)
- --quantitative-value-{min,max}
- --has-quantitative-value / --qualitative-only

Tests (9 new):
- Scanner: synthetic IEDB CSV populates all quant columns end-to-end,
  quantitative_value round-trips 12.5 and 500.0, NaN for empty cells
  and for non-numeric garbage.
- Export: IC50 ≤ 100 nM filter keeps only the low-IC50 row, mixes of
  nM and log10(nM) units are rejected by the units filter, ass... (continued)

2401 of 4079 relevant lines covered (58.86%)

0.59 hits per line

Coverage Regressions

Lines Coverage ∆ File
95
17.38
-0.24% cli.py
83
79.47
0.48% export.py
31
78.92
3.44% scanner.py
2
86.76
0.0% supplement.py
Jobs
ID Job ID Ran Files Coverage
1 24912794219.1 24 Apr 2026 09:32PM UTC 23
58.86
GitHub Action Run
Source Files on build 24912794219
  • Tree
  • List 23
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24912794219
  • e0704a00 on github
  • Prev Build on main (#24906948592)
  • Next Build on main (#24913437735)
  • 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