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

openvax / vaxrank / 24932769278
96%
master: 88%

Build:
Build:
LAST BUILD BRANCH: v3.1.8
DEFAULT BRANCH: master
Ran 25 Apr 2026 02:16PM UTC
Jobs 0
Files 0
Run time –
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

pending completion
24932769278

push

github

web-flow
LENS multi-predictor support; default_methods generalization

## Summary

Makes `--input-lens` actually work on real LENS outputs (v1.4 / v1.5 / v1.9), surfaces every detected predictor to the Topiary DSL so formulas can combine them, and fails fast when a formula references a predictor / version / kind the data doesn't expose.

## What was broken

- **`load_lens()` expected columns no real LENS output produces** (`mhc_allele`, `binding_affinity`, `reference_peptide`, …). Against any actual LENS file you'd get "missing required columns" immediately.
- **Multiple predictors were invisible to formulas.** LENS v1.4/v1.5 emit netMHCpan + MHCflurry; v1.4 also emits netMHCstabpan (stability, a different topiary Kind). The old loader picked one and the others disappeared.
- **External-input scoring bypassed the DSL.** `write_neoepitope_report` called `EpitopePrediction.logistic_epitope_score()` directly, so `filter_expr` / `score_expr` were silently ignored for LENS and pVACseq. Formulas referencing missing fields produced `NaN` rather than errors.

## What changed

### 1. Generic predictor sniffing

`load_lens` discovers predictors by regex on column names — `<tool>_<version>.<metric>` → bucket by `(tool, version)` → match against a small registry (`mhcflurry`, `netmhcpan`, `netmhcstabpan`) that declares each tool's topiary Kind (`pMHC_affinity` / `pMHC_stability`) and its value / percentile metric names. Unknown tools are ignored so future LENS versions don't hard-fail.

### 2. `--lens-predictor` gains `all`

- `auto` (default): pick a canonical pMHC_affinity predictor — `mhcflurry` preferred, falls back to `netmhcpan`.
- `all`: emit one `EpitopePrediction` per `(peptide, allele, detected predictor)`. Report DataFrame stays one row per `(peptide, allele)`; DSL sees all predictors.
- Any specific tool name: use only that, error if absent.

Allele strings are normalized from LENS's `HLA-A01:01` to `HLA-A*01:01`.

### 3. External-input scoring routes through ... (continued)
Source Files on build 24932769278
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #24932769278
  • 69b8ddcb on github
  • Prev Build on main (#24736303501)
  • Next Build on main (#24932789270)
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