Every cancer tells a different story. Our AI is built to understand it.
Personalized cancer vaccines try to answer a difficult question: what inside a patient’s tumor could their immune system recognize and attack?
The same starting point. A different evolutionary trajectory.
Most cancers start with a single mutation. However, even two cancers that share the exact same driver mutation will still differ in the mutations they accumulate, the genes they express, and the immune environments they inhabit. A shared diagnosis does not mean a shared set of therapeutic targets.
This visualization of melanoma patients illustrates evolutionary heterogeneity computed from our data. Starting from the same shared driver mutation (BRAF V600E), patient profiles diverge as additional mutations are included.
That diversity is the starting point for our work. A vaccine designed for one patient needs to reflect the biology of that patient’s unique cancer.
Cancer vaccines teach your immune system how to
recognize a tumor.
We’re building personalized cancer vaccines designed to direct a patient’s immune system toward their tumor’s distinctive targets. These targets arise from mutations that produce altered protein fragments, called neoantigens↗.
Most target-selection approaches oversimplify reality by only looking at binding affinity to the Major Histocompatibility Complex (MHC), proteins that display peptide fragments on a cell’s surface. Binding is a crucial part of the process. But for a target to invoke an anti-cancer immune response, much more has to happen.
Our model brings multiple biological signals together to prioritize targets more likely to induce an immune response. We are modeling the complete biological cascade that makes a mutation a useful vaccine target.
How was NEMo trained?
Personalized cancer vaccine treatment is a relatively nascent field, and experimentally validated cancer vaccine data remain limited. Moreover, most available data focus on immunogenicity, which is only a proxy for the true clinical benefit of a cancer vaccine.
Our approach is to use longitudinal data: we observe a tumor before and after immunotherapy treatment, and ask which mutation-bearing populations decline or disappear. Under immune pressure, those changes can provide a training signal for a model referred to as the Neoantigen Editing Model, or NEMo.
Editing here refers to a phenomenon called immunoediting1, in which the immune system reacts to immunogenic neoantigens and kills the specific tumor cells harboring them.
We turn these immunoediting measurements into a training dataset. Disappearing variants can represent true immune recognition, while persistent variants contribute comparison data.
This in vivo immunoediting signal reflects the clearest source of biological truth: a T cell actually targeting a specific neoantigen to kill tumor cells.
Disappearance provides an immunogenicity signal; persistence provides comparison data.
Our results
We evaluate NEMo at three distinct levels: identifying immunogenic↗ targets, finding evidence of immunoediting on tumors in real patients, and testing whether target selection is associated with longer progression-free survival↗.
Immunogenicity prediction
The Wells et al. / TESLA study2 benchmarks how well different models rank experimentally confirmed immunogenic targets. Immunogenicity refers to the capability of the immune system to recognize a neoantigen. Because a vaccine can carry only a limited number of targets3,4, we evaluate the first 20 candidates per patient.
At this vaccine-relevant limit, NEMo outperforms every comparison tool and all 25 TESLA teams in both precision (i.e., how much of the selected list is immunogenic) and recall (i.e., how much of the known immunogenic target set is recovered).
Recall across all eight patients.
The dashed line marks K = 20; the gold dot shows NEMo’s recall at that candidate budget.
Precision meets recall.
Precision and recall at K = 20 per patient. Hover over or focus on plotted points for values.
NEMo and prediction tools use all eight patients, the five original patients plus three validation patients. TESLA teams submitted predictions for the original cohort only, with coverage varying from two to five patients per team. Tools rank mutations; TESLA teams rank peptide–MHC candidates.
These and more results across other well-known benchmarking cohorts are fully available and detailed in our preprint, including raw mutational-level prediction data for all tools. NEMo outperforms existing models spanning different clinical settings, including: neoantigen screening, cancer vaccine design, and measurement of ctDNA immunoediting.
Evidence of immunoediting
We next asked whether NEMo’s predicted targets show signs of immunoediting in patients. Circulating tumor DNA (ctDNA↗), fragments of tumor-derived DNA found in blood, let us track mutations over time. We compared patients receiving radiotherapy and surgery with or without the immunotherapy pembrolizumab (Subramanian et al.5), asking whether NEMo-selected mutations decline more than other mutations when immunotherapy is added.
By 12 months after surgery, NEMo-selected mutations in the immunotherapy arm had fallen to roughly one quarter of their initial relative abundance (P = 0.015 versus other nonsynonymous mutations). The other mutation groups remained near their initial levels. Without immunotherapy, there was no significant separation between NEMo-selected mutations versus nonsynonymous mutations (P = 0.790 at 12 months). This pattern is consistent with neoantigen-specific killing of the tumor populations carrying NEMo’s predicted immunogenic neoantigens.
No other tool shows this connection between immunogenicity and immunoediting (See our preprint).
With immunotherapy
Pembrolizumab + radiotherapy / surgery
Without immunotherapy
Radiotherapy / surgery
Model-selected immunogenic: up to three NEMo-prioritized mutations per patient. PR: after radiotherapy, before surgery. P3: 3 months after surgery. P12: 12 months after surgery. Abundance is the relative allele fraction normalized to a positive initial reference. Shading shows bootstrap bounds, and P values compare model-selected mutations with other nonsynonymous mutations.For more details across models, see our preprint (Supplementary Figure 10).
Explore the longitudinal source values
Improved survival
A personalized cancer vaccine must do more than select targets that look promising in isolation; it must drive better patient outcomes. Its targets need to be abundant within the tumor and cover enough of the tumor’s diversity to leave no clear route for escape.
We tested both ideas in our preprint. First, we asked whether vaccines containing a higher fraction of NEMo-prioritized targets were associated with longer progression-free survival. Then we mapped those targets onto each tumor’s evolutionary tree to ask whether any subclone was left insufficiently covered.
Our combined CD4 + CD8 NEMo was the only evaluated model whose target selection was significantly associated with longer progression-free survival in both analyses. One strong target may not be enough—if a branch of the tumor remains uncovered, that branch can persist and drive progression.
How NEMo scores relate to survival.
NEMo is shown at three score cutoffs, alongside immune responses measured in the laboratory (ELISPOT↗). Increasing NEMo thresholds yielded progressively stronger protective hazard ratios, outperforming empirical post-vaccine ELISPOT positivity.
The dashed line marks no difference (HR = 1). About hazard ratios ↗
Covering tumor subclones matters.
Each line shows the fraction of patients who remained progression-free over time. Navy represents tumors with no predicted subclone escape; mint represents tumors with subclone escape. A higher line is better: the navy curve shows that more patients remained progression-free for longer when NEMo-prioritized targets covered the tumor’s subclone structure.
What subclone escape looks like.
These two patient examples show how a tumor evolves. Each numbered circle is a tumor subclone, connecting lines trace its ancestry, and circle size reflects cancer cell fraction (CCF). In the left tree, NEMo-prioritized targets cover the major evolutionary branches. In the right tree, a branch remains insufficiently covered, creating a route for subclone escape.
See our preprint for the complete comparison across models (Supplementary Figure 9).