NetMHCpan Explained: How MHC Binding Prediction Works and How to Read the Output

By Lociven · NeoantigenLab · July 2026

You run NetMHCpan on your mutant peptide list and get back a table full of percentile ranks, EL scores, and BA scores. One peptide shows 0.48% rank. Another shows 2.1%. What does that mean, and which one should you follow up on?

NetMHCpan is the most widely used MHC-I binding prediction tool in neoantigen research. Most papers cite it, most pipelines include it, and most wet-lab researchers who encounter its output don't fully understand what it's predicting. This post explains the model, the output, and where interpretation goes wrong.


What NetMHCpan predicts

NetMHCpan predicts the binding affinity between a peptide and an MHC class I molecule. More precisely, it predicts two things:

  • Binding affinity (BA): Estimated IC50 in nM — the concentration of peptide needed to displace 50% of a reference ligand from the HLA molecule. Lower IC50 = stronger binder. The common threshold is IC50 < 500 nM for "weak binder," < 50 nM for "strong binder."
  • Eluted ligand score (EL): Trained on mass spectrometry data from actual HLA-presented peptides (eluted ligands). This is a probability score — how likely is this peptide to actually appear in an HLA ligandome? EL is generally considered more biologically meaningful than BA alone.

The percentile rank you see in the output is not the raw score — it is how the peptide ranks compared to a large set of random natural peptides scored against the same HLA allele. A rank of 0.5% means this peptide binds better than 99.5% of random peptides for that allele. Lower rank = stronger predicted binder.


How the model works

NetMHCpan uses a neural network (hence "pan" — it generalizes across HLA alleles, including rare ones with no training data). The architecture has evolved over versions:

  • NetMHCpan 4.0: Combined BA and EL training. Introduced the EL score as a primary output.
  • NetMHCpan 4.1: Current version. Improved training data, better allele coverage (~16,000 HLA alleles), added integration of peptide length preferences.

The input is a peptide sequence (8–14 amino acids for MHC-I) and an HLA allele (e.g., HLA-A*02:01). The model encodes the peptide and the pseudosequence of the HLA binding groove (34 polymorphic positions that determine binding specificity) and outputs scores.

Crucially: the model was trained on in vitro binding data and mass spec ligandome data. It does not know anything about whether a T cell exists that recognizes the peptide, whether the peptide survives proteasomal cleavage, or whether the tumor actually expresses the mutated protein.


Reading the output table

NetMHCpan binding score interpretation

Figure 1. Left: distribution of %Rank EL scores with strong/weak binder thresholds. Right: comparing WT vs. mutant peptide ranks — Peptide A is a good neoantigen candidate because only the mutant binds strongly.

A typical NetMHCpan output row looks like this:

Pos Peptide HLA EL-score %Rank EL BA-score %Rank BA Binder
5 KILDGFSSL HLA-A*02:01 0.9341 0.48 0.8812 0.31 SB
7 LDGFSSLQV HLA-A*02:01 0.3241 2.10 0.4501 3.82 WB

Key columns:

  • %Rank EL < 0.5: Strong binder (SB) by eluted ligand criterion
  • %Rank EL 0.5–2: Weak binder (WB)
  • %Rank EL > 2: Non-binder
  • SB/WB designation: Based on EL rank thresholds above

What the score does not tell you

Binding ≠ presentation. A peptide can score as a strong binder in silico and never appear on the tumor cell surface. The bottleneck is usually proteasomal cleavage — the peptide has to be generated by proteasomal degradation of the mutant protein in the first place. NetMHCpan does not model this step (separate tools like NetChop do, and some pipelines combine them).

Binding ≠ immunogenicity. Even presented peptides may not be recognized by T cells. The TCR repertoire has gaps — some epitopes are simply not covered. Self-tolerance also plays a role: peptides very similar to wild-type sequences may fail to activate T cells even when presented.

Allele coverage is unequal. NetMHCpan performs well for common alleles like HLA-A*02:01 (present in ~45% of Europeans) but less reliably for rare alleles with sparse training data. Always check how many training ligands existed for the allele you are predicting.

The rank threshold is context-dependent. The 0.5% cutoff for strong binders is a convention, not a biological law. Neoantigen vaccine studies have successfully targeted peptides with ranks up to 2%. The cutoff affects recall vs. precision — loosening it finds more candidates but increases the fraction that won't pan out experimentally.


NetMHCpan vs. other tools

NetMHCpan is not the only option. The most commonly used alternatives:

  • MHCflurry 2.0: Open-source Python package, similar architecture, performs comparably to NetMHCpan 4.1 on benchmarks. Easier to integrate into custom pipelines.
  • HLAthena: Trained on a large HLA ligandome dataset, optimized for EL prediction. Good for common alleles.
  • IEDB tools (NetMHCcons, PickPocket): Available via the Immune Epitope Database web server. Useful for rapid lookups.

For neoantigen prioritization, most production pipelines (pVACseq, Neofox, Neopipe) run multiple predictors and take a consensus or minimum rank. No single tool is definitively superior across all alleles and peptide lengths.


Practical workflow for interpreting results

  1. Run both EL and BA predictions — EL is more biologically meaningful, BA is the historical standard
  2. Use %Rank EL < 2 as your initial filter (captures SB + WB)
  3. Add a proteasomal cleavage score (NetChop or similar) to filter peptides that likely won't be generated
  4. Check the wild-type peptide rank — if the WT peptide also binds well (<2%), the mutant peptide may not generate a de novo T cell response
  5. Prioritize clonal mutations (VAF close to tumor purity) over subclonal ones

The next post covers the mRNA-4157 trial — the Moderna/Merck personalized neoantigen vaccine that changed how the field thinks about the commercial and clinical viability of individualized cancer vaccines.

From the SpatiaBio sister blog

Working with spatial transcriptomics data?

SpatiaBio covers Squidpy-based spatial analysis with runnable notebooks — neighborhood enrichment, co-occurrence, ligand-receptor interactions, and the complete pipeline.

Visit SpatiaBio →

Tags: NetMHCpan, MHC binding prediction, HLA, neoantigen, peptide presentation, pVACseq, MHCflurry, neoantigen pipeline

댓글

이 블로그의 인기 게시물

What Is a Neoantigen? A Practical Guide for Experimental Researchers

Tumor Mutational Burden (TMB): What It Measures, What It Doesn't, and How to Interpret It