Status
LENS reports carry essential antigen-presentation-pathway state that vaxrank currently ignores. If the patient has lost an HLA allele or has a damaging mutation in B2M / TAP1 / TAP2, MHC-I presentation is broken and predictions for that allele or pathway are clinically meaningless.
LENS columns vaxrank ignores
HLA loss-of-heterozygosity
- `lohhla_allele_loss_pval` — LOHHLA-derived p-value for HLA allele loss
- `hla_allele_proportion_rna_tumor_reads`, `hla_allele_proportion_hla_rna_tumor_reads` — HLA expression in tumor RNA
- `hla_allele_raw_read_aligned_count`, `hla_allele_support` — read support for the HLA call
Antigen presentation machinery integrity
- `b2m_mutations` (count of damaging B2M mutations) + `b2m_tpm` (β2-microglobulin expression)
- `tap1_mutations` + `tap1_tpm`
- `tap2_mutations` + `tap2_tpm`
If any of these are mutated or B2M/TAP expression is critically low, MHC-I presentation can't happen regardless of how strong a peptide-binding prediction is.
Why this matters for ranking
A patient with TAP2 mutated → all MHC-I predictions are downgraded to "presentation impossible." Today vaxrank ranks them identically to a TAP-intact patient. That's wrong and silently ships a non-functional vaccine.
Vaxrank data-model gap
These are per-patient properties (or per-allele, for LOH), not per-peptide. Need a new place to carry them:
- `PatientInfo` (already exists in `vaxrank/patient_info.py`) gains `hla_allele_status: dict[allele, dict]` and `apc_pathway_status: dict` fields.
- LENS loader populates these from the relevant columns (collapse per-allele LOH p-values across rows; B2M/TAP info is constant per patient).
- Ranking layer:
- Hard filter: drop predictions for alleles with `lohhla_allele_loss_pval < threshold`.
- Score penalty: apply a presentation-pathway penalty when B2M/TAP have damaging mutations.
- Reports surface the patient-level pathway status prominently so reviewers see it before consulting per-peptide predictions.
Acceptance
- LENS rows populate `PatientInfo` with HLA + APC pathway state.
- `--drop-lost-hla-alleles` flag filters predictions for LOH'd alleles (default: warn but include, so users see the data).
- Reports surface APC pathway integrity in the patient-info section.
- Tests against the Pt02 fixture pin the wiring.
Related
Status
LENS reports carry essential antigen-presentation-pathway state that vaxrank currently ignores. If the patient has lost an HLA allele or has a damaging mutation in B2M / TAP1 / TAP2, MHC-I presentation is broken and predictions for that allele or pathway are clinically meaningless.
LENS columns vaxrank ignores
HLA loss-of-heterozygosity
Antigen presentation machinery integrity
If any of these are mutated or B2M/TAP expression is critically low, MHC-I presentation can't happen regardless of how strong a peptide-binding prediction is.
Why this matters for ranking
A patient with TAP2 mutated → all MHC-I predictions are downgraded to "presentation impossible." Today vaxrank ranks them identically to a TAP-intact patient. That's wrong and silently ships a non-functional vaccine.
Vaxrank data-model gap
These are per-patient properties (or per-allele, for LOH), not per-peptide. Need a new place to carry them:
Acceptance
Related