Leakage-aware evaluation
Found the same peptide in train and test for about 93% of random-split test rows, then built peptide-, similarity-clustered and allele-held-out splits.
Peptide–HLA stability, predicted with a calibrated interval.
PyTorch models trained on 28,166 stability measurements across 75 HLA alleles. I rebuilt the evaluation after finding a 93% train/test leak, compared three ways to encode an allele, and shipped a live app with conformal 90% intervals.

Found the same peptide in train and test for about 93% of random-split test rows, then built peptide-, similarity-clustered and allele-held-out splits.
Compared three allele encodings in one fixed network. Frozen ESM-2 lost to the allele-name baseline on unseen peptides (Spearman 0.54 vs 0.64).
A 5-model ensemble with split-conformal 90% intervals, reaching about 90% coverage on unseen peptides.
Served on Modal as a Streamlit app. On an unseen allele the spread stopped tracking error, so the app withholds the interval there.
Whether a T cell ever sees a target depends on how long the peptide–HLA complex holds together. Lab measurement is slow, and models usually give one number with no error bar.
One unchanged MLP for every experiment, so differences come from the features: allele name, ESM-2, and 34 groove-contact residues. Then an ensemble with conformal intervals, behind an API.
A deployed predictor with about 90% interval coverage on unseen peptides. Only the groove-contact encoding ranked an unseen allele above chance (Spearman 0.15, 95% CI 0.05–0.25).
Select any image to see it larger.