Peptidase activity¶
This API reports per-bond evidence about peptide hydrolysis by proteasomes and other peptidases, using published models and curated experimental observations. It covers enzymes in the cytosol, ER, endosomes, and extracellular settings. See antigen processing for their relationship to MHC presentation and choosing models for recommendations by biological question.
Results identify the bond, enzyme, and evidence type. Some models produce a numerical score; others report motif decisions or observations for an exact substrate. These retain their own interpretation, as described in reading the evidence.
Which API do I use?¶
| Task | Guide |
|---|---|
| See what one enzyme can do and run its distinct methods | Enzyme-centered predictions |
| Assess individual peptide bonds | Quickstart |
| Assess epitopes with flanks or complete vaccine constructs | Batch assessments |
| Generate a sequence-centered PDF | Vaccine reports |
| Evaluate a model against measurements | Benchmarks |
| Get one cleavage score per peptide | Processing predictors |
Batch assessments cover tumor, APC, and extracellular scenarios. See models for the supported enzymes and endpoints, reading the evidence for result states, and validation status for the supporting data.
Quickstart¶
from mhctools import DPP4qPISA, PeptideInput
peptide = PeptideInput("HAEGTFTSD", source_sequence_name="GLP-1 fragment")
result = DPP4qPISA().predict(peptide)
print(result.sites[0].bond) # 2: HA | EGTFTSD
print(result.sites[0].score) # 2.1694, native qPISA score
print(result) # short model, peptide and assessment status
For complete source and assay provenance, use result.to_dict(). For a
concise multi-method JSON report, use DPP4().predict(peptide).to_dict().
For a bounded fraction of parent lost in the Keane purified-DPP4 or
purified-FAP assay, use
estimate_assay_parent_fraction().
The DPP4 method DPP4qPISA.estimate_keane_fraction() remains available.
Each estimate reports its source, validation error and assay conditions;
the qPISA score above and a FAP motif match are not loss percentages.
For a motif rule, site.match is 1 when the documented pattern matches
and 0 when it does not. It is not the chance that the enzyme cuts the bond;
site.score remains reserved for a quantitative model's native output.
result.pattern_mask gives the same decisions aligned to every peptide bond:
entry b - 1 describes bond b, and None means that bond was not assessed.
An internal rule fills the mask; a terminal rule assesses only the currently
exposed bond. Non-motif results have no pattern mask (None).
Or run the whole panel from the command line:
mhctools cleavage --list-models
mhctools cleavage --sequence RPPGFSPFR --model app2-xp --model cpn-basic
Coordinates and chemistry¶
This API describes individual peptide bonds. Bond b splits
sequence[:b] | sequence[b:]; source_bond adds the zero-based
source_start offset. The per-peptide proteasome predictors remain available separately.
Inputs describe canonical, linear L-peptides. Strings assume free N and C
termini. Use the shared PeptideInput to record n_term="acetylated" or
c_term="amidated", or unknown. PeptideInput.fragment() describes a
conditional product with explicit terminal chemistry and retained source
coordinates. Cleavage results preserve its context and source provenance;
context is descriptive and does not recalibrate a predictor. Attached peptides
are rejected because these models have not been validated for their chemistry.
Older cleavage result JSON with source_id is still readable. The initial
qPISA implementation abstains on modified termini because they are outside
its supported domain. Other
modifications, D-residues, cyclization and conjugates are unsupported; do not
strip their chemistry to obtain a score.
Exopeptidases assess exposed termini. An internal HAE is not an immediate
DPP4 site. To ask about a hypothesized product, use
parent.fragment(start, end, n_term="free", c_term="free") and predict that
fragment. The source offset is retained. This conditional analysis does not
predict formation of the fragment, cleavage order, rates or competition.
In mhctools 4, PeptideInput replaces CleavageInput. For Python callers,
rename source_id to source_sequence_name; the fragment() call stays the
same. Scalar cleavage JSON and batch result JSON use schema version 4.
Readers continue to accept older result files.