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

openvax / vaxrank / 25441219445
96%
master: 88%

Build:
Build:
LAST BUILD BRANCH: v3.1.8
DEFAULT BRANCH: master
Ran 06 May 2026 02:28PM 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
25441219445

push

github

web-flow
Multi-predictor visibility across all three input paths (#261) (#280)

Closes #261 — every predictor's IC50 / score / rank now reaches the
HTML / PDF / ASCII reports across LENS, pVACseq, and VCF/BAM input
paths.

## Root cause (VCF/BAM only)

``vaxrank/epitope_logic.py::predict_epitopes`` collapsed
multi-predictor data via a dict keyed on ``(peptide, allele)`` —
so when topiary's ``TopiaryPredictor(models=[mhcflurry,
netmhcpan])`` produced two rows for the same (peptide, allele),
the second silently overwrote the first. Pre-fix LENS already
emitted N predictions per (peptide, allele) intact (the dict
collapsing happened in a different layer there); pVACseq's
file format is single-predictor by construction.

## Fix

- ``predict_epitopes`` now returns ``list[EpitopePrediction]``
  (was ``OrderedDict[tuple, EpitopePrediction]``). Every
  (peptide, allele, predictor) tuple lands in the list — no
  silent overwrites. ``core_logic.vaccine_peptides_for_variant``
  drops the ``.values()`` call.
- ``epitope_logic`` now threads ``epitope_config.default_methods``
  into the topiary ``EvalContext`` and ``apply_filter`` so the
  DSL has a per-kind tiebreaker when multi-predictor data is
  in play. Single-predictor runs leave it unset (no behavior
  change).
- ``cli/entry_point.run_vaxrank_from_parsed_args`` switches from
  mhctools' single-valued ``mhc_binding_predictor_from_args`` to
  the multi-valued ``predictors_from_args``. ``--mhc-predictor
  mhcflurry netmhcpan`` now actually runs both. Single-predictor
  runs use the bare predictor (topiary wraps once); multi-predictor
  runs go through ``TopiaryPredictor(models=[...])``.
- Removed the now-unused ``OrderedDict`` import + ``Peptide`` /
  ``Allele`` aliases in ``epitope_logic.py``.

## Report rendering — already correct

The per-epitope HTML/PDF/ASCII tables iterate
``vaccine_peptide.mutant_epitope_predictions`` and call
``_epitope_data`` once per prediction. With multiple predictions
per (peptide, allele),... (continued)
Source Files on build 25441219445
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #25441219445
  • aedab6b0 on github
  • Prev Build on v2.23.1 (#25432688227)
  • Next Build on main (#25447515822)
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