Skip to content

SLP and mRNA trajectories to APC pMHC

Follow the chosen target until loading, then report surface pMHC. Parent disappearance, target destruction, uptake, loading and display differ. simulate_vaccine_trajectory combines mechanisms for local IM/SC free SLP and secreted or cytosolic-antigen mRNA-LNP. It is an explicitly parameterized scenario model with no physiological rate defaults. Missing reachable kinetics yield unassessed and no numerical curves.

For a complete run/report/compare workflow and its evidence limits, see Interpreting SLP and mRNA exposure. For first nodal-APC entry, blood core persistence and the expanded mRNA routes, see Core delivery and blood exposure.

Branching routes

Blue: free SLP. Orange: mRNA-LNP. Teal: shared antigen/APC pathways. Both delivery formats use local IM/SC injection; the colors distinguish the formats, not IM from SC. This overview groups steps that the model resolves separately.

flowchart TD
  SLP[Free SLP] --> SITE[Antigen at injection site]
  RNA[mRNA-LNP] --> EXP[RNA uptake and antigen expression]
  EXP --> SEC[Signal removal and ER/Golgi secretion]
  SEC --> SITE
  EXP -->|in transfected APCs| PROCESS[Target processing and MHC loading]
  SITE -->|local uptake| APC[APC uptake: local, node or systemic]
  SITE --> LYMPH[Lymph and draining node]
  SITE --> BLOOD[Blood exposure]
  LYMPH --> APC
  LYMPH -->|outflow| BLOOD
  BLOOD --> APC
  APC --> PROCESS
  PROCESS --> SURFACE[Surface pMHC and turnover]

  classDef slp fill:#DBEAFE,stroke:#1D4ED8,color:#1E3A8A,stroke-width:2px;
  classDef mrna fill:#FFEDD5,stroke:#C2410C,color:#7C2D12,stroke-width:2px;
  classDef shared fill:#E6F4F1,stroke:#0F766E,color:#134E4A,stroke-width:2px;
  class SLP slp;
  class RNA,EXP,SEC mrna;
  class SITE,LYMPH,BLOOD,APC,PROCESS,SURFACE shared;
  linkStyle default stroke:#0F766E,stroke-width:2px;
  linkStyle 0 stroke:#1D4ED8,stroke-width:3px;
  linkStyle 1,2,3,4 stroke:#C2410C,stroke-width:3px;

Local antigen need not enter blood before nodal presentation. Lymph entry, vascular absorption, local uptake and loss compete. Local APCs can carry RNA, antigen or pMHC into nodes. systemic APCs pool blood-accessible uptake separately from draining-node APCs. Carrier and antigen drainage have separate rates. IM and SC share topology but need tissue-, material- and study-specific rates.

What the model predicts and its units

There is an implemented kinetic model behind this diagram, available through simulate_vaccine_trajectory and mhctools vaccine-trajectory. Supplied rates move antigen between compartments, cut current fragments, clear antigen and load/display pMHC. Active RNA repeatedly adds new antigen. The solver calculates expected quantities over time, including the target retained in shorter fragments, target destruction, cumulative loading and current surface pMHC.

Quantity Units and meaning
Observation time Hours after injection
Transport, uptake, cleavage, loading and loss rates h⁻¹: a constant hazard per hour, not a percentage or recognition score
Translation rate Completed antigen copies per active transcript per hour
SLP starting amount Input peptide copies; defaults to one for normalization
mRNA starting amount Input carrier-bound transcript copies; defaults to one for normalization
Retained target and surface pMHC Expected copies present at that time
Cumulative loading Expected copies ever loaded by that time; differs from current surface display

For illustration, surface_pmhc_copies = 0.2 with one input SLP means an expected 20 surface complexes per 100 input peptides at that time. With one input transcript, a value of 3 means three expected surface complexes per transcript; values above one are possible because RNA makes multiple antigens. Neither is a clinical response probability or an equal-dose SLP/mRNA comparison.

