Skip to main content
`|Build Status| <https://travis-ci.org/hammerlab/mhctools>`_ `|Coverage
Status| <https://coveralls.io/r/hammerlab/mhctools?branch=master>`_
`|DOI| <https://zenodo.org/badge/latestdoi/18834/hammerlab/mhctools>`_

mhctools
========

Python interface to running command-line and web-based MHC binding
predictors.

Example
-------

\`\`\`python from mhctools import NetMHCpan # Run NetMHCpan for alleles
HLA-A*01:01 and HLA-A*02:01 predictor = NetMHCpan(alleles=["A\*02:01",
"hla-a0101"])

scan the short proteins 1L2Y and 1L3Y for epitopes
==================================================

protein\_sequences = { "1L2Y": "NLYIQWLKDGGPSSGRPPPS", "1L3Y":
"ECDTINCERYNGQVCGGPGRGLCFCGKCRCHPGFEGSACQA" }

binding\_predictions =
predictor.predict\_subsequences(protein\_sequences,
peptide\_lengths=[9])

flatten binding predictions into a Pandas DataFrame
===================================================

df = binding\_predictions.to\_dataframe()

epitope collection is sorted by percentile rank
===============================================

of binding predictions
======================

for binding\_prediction in binding\_predictions: if
binding\_prediction.affinity < 100: print("Strong binder: %s" %
(binding\_prediction,)) \`\`\` ## API

The following MHC binding predictors are available in ``mhctools``: \*
``MHCflurry``: open source predictor installed by default with
``mhctools``, requires the user run ``mhcflurry-downloads fetch`` first
to download MHCflurry models \* ``NetMHC3``: requires locally installed
version of `NetMHC 3.x <http://www.cbs.dtu.dk/services/NetMHC-3.4/>`_ \*
``NetMHC4``: requires locally installed version of `NetMHC
4.x <http://www.cbs.dtu.dk/services/NetMHC/>`_ \* ``NetMHC``: a wrapper
function to automatically use ``NetMHC3`` or ``NetMHC4`` depending on
what's installed. \* ``NetMHCpan``: requires locally installed version
of `NetMHCpan <http://www.cbs.dtu.dk/services/NetMHCpan/>`_ \*
``NetMHCIIpan``: requires locally installed version of
`NetMHCIIpan <http://www.cbs.dtu.dk/services/NetMHCIIpan/>`_ \*
``NetMHCcons``: requires locally installed version of
`NetMHCcons <http://www.cbs.dtu.dk/services/NetMHCcons/>`_ \*
``IedbMhcClass1``: Uses IEDB's REST API for class I binding predictions.
\* ``IedbMhcClass2``: Uses IEDB's REST API for class II binding
predictions. \* ``RandomBindingPredictor``: Creates binding predictions
with random IC50 and percentile rank values.

Every binding predictor is constructed with an ``alleles`` argument
specifying the HLA type for which to make predictions. Predictions are
generated by calling the ``predict`` method with a dictionary mapping
sequence IDs or names to amino acid sequences.

Additionally there is a module for running the
`NetChop <http://www.cbs.dtu.dk/services/NetChop>`_ proteosomal cleavage
predictor: \* ``NetChop``: requires locally installed version of
`NetChop-3.1 <http://www.cbs.dtu.dk/services/NetChop/>`_

.. |Build
Status| image:: https://travis-ci.org/hammerlab/mhctools.svg?branch=master
.. |Coverage
Status| image:: https://coveralls.io/repos/hammerlab/mhctools/badge.svg?branch=master
.. |DOI| image:: https://zenodo.org/badge/18834/hammerlab/mhctools.svg

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mhctools-1.6.1.tar.gz (32.7 kB view details)

Uploaded Source

File details

Details for the file mhctools-1.6.1.tar.gz.

File metadata

  • Download URL: mhctools-1.6.1.tar.gz
  • Upload date:
  • Size: 32.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mhctools-1.6.1.tar.gz
Algorithm Hash digest
SHA256 78c1a38b20b0692450b16a8d720ef021bd1bab7735fc14a264d4f56df28230ce
MD5 81386cf23b1b8ef0a6e1f446733cd4e2
BLAKE2b-256 58e56f67462520af53e0380ffa4df4b11bc8743e41d4caa28fcf4b08f1484c2e

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page