MHC Binding Predictor
Project description
mhcflurry
MHC I ligand prediction package with competitive accuracy and a fast and documented implementation.
MHCflurry implements class I peptide/MHC binding affinity prediction. By default it supports 112 MHC alleles using ensembles of allele-specific models. Pan-allele predictors supporting virtually any MHC allele of known sequence are available for testing (see below). MHCflurry runs on Python 2.7 and 3.4+ using the keras neural network library. It exposes command-line and Python library interfaces.
If you find MHCflurry useful in your research please cite:
T. J. O’Donnell, A. Rubinsteyn, M. Bonsack, A. B. Riemer, U. Laserson, and J. Hammerbacher, “MHCflurry: Open-Source Class I MHC Binding Affinity Prediction,” Cell Systems, 2018. Available at: https://www.cell.com/cell-systems/fulltext/S2405-4712(18)30232-1.
Have a bugfix or other contribution? We would love your help. See our contributing guidelines for more information.
Installation (pip)
Install the package:
$ pip install mhcflurry
Then download our datasets and trained models:
$ mhcflurry-downloads fetch
You can now generate predictions:
$ mhcflurry-predict \ --alleles HLA-A0201 HLA-A0301 \ --peptides SIINFEKL SIINFEKD SIINFEKQ \ --out /tmp/predictions.csv Wrote: /tmp/predictions.csv
See the documentation for more details.
Pan-allele models (experimental)
We are testing new models that support prediction for any MHC I allele of known sequence (as opposed to the 112 alleles supported by the allele-specific predictors). These models are trained on both affinity measurements and mass spec.
To try the pan-allele models, first download them:
$ mhcflurry-downloads fetch models_class1_pan
then set this environment variable to use them by default:
$ export MHCFLURRY_DEFAULT_CLASS1_MODELS="$(mhcflurry-downloads path models_class1_pan)/models.with_mass_spec"
You can now generate predictions for about 14,000 MHC I alleles. For example:
$ mhcflurry-predict --alleles HLA-A*02:04 --peptides SIINFEKL
If you use these models please let us know how it goes.
Other allele-specific models
The default MHCflurry models are trained on affinity measurements, one allele per model (i.e. allele-specific). Mass spec datasets are incorporated in the model selection step.
We also release experimental allele-specific predictors whose training data directly includes mass spec. To download these predictors, run:
$ mhcflurry-downloads fetch models_class1_trained_with_mass_spec
and then to make them used by default:
$ export MHCFLURRY_DEFAULT_CLASS1_MODELS="$(mhcflurry-downloads path models_class1_trained_with_mass_spec)/models"
We also release predictors that do not use mass spec datasets at all. To use these predictors, run:
$ mhcflurry-downloads fetch models_class1_selected_no_mass_spec export MHCFLURRY_DEFAULT_CLASS1_MODELS="$(mhcflurry-downloads path models_class1_selected_no_mass_spec)/models"
Common issues and fixes
Problems downloading data and models
Some users have reported HTTP connection issues when using mhcflurry-downloads fetch. As a workaround, you can download the data manually (e.g. using wget) and then use mhcflurry-downloads just to copy the data to the right place.
To do this, first get the URL(s) of the downloads you need using mhcflurry-downloads url:
$ mhcflurry-downloads url models_class1 http://github.com/openvax/mhcflurry/releases/download/pre-1.2/models_class1.20180225.tar.bz2
Then make a directory and download the needed files to this directory:
$ mkdir downloads $ wget --directory-prefix downloads http://github.com/openvax/mhcflurry/releases/download/pre-1.2/models_class1.20180225.tar.bz2 HTTP request sent, awaiting response... 200 OK Length: 72616448 (69M) [application/octet-stream] Saving to: 'downloads/models_class1.20180225.tar.bz2'
Now call mhcflurry-downloads fetch with the --already-downloaded-dir option to indicate that the downloads should be retrived from the specified directory:
$ mhcflurry-downloads fetch models_class1 --already-downloaded-dir downloads
Problems deserializing models
If you encounter errors loading the MHCflurry models, such as:
... File "/usr/local/lib/python3.6/site-packages/keras/engine/topology.py", line 293, in __init__ raise TypeError('Keyword argument not understood:', kwarg) TypeError: ('Keyword argument not understood:', 'data_format')
You may need to upgrade Keras:
pip install --upgrade Keras
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mhcflurry-1.4.2.tar.gz
.
File metadata
- Download URL: mhcflurry-1.4.2.tar.gz
- Upload date:
- Size: 95.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.23.4 CPython/3.6.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1c3b78676092062f44021c1c734fc809ed45a9f2f4cf10d4f33e489e8078c6b |
|
MD5 | 089a10cb4de0c87d841b32c3988c6b49 |
|
BLAKE2b-256 | 86beade372367a46cf58faa15759e27c21cf45762afb7b1191e35d29e1b1e84d |
File details
Details for the file mhcflurry-1.4.2-py3-none-any.whl
.
File metadata
- Download URL: mhcflurry-1.4.2-py3-none-any.whl
- Upload date:
- Size: 96.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.23.4 CPython/3.6.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c3180ca24ea6671fbaa08570c105930b2f16b986d3c27500e7d58671ae26a38 |
|
MD5 | f2a046311b51928d2d270b90ccecf4db |
|
BLAKE2b-256 | 5384000dc974a43a8256841ddc5c6f75491282c26869a8fbcc4390795caacb0e |