An isolated loss rate of 1 h⁻¹ gives a half-life of about 42 minutes. The full model also has competing transport/loading and, for mRNA, continuing production, so one half-life cannot summarize all its curves.

These are conditional calculations, not sequence-derived physiological forecasts. The model does not estimate missing delivery, enzyme or loading rates from sequence. Applicable measurements or explicitly labeled assumptions must supply them; missing reachable inputs yield unassessed and no curves. The supplied examples use synthetic rates. Tests validate the equations and bookkeeping, not human vaccine accuracy.

Included steps and required assumptions

Stage Included mechanism Required input/assumption
Free SLP Starts in injection-site interstitium Released free canonical L-peptide; no depot/attachment. Other formulations need a release/binding model
mRNA delivery Producer-cell/APC uptake, carrier drainage, nodal APC uptake, RNA escape versus loss Rates for actual LNP and route. Carrier arrival does not establish cytosolic RNA
Expression RNA decay and repeated completed antigen synthesis Antigen birth per active transcript; RNA is not consumed. No codon/UTR or translation-delay prediction
Secretory routing ER entry plus signal removal, ER/Golgi secretion, failed entry, APC ER retrotranslocation, secretory loss Full translated construct and signal boundary. Secretion competes with direct APC processing
Secretory processing Supplied current-fragment cuts during secretory ER/Golgi residence Convertase or other processing needs its own applicable hazard; no inferred activity from signal targeting
Extracellular Interstitium, afferent lymph, node fluid, blood; transport, uptake, cuts, clearance Separate current-fragment kinetics in each compartment; no serum-to-blood/lymph default
APC migration RNA, antigen or pMHC carried from local APCs to nodes Effective rates; no separate recruitment, subsets or survival dynamics
MHC-I Endosomal escape, cytosolic cuts, TAP, ER N-terminal trimming Supplied hazards/TAP length bound; complete target C-terminus before TAP, exact ligand before loading
Alternative MHC-I Exact-ligand vacuolar loading Independently enabled/disabled
MHC-II Endolysosomal cuts, optional intracellular routing to endolysosomes, target-containing ligand loading Explicit ligand length bound and exact core/span/mutation mapping
Loading Loading versus destruction/disposal Effective allele/ligand/APC rate; loading machinery, groove availability and MHC-II CLIP/DM editing are lumped
Display Surface export, pre-surface loss and surface turnover Bound target leaves free-peptide cleavage; complex loss has its own rate

A human DC experiment supports proteasome/TAP-dependent presentation of a Melan-A SLP (study). A mouse OVA experiment supports CatS/TAP-independent presentation with phagocytic stimulation (study). These establish scoped mechanisms, not universal probabilities.

Secretion-tagged RNA produced serum antigen in an intravenous mouse RNA-LPX experiment (study); this does not set local mRNA-LNP rates. Cross-dressing, transfer of preformed pMHC from other cells, is excluded from this first model. It contributed to priming in a recent mouse mRNA-LNP experiment (study).

The chosen mRNA target must lie entirely after the supplied signal boundary. Signal removal does not necessarily destroy a target inside the released leader; signal-derived epitopes can be presented (primary experiment). Their membrane processing and presentation are outside this model, so overlapping targets are rejected rather than labeled destroyed.

Which peptidases matter in lymph?

Separate free fluid, lymphatic/tissue surfaces and enzymes inside APCs. There is no universal lymph-to-blood cleavage multiplier.

Evidence Interpretation
Soluble DPP4: measurable, lower-than-plasma activity in mouse mesenteric lymph; inhibitor-sensitive GLP-1 loss Separate lymph channel if applicable rates exist; no human SLP transfer
Surface DPP4: higher enzymatic activity in cultured human dermal lymphatic versus blood endothelium Wall contact differs from free-fluid exposure
Tissue processing: human pre-nodal lymph carries matrix/tissue fragments; tissue-processed lymph antigens contribute to MHC-II ligands MMP/ADAM and other upstream processing can matter. Products do not prove active enzymes in sampled fluid
Cathepsins/AEP after uptake Intracellular endolysosomal processing, with pH, cell subtype and activation limits
FAP, MME, ACE and other extracellular candidates Conditional recognition/location evidence; reviewed sources do not identify general human-lymph SLP hazards or strength rankings

