Introduction and setup

MHCflurry is an open source package for peptide/MHC I binding affinity prediction. It aims to provide competitive accuracy with a fast and documented implementation.

You can download pre-trained MHCflurry models fit to mass spec-identified MHC I ligands and peptide/MHC affinity measurements deposited in IEDB (plus a few other sources) or train a MHCflurry predictor on your own data.

Starting in version 1.6.0, the default MHCflurry binding affinity predictors are “pan-allele” models that support most sequenced MHC I alleles across humans and a few other species (about 14,000 alleles in total). This version also introduces two experimental predictors, an “antigen processing” predictor that attempts to model MHC allele-independent effects such as proteosomal cleavage and a “presentation” predictor that integrates processing predictions with binding affinity predictions to give a composite “presentation score.” Both models are trained on mass spec-identified MHC ligands.

MHCflurry supports Python 3.4+. It uses the keras neural network library via either the Tensorflow or Theano backends. GPUs may optionally be used for a modest speed improvement.

If you find MHCflurry useful in your research, please cite:

T. J. O’Donnell, et al. “MHCflurry 2.0: Improved pan-allele prediction of MHC I-presented peptides by incorporating antigen processing,” Cell Systems, 2020. https://doi.org/10.1016/j.cels.2020.06.010

T. J. O’Donnell, et al., “MHCflurry: Open-Source Class I MHC Binding Affinity Prediction,” Cell Systems, 2018. https://doi.org/10.1016/j.cels.2018.05.014

If you have questions or encounter problems, please file an issue at the MHCflurry github repo: https://github.com/openvax/mhcflurry

Installation (pip)

Install the package:

$ pip install mhcflurry

Then download our datasets and trained models:

$ mhcflurry-downloads fetch

From a checkout you can run the unit tests with:

$ pip install nose
$ nosetests .

Using conda

You can alternatively get up and running with a conda environment as follows. Some users have reported that this can avoid problems installing tensorflow.

$ conda create -q -n mhcflurry-env python=3.8 tensorflow
$ source activate mhcflurry-env

Then continue as above:

$ pip install mhcflurry
$ mhcflurry-downloads fetch