Predictor matrix¶
Reference for supported predictors, Python classes, command-line names, inputs, and installation routes. For model selection, see choosing a predictor.
- Kinds are defined in prediction kinds. A predictor emits only the kinds that apply (for example
NetMHCpan41_ELemits presentation only). - MHC class is the class the model scores. None means the prediction is MHC-independent and
Prediction.alleleis empty. - Default lengths apply to
predict_proteins()and the command line when you pass no lengths; they are narrower than what the model supports. See peptide lengths. - License tiers are defined in licensing;
mhctools fetchbehavior is in getting models.
MHC binding and presentation¶
See the mhc binding and presentation guide for examples and model notes.
| Predictor | MHC class | Input |
|---|---|---|
| NetMHCpan 4.1 / 4.2 | I | peptides + alleles |
| NetMHCpan 4.0 | I | peptides + alleles |
| NetMHCpan 3.0 / 2.8 | I | peptides + alleles |
| NetMHC 3.4 / 4.0 | I | peptides + alleles |
| NetMHCcons | I | peptides + alleles |
| NetMHCIIpan 4.3 / 4.1 / 4.0 / 3.x | II | peptides + alleles |
| NetMHCstabpan | I | peptides + alleles |
| MHCflurry | I | peptides + alleles (flanks optional) |
| BigMHC | I | peptides + alleles |
| CapHLA | I and II | peptides + alleles |
| MixMHCpred | I | peptides + alleles |
| MixMHC2pred | II | peptides + alleles |
| SMM / SMM-PMBEC | I | peptides + alleles |
| Historical IEDB names | I and II | peptides + alleles |
| RandomBindingPredictor | I | peptides + alleles |
NetMHCpan 4.1 / 4.2¶
- Python classes:
NetMHCpan,NetMHCpan41,NetMHCpan41_BA,NetMHCpan41_EL,NetMHCpan42,NetMHCpan42_BA,NetMHCpan42_EL - CLI names:
netmhcpan,netmhcpan41,netmhcpan41-ba,netmhcpan41-el,netmhcpan42,netmhcpan42-ba,netmhcpan42-el - Prediction kinds:
pMHC_affinity,pMHC_presentation - Default scanning lengths: 9
- Installation: your licensed DTU install
- License: dtu
NetMHCpan 4.0¶
- Python classes:
NetMHCpan4,NetMHCpan4_BA,NetMHCpan4_EL - CLI names:
netmhcpan4,netmhcpan4-ba,netmhcpan4-el - Prediction kinds:
pMHC_affinity,pMHC_presentation - Default scanning lengths: 9
- Installation: your licensed DTU install
- License: dtu
NetMHCpan 3.0 / 2.8¶
- Python classes:
NetMHCpan3,NetMHCpan28 - CLI names:
netmhcpan3,netmhcpan28 - Prediction kinds:
pMHC_affinity - Default scanning lengths: 9
- Installation: your licensed DTU install
- License: dtu
NetMHC 3.4 / 4.0¶
- Python classes:
NetMHC,NetMHC3,NetMHC4 - CLI names:
netmhc,netmhc3,netmhc4 - Prediction kinds:
pMHC_affinity - Default scanning lengths: 9
- Installation: your licensed DTU install
- License: dtu
NetMHCcons¶
- Python classes:
NetMHCcons - CLI names:
netmhccons - Prediction kinds:
pMHC_affinity - Default scanning lengths: 9
- Installation: your licensed DTU install
- License: dtu
NetMHCIIpan 4.3 / 4.1 / 4.0 / 3.x¶
- Python classes:
NetMHCIIpan,NetMHCIIpan3,NetMHCIIpan4,NetMHCIIpan4_BA,NetMHCIIpan4_EL,NetMHCIIpan43,NetMHCIIpan43_BA,NetMHCIIpan43_EL - CLI names:
netmhciipan,netmhciipan3,netmhciipan4,netmhciipan4-ba,netmhciipan4-el,netmhciipan43,netmhciipan43-ba,netmhciipan43-el - Prediction kinds:
pMHC_affinity,pMHC_presentation - Default scanning lengths: 15-20
- Installation: your licensed DTU install
- License: dtu
NetMHCstabpan¶
- Python classes:
NetMHCstabpan - CLI names:
netmhcstabpan - Prediction kinds:
pMHC_stability - Default scanning lengths: (none; pass lengths)
- Installation: your licensed DTU install
- License: dtu
MHCflurry¶
- Python classes:
MHCflurry,MHCflurry_Affinity - CLI names:
mhcflurry,mhcflurry-affinity - Prediction kinds:
pMHC_affinity,pMHC_presentation,antigen_processing - Default scanning lengths: 9
- Installation:
mhctools fetch mhcflurry - License: open
BigMHC¶
- Python classes:
BigMHC,BigMHC_EL,BigMHC_IM - CLI names:
bigmhc,bigmhc-el,bigmhc-im - Prediction kinds:
pMHC_presentation,immunogenicity - Default scanning lengths: (set per call)
- Installation:
mhctools fetch bigmhc --accept-license+ PyTorch - License: academic
CapHLA¶
- Python classes:
CapHLA,CapHLA_BA,CapHLA_EL - CLI names:
caphla,caphla-ba,caphla-el - Prediction kinds:
pMHC_affinity,pMHC_presentation - Default scanning lengths: (7-25 supported)
- Installation:
pip install "mhctools[caphla]"+mhctools fetch caphla - License: open
MixMHCpred¶
- Python classes:
MixMHCpred - CLI names:
mixmhcpred - Prediction kinds:
pMHC_presentation - Default scanning lengths: 9 (8-14 supported)
- Installation: upstream release +
MIXMHCPRED_PATH - License: academic
MixMHC2pred¶
- Python classes:
MixMHC2pred - CLI names:
mixmhc2pred - Prediction kinds:
pMHC_presentation - Default scanning lengths: 15
- Installation: upstream release (with
PWMdef/) - License: academic
SMM / SMM-PMBEC¶
- Python classes:
SMM,SMMPMBEC - CLI names:
smm,smm-pmbec - Prediction kinds:
pMHC_affinity - Default scanning lengths: 9
- Installation:
python scripts/setup_test_backends.py smm --accept-licenseorIEDB_MHCI_EXECUTABLE - License: open
Historical IEDB names¶
- Python classes:
IedbNetMHCpan,IedbNetMHCcons,IedbNetMHCIIpan,IedbSMM,IedbSMM_PMBEC - CLI names:
netmhcpan-iedb,netmhccons-iedb,netmhciipan-iedb,smm-iedb,smm-pmbec-iedb - Prediction kinds:
pMHC_affinity - Default scanning lengths: 8-11 (class I), 15-20 (II)
- Installation: the local predictor each one maps to
- License: dtu
RandomBindingPredictor¶
- Python classes:
RandomBindingPredictor - CLI names:
random - Prediction kinds:
pMHC_affinity - Default scanning lengths: 9
- Installation: built in
- License: builtin
Antigen processing¶
See the antigen processing guide for examples and model notes.
| Predictor | MHC class | Input |
|---|---|---|
| Pepsickle | none | peptides (flanks recommended) |
| NetChop | none | peptides (flanks recommended) |
| NetCleave | I or II | peptides + C-terminal flank (>= 3 residues) |
| DeepTAP | none | peptides only |
| ERAMER | none (class I context) | peptides only (9-16mer precursors) |
Pepsickle¶
- Python classes:
Pepsickle - CLI names:
pepsickle - Prediction kinds:
proteasome_cleavage - Default scanning lengths: 9
- Installation:
pip install pepsickle - License: open
NetChop¶
- Python classes:
NetChop - CLI names:
netchop - Prediction kinds:
proteasome_cleavage - Default scanning lengths: 9
- Installation: your licensed DTU install (
NETCHOP_HOME) - License: dtu
NetCleave¶
- Python classes:
NetCleave,NetCleave_I,NetCleave_II - CLI names:
netcleave,netcleave-i,netcleave-ii - Prediction kinds:
proteasome_cleavage,endolysosomal_cleavage - Default scanning lengths: 9 (I), 15 (II)
- Installation:
mhctools fetch netcleave --accept-license - License: unlicensed
DeepTAP¶
- Python classes:
DeepTAP - CLI names:
deeptap - Prediction kinds:
tap_transport - Default scanning lengths: (any)
- Installation:
mhctools fetch deeptap+ torch Python - License: open
ERAMER¶
- Python classes:
ERAMER - CLI names:
eramer - Prediction kinds:
erap_trimming - Default scanning lengths: (9-16 supported)
- Installation:
mhctools fetch eramer+openpyxl - License: open
Immunogenicity¶
See the immunogenicity guide for examples and model notes.
| Predictor | MHC class | Input |
|---|---|---|
| Calis | I | peptides only |
| PRIME | I | peptides + alleles |
| DeepImmuno | I | peptides + alleles |
| TLimmuno2 | II | peptides + class II alleles |
Calis¶
- Python classes:
Calis - CLI names:
calis - Prediction kinds:
immunogenicity - Default scanning lengths: (any)
- Installation: built in
- License: builtin
PRIME¶
- Python classes:
PRIME - CLI names:
prime - Prediction kinds:
immunogenicity - Default scanning lengths: 9
- Installation: upstream clone + MixMHCpred 3.0+
- License: academic
DeepImmuno¶
- Python classes:
DeepImmuno - CLI names:
deepimmuno - Prediction kinds:
immunogenicity - Default scanning lengths: 9-10 only
- Installation:
mhctools fetch deepimmuno+ Keras-2-capable Python - License: open
TLimmuno2¶
- Python classes:
TLimmuno2 - CLI names:
tlimmuno2 - Prediction kinds:
immunogenicity - Default scanning lengths: (set per call)
- Installation:
mhctools fetch tlimmuno2 --accept-license - License: unlicensed
TCR specificity¶
See the tcr specificity guide for examples and model notes.
| Predictor | MHC class | Input |
|---|---|---|
| NetTCR | I | (peptide, TCR) pairs |
| Tulip | I | (peptide, TCR) pairs + mhc= |
| MixTCRpred | I or II (per model) | TCRs against one fixed pMHC target per model |
NetTCR¶
- Python classes:
NetTCR - CLI names: (none)
- Prediction kinds:
pMHC_TCR_binding - Default scanning lengths: (n/a)
- Installation:
mhctools fetch nettcr --accept-license+mhctools[nettcr] - License: academic
Tulip¶
- Python classes:
Tulip - CLI names: (none)
- Prediction kinds:
pMHC_TCR_binding - Default scanning lengths: (n/a)
- Installation:
mhctools fetch tulip+ isolated Python 3.11 - License: open
MixTCRpred¶
- Python classes:
MixTCRpred - CLI names: (none)
- Prediction kinds:
pMHC_TCR_binding - Default scanning lengths: (n/a)
- Installation:
mhctools[mixtcrpred]+mhctools fetch mixtcrpred --accept-license - License: academic
Peptide half-life¶
See the peptide half-life guide for examples and model notes.
| Predictor | MHC class | Input |
|---|---|---|
| PeptiVerse | none | peptides or PeptideInput |
| PlifePred2 | none | peptides only (12-100 residues, natural) |
PeptiVerse¶
- Python classes:
PeptiVerse - CLI names:
peptiverse - Prediction kinds:
peptide_half_life - Default scanning lengths: (sequence only)
- Installation: pinned snapshots (
PEPTIVERSE_HOME,PEPTIVERSE_ESM_HOME) - License: open
PlifePred2¶
- Python classes:
PlifePred2 - CLI names:
plifepred2 - Prediction kinds:
peptide_half_life - Default scanning lengths: (12-100)
- Installation:
plifepred2==1.0+ Pfeature (PLIFEPRED2_HOME,PFEATURE_HOME) - License: open
License tiers¶
| Tier | Meaning |
|---|---|
| open | Open source; code and weights can be fetched or installed freely |
| academic | Academic / non-commercial; review the upstream license first |
| dtu | DTU academic license, identity-bound; you request it from DTU |
| unlicensed | Upstream publishes no license; --accept-license records your own authorization |
| builtin | Built into mhctools; nothing to download |
TCR predictors have no mhctools command-line prediction name: their input is a peptide plus a TCR, not an allele. MixTCRpred has its own mhctools mixtcrpred subcommand; see the command line.
Cleavage models (mhctools cleavage) are a separate panel; see cleavage models.