Sources: mouse soluble DPP4, human endothelial DPP4, human lymph peptidome, lymph-derived MHC-II ligands. The DPP4 paper's abstract/results contain different lymph activity summaries; both are retained in vaccine_trajectory_evidence(). Units are pmol/min/microliter, not inverse-hour vaccine cleavage hazards.

Albumin-binding amphiphile experiments show formulation-dependent drainage and presentation duration; those are not free-SLP defaults (study). The serum audit also found no transferable vaccine-fragment calibration. Serum is ex vivo; blood here needs applicable in vivo rates.

Kinetic contract

vaccine_route_steps(delivery, mhc_class) lists steps and rate keys. Every VaccineRate has value_per_hour, basis (measured, assumed, disabled, unassessed) and source. Missing is unknown. Zero requires an explicit assumption/exclusion; it is not inferred protection.

The cleavage callback receives compartment and current TargetFragment in original-parent coordinates. Return VaccineCleavageRates containing absolute EnzymeCutRate channels and provenance, or None for missing kinetics. Empty channels need a no-cut assumption. Reassess newly exposed termini. Flank/boundary cuts preserve the target; internal cuts destroy its exact span.

Transport, uptake and loading use one supplied rate per compartment/step across eligible fragments. Only cleavage is fragment-specific in this first model. MHC-II ligand eligibility does not imply equal biological loading kinetics; the common rate is a scenario assumption that can be compared in separate runs.

NetChop, Pepsickle, NetCleave-II, cathepsin matrices, DPP4 assay depletion, MMP scores and recognition rules remain evidence, not hazards/loading rates. Prefer human Pepsickle for human input; all-mammal is a separately labeled alternative when organism exposure warrants it. Existing target-degradation estimators can supply separate, explicitly transferred sensitivity scenarios. Do not average estimators or label transfers calibrated blood/lymph kinetics.

Outputs and interpretation

  • surface_pmhc_auc_copy_hours: time-integrated surface display, from injection to the observation time; surface_pmhc_auc_by_apc_location separates local, draining-node (node) and systemic APCs.
  • extracellular_target_auc_copy_hours: time-integrated extracellular availability of the exact target, including shorter target-bearing fragments; extracellular_target_auc_by_compartment separates interstitium, afferent lymph, node fluid and blood. This is an amount-time integral, not concentration AUC.
  • extracellular_parent_copies: intact free SLP or mature secreted antigen.
  • extracellular_target_copies: exact target in any extracellular fragment.
  • cumulative_loaded_copies: ever loaded, without recounting APC migration.
  • surface_pmhc_copies: current display with local/node/systemic totals.
  • target_destroyed_copies, antigen_cleared_copies, pmhc_lost_copies: distinct outcomes.
  • antigen_balance_error: supplied/translated antigen minus retained/lost antigen.

For surface display P(t), the exposure is AUC(T) = integral_0^T P(t) dt, in complex-hours. One complex present for two hours contributes the same area as two complexes present for one hour; the time courses can still differ biologically. Divide by initial_copies for exposure per input peptide or carrier-bound transcript, or by T > 0 for mean displayed copies over [0,T]. The solver integrates these observables directly alongside the kinetic system: requesting fewer observation times does not replace the integral with coarse trapezoids. Integrals start at injection even if the first requested time is later.

These quantities describe conditional antigen availability and presentation exposure. They are not a validated effective dose, immune-response probability or universal half-life. In particular, the mRNA source keeps producing antigen, and an epitope may survive after cleavage of the original SLP. Retain the full curves, dose identity, horizon and rate provenance when comparing scenarios. No AUC is returned when reachable kinetics are missing.

The nonnegative exponential solver follows a linear, first-order, time-invariant expected-copy system. Translation is antigen birth. SLP starts with peptide copies; mRNA starts with carrier-bound transcripts and can produce many antigens. Raw yields are not equal-dose efficacy or comparable probabilities. Each exact target occurrence produces at most one modeled pMHC per antigen copy. Different alleles/targets and MHC-II core/flank mutations need separately mapped runs.

Excluded: whole-body PBPK, sequence-derived delivery, folding/glycosylation/binding, cell-subset dynamics, MHC saturation/competition and immune response. Cross-dressing is represented only by supplied effective producer-pMHC-I transfer rates; membrane topology and vesicle/cell-debris transport are unresolved. Every result preserves exclusions and primary-source evidence. Sensitivity ranges are not biological confidence intervals. Tests validate equations/bookkeeping, not human presentation accuracy.

Reproduce synthetic examples

python scripts/vaccine_trajectory_example.py --output /tmp/vaccine-trajectories
mhctools vaccine-trajectory \
  --input /tmp/vaccine-trajectories/slp-input.json \
  --output /tmp/slp-recomputed.json --report /tmp/slp-report.md

The script writes inputs, outputs and a readable SLP/mRNA comparison. Every numerical value is synthetic, not a Sid forecast. CLI inputs include schema_version: 1, model fields, times_hours, and cleavage_assessments indexed by compartment and original [start,end) interval, including exact sequence, channels, basis and source. Outputs are never overwritten. This complements the evidence-oriented target-summary.json without inventing missing inputs.

Starting amount and readable reports

Omitting both initial_copies and dose normalizes to one input peptide or carrier-bound transcript. This is explicitly labeled one_input_normalization. Legacy initial_copies remains supported. To document a physical starting amount, use either initial_copies or dose, never both:

from dataclasses import replace
from mhctools import VaccineDose, format_vaccine_trajectory_report

# model is an otherwise fully specified VaccineTrajectoryInput.
model = replace(model, initial_copies=None,
                dose=VaccineDose(2, "pmol", "assumed", "Illustrative starting amount"),
                administration="SC", organism="Homo sapiens")
result = simulate_vaccine_trajectory(model, [0, 1, 4, 24], cleavage_rates)
print(format_vaccine_trajectory_report(result))

dose supports copies, pmol and ug. Conversion uses the exact SI Avogadro constant, 6.02214076 × 10²³ mol⁻¹. A mass amount additionally requires molecular_weight_g_per_mol and its justification in source. For RNA this is the full transcript including its actual chemical form, UTRs and tail—not the encoded antigen. No sequence-based molecular-weight estimate is substituted.

The amount describes material entering the model at injection: released free SLP or carrier-bound RNA. It is not total formulation mass. If a reported administered amount requires encapsulation, release or recovery adjustments, establish those separately and document the resulting starting amount. The conversion does not infer bioavailability or any kinetic parameter.

Set administration to IM or SC and supply organism when known. Omitted context remains unspecified; naming a route or organism never supplies rates. For JSON, add for example:

"dose": {"amount": 2, "unit": "pmol", "basis": "assumed",
         "source": "Illustrative starting amount"},
"administration": "SC",
"organism": "Homo sapiens"

--report writes a readable Markdown companion to the full JSON. It includes finite-horizon exposure, mean and current display, per-input normalization, antigen accounting, rate provenance and missing-input explanations. Means are totals across modeled APC compartments, not copies per APC. At a zero-hour horizon a mean is undefined. Missing kinetics produce an input checklist rather than a table of zeros. Existing output files are never overwritten.

summarize_vaccine_trajectory(result) exposes the same numerical summary to Python callers. Neither the summary nor the report fits a universal half-life or predicts immune efficacy. Dose scaling retains the model's linear, unsaturated assumption; it does not establish a biological dose-response curve.