Exercise:AllergenicityPrediction

From 22145
Revision as of 18:40, 29 September 2026 by Carol (talk | contribs)
Jump to navigation Jump to search

Exercise written by Carolina Barra Quaglia

Introduction

Immunopeptidomics experiments can identify thousands of peptides presented on the cell surface by MHC molecules. However, because an individual can express several different HLA alleles, it is often not immediately clear which HLA molecule is responsible for presenting each peptide. In addition, immunopeptidomics datasets may contain co-purified peptides that are not true MHC ligands.

In this exercise, we will work with an immunopeptidomics dataset from patients with rheumatoid arthritis (RA). We will first use the Immune Epitope Database (IEDB) to identify and retrieve the experimental peptide dataset and the corresponding HLA typing information.

We will then use MHCMotifDecon to assign the detected peptides to their most likely HLA restriction element and investigate how different analysis parameters and assumptions about the HLA genotype affect the deconvolution.

Finally, we will analyse the same peptide dataset with GibbsCluster, an unsupervised peptide clustering method, and compare the resulting motifs and clusters with those obtained using MHCMotifDecon.

Learning Objectives

After completing this exercise, you should be able to:

  • Retrieve and filter an immunopeptidomics dataset from the IEDB.
  • Identify relevant experimental information, including peptide modifications and the HLA alleles expressed in the sample.
  • Explain the purpose of MHC motif deconvolution in the analysis of immunopeptidomics data.
  • Use MHCMotifDecon to assign peptides to likely HLA restriction elements.
  • Evaluate how the %rank threshold and the choice of HLA alleles influence the deconvolution results.
  • Recognize the importance of considering additional HLA-DR molecules, such as HLA-DRB3, HLA-DRB4, and HLA-DRB5, when interpreting HLA-DR immunopeptidomics data.
  • Use GibbsCluster to perform unsupervised clustering of MHC class II peptide ligands.
  • Compare supervised and unsupervised approaches for identifying peptide-binding motifs in complex immunopeptidomics datasets.

Current Challenges

Immunopeptidomics is currently used in several biomedical applications, including neo-epitope discovery in oncology, protein-drug immunogenicity assessment, as well as next-generation vaccine development. Immunopeptidome data are highly complex given by natural complexity of proteomics data, and particularly for immunopeptidomics, due to the expression of multiple HLA alleles on the cell membrane and the presence of co-immunoprecipitated contaminants, which is an inherent drawback of the immunopeptidomic workflow.

To resolve this problem, we can use either MHCMotifDecon or GibbsCluster. MHCMotifDecon benefits from state-of-the-art MHC class I and class II predictions, NetMHCpan and NetMHCIIpan, respectively, to accurately deconvolute immunopeptidome datasets and assign individual ligands to the most likely MHC-restriction element while discarding co-purified contaminants. If we have HLA typing this is a great tool, on the other hand in absence of HLA alleles, GibbsCluster can assess what are the different specificities in a immunopeptidomics sample.


Data Collection: Get the Data and Filter It

Instructions

PART A

Climate change is forcing people to find new protein sources. Seaweed is an ubiquitous algae growing everywhere, so some researchers from DTU food, thought it could be interesting to create a new food product with high protein content using the following species.

It is your job to determine if there are any potential allergens on brown algae that could present a problem for consumers (Phaeophyceae (taxid:2870), in particular in Ectocarpus siliculosus)

1. A) What would be your first approach to determine if the algae contains potential allergens? B) Where would you look for experimental evidence? C) How would you envision predicting in-silico allergy if no allergenicity predictor would been developed yet? Which predictions could you use as a proxy? 2. ALK has developed a treatment for allergy immunotherapy against mites by inducing tolerance to specific common antigens, being one of the most common antigens (Der p 1). It has been observed that after prolonged subcutaneous injections or oral treatment, 72% of the patients do not exhibit allergy symptoms towards dust. In addition, people having other allergies such as allergy to ananas or papaya are not observed anymore. Can you explain why? Hint: https://blast.ncbi.nlm.nih.gov/Blast.cgi 3. Do you think the immunotherapy treatment can also be useful to reduce allergies against brown algae? Justify your answer

PART B Now we are going to develop an allergenicity predictor using random forest

Follow the code in google colab. Here you will find some hints on how to use google colab: https://colab.research.google.com/notebooks/basic_features_overview.ipynb#scrollTo=WUtu4316QSHL


https://colab.research.google.com/drive/1vNR_jJeJrMdVoGcTL3iPCKKsXqPi62he?usp=sharing


Note the different steps involved in the creation of the predictor.

1. Data collection and filtering (Data upload) 2. Clustering 3. Train and test data split 4. Training 5. Evaluation

Report the performance of your model.

PART C Now it is your turn to improve the allergenicity prediction. Optimize the code to improve performance. Here you are allowed to use chatGPT and other language models so give your best hit, and try to beat the earliest performance. There are many things that can be improved such as changing the random forest for other machine learning architectures, add a regularization term to avoid overfitting, you can do some pre-processing of the data or be more creative and find other ways to improve allergenicity prediction. This is a potential project to continue in the mini research project of the second part of the group, and original projects are always evaluated extra-positively!

(Hint: If you are not very familiar with programming you can optimise the given code and asking chatgpt) Here you can find some documentation from sci-kit learn and examples: https://scikit-learn.org/stable/index.html

In the hand in, share your code, and report the new performance.