README.md

Crossdome (Beta)

R-CMD-check Generic
badge

Developed by: André Fonseca, PhD

Installation


devtools::install_github("antuneslab/crossdome", build_vignettes = TRUE)

Abstract

Crossdome: An interactive R package to predict cross-reactivity risk using immunopeptidomics databases

Currently, several clinical protocols are leveraging on distinct immune mechanisms, such as adoptive T-cell therapy and peptide-based vaccines. However, multiple factors can impact the accuracy of these immune-based applications, such as expression heterogeneity, immunogenicity, and cross-reactivity (CR) risk. Crossdome was created to measure cross-reactivity potential based on biochemical properties. Our approach aims to rank potential CR candidates and measure cross-reactivity risk using mRNA expression, immunogenicity score (TCR binding), and MHC presentation probability. Additionally, we provide the expression profile related to each CR candidate.

Figure 1. Crossdome workflow and strategy. Crossdome summarises biochemical properties per amino acid into 12 principal components. In turn, the principal components are used to convert peptide sequences into biochemical profiles (matrices). Next, given a target peptide, Crossdome screens an immunopeptidomics dataset for a similar biochemical profiler, i.e., CR candidates. A relatedness score between the target and candidate off-targets is calculated based on weighted linear distance. Finally, Crossdome incorporates expression levels and immunogenicity predictions for each potential off-target.

Functions and Features

Prediction

Analysis

Visualization

Included datasets

To inspect the data sets use: data(DATA_NAME)

Basic Usage


library(crossdome)

database <- cross_background(off_targets = 'ESDPIVAQY', allele = "HLA-A*01:01")
result <- cross_compose(query = 'EVDPIGHLY', background = database)
#> ##------ Mon Mar 27 09:50:18 2023 ------##

View(result@result)
rank query subject n_positive n_mismatch relatedness_score pvalue hla_allele 1 EVDPIGHLY EVDPIGHLY 9 0 0.00 0.0000000 HLA-A01:01 2 EVDPIGHLY EVDPIGHVY 9 1 1.35 0.0000001 HLA-A01:01 3 EVDPIGHLY EADPTGHSY 6 3 8.72 0.0000336 HLA-A01:01 4 EVDPIGHLY EVDPTSHSY 6 3 10.43 0.0001107 HLA-A01:01 5 EVDPIGHLY VSDPVGVLY 6 4 10.95 0.0001567 HLA-A01:01 6 EVDPIGHLY EMDPVTQLY 8 4 11.23 0.0001889 HLA-A01:01 7 EVDPIGHLY YTDPVGVLY 6 4 11.53 0.0002293 HLA-A01:01 8 EVDPIGHLY EHDPVGQMV 7 5 11.69 0.0002542 HLA-A01:01 9 EVDPIGHLY ESDPEGALW 6 4 12.72 0.0004821 HLA-A01:01 10 EVDPIGHLY EVAPAGASY 5 4 12.95 0.0005563 HLA-A01:01 11 EVDPIGHLY NVDPVQHTY 6 4 12.97 0.0005612 HLA-A01:01 12 EVDPIGHLY DSDPTGTAY 5 5 13.04 0.0005853 HLA-A01:01 13 EVDPIGHLY DVSPLMHLF 7 5 13.49 0.0007682 HLA-A01:01 14 EVDPIGHLY QIDPVLQVY 8 6 13.55 0.0007944 HLA-A01:01 15 EVDPIGHLY SLDPLAMLY 6 5 13.58 0.0008085 HLA-A01:01 16 EVDPIGHLY SVDPHGFIS 5 5 13.60 0.0008169 HLA-A01:01 17 EVDPIGHLY LLDPIKELY 6 4 13.66 0.0008489 HLA-A01:01 18 EVDPIGHLY FVEPVGLNY 6 5 13.75 0.0008957 HLA-A01:01 19 EVDPIGHLY FVNPISFVY 6 5 13.88 0.0009614 HLA-A01:01 20 EVDPIGHLY KFDPVGEIL 6 6 14.04 0.0010592 HLA-A01:01 21 EVDPIGHLY AVDPIKDMY 6 4 14.06 0.0010678 HLA-A01:01 22 EVDPIGHLY FLEPLGLAY 6 6 14.08 0.0010839 HLA-A01:01 23 EVDPIGHLY QLDPIYVAY 6 5 14.15 0.0011284 HLA-A01:01 24 EVDPIGHLY ELDPNNAVY 6 5 14.18 0.0011473 HLA-A01:01 25 EVDPIGHLY YVDSEGHLY 6 3 14.20 0.0011600 HLA-A01:01 26 EVDPIGHLY IISPVGDAY 5 6 14.37 0.0012774 HLA-A01:01 27 EVDPIGHLY ESDPIVAQY 5 4 14.38 0.0012840 HLA-A01:01 28 EVDPIGHLY NIDPITMAY 5 5 14.38 0.0012849 HLA-A01:01 29 EVDPIGHLY QVDPLSALK 6 5 14.46 0.0013432 HLA-A01:01 30 EVDPIGHLY KWDPTGHIL 6 5 14.47 0.0013482 HLA-A01:01

str(result)
#> Formal class 'xrResult' [package "crossdome"] with 7 slots
#>   ..@ query          : chr "EVDPIGHLY"
#>   ..@ result         :'data.frame':  37656 obs. of  10 variables:
#>   .. ..$ rank             : int [1:37656] 1 2 3 4 5 6 7 8 9 10 ...
#>   .. ..$ query            : chr [1:37656] "EVDPIGHLY" "EVDPIGHLY" "EVDPIGHLY" "EVDPIGHLY" ...
#>   .. ..$ subject          : chr [1:37656] "EVDPIGHLY" "EVDPIGHVY" "EADPTGHSY" "EVDPTSHSY" ...
#>   .. ..$ n_positive       : int [1:37656] 9 9 6 6 6 8 6 7 6 5 ...
#>   .. ..$ n_mismatch       : int [1:37656] 0 1 3 3 4 4 4 5 4 4 ...
#>   .. ..$ relatedness_score: num [1:37656] 0 1.35 8.72 10.43 10.95 ...
#>   .. ..$ zscore           : num [1:37656] -5.48 -5.25 -3.99 -3.69 -3.6 ...
#>   .. ..$ pvalue           : num [1:37656] 2.12e-08 7.66e-08 3.36e-05 1.11e-04 1.57e-04 ...
#>   .. ..$ hla_allele       : chr [1:37656] "HLA-A*01:01" "HLA-A*01:01" "HLA-A*01:01" "HLA-A*01:01" ...
#>   .. ..$ percentile_rank  : num [1:37656] 0 0.00266 0.00531 0.00797 0.01062 ...
#>   ..@ allele         : chr "HLA-A*01:01"
#>   ..@ expression     : list()
#>   ..@ analysis       : list()
#>   ..@ position_weight: num [1:9] 1 1 1 1 1 1 1 1 1
#>   ..@ timestamp      : chr "##------ Mon Mar 27 09:50:18 2023 ------##"


oandrefonseca/crossdome documentation built on March 30, 2023, 7:10 p.m.