Ensemble neoepitope prediction from DNA variants in R.
An R package for neoepitope analysis that takes human or murine DNA missense mutations, insertions, deletions, and gene fusions and performs neoepitope prediction. Input is a VCF file or table of peptides. Output is neoepitopes and a summary of neoepitope load and fitness by sample. More information.
- Thoroughness:
- missense mutations, insertions, deletions, and gene fusions
- human and mouse
- ensemble MHC class I/II binding prediction using mhcflurry, mhcnuggets, netMHC, netMHCII, netMHCpan and netMHCIIpan
- rank by dissimilarity to the normal peptidome / similarity to known immunogenic antigens
- Speed and simplicity:
- 1000 variants are ranked in a single step in less than five minutes
- Integration with R/Bioconductor
- upstream/VCF processing
- exploratory data analysis, visualization
- Linux
- R ≥ 3.4
- python-pip
curl -fsSL http://get.rech.io/antigen.garnish.sh | sudo sh
- detailed installation instructions can be found in the projects wiki.
garnish_variants
: process missense / indel VCF variants from SnpEffgarnish_jaffa
: process gene fusions from JAFFAgarnish_predictions
: perform ensemble neoepitope predictiongarnish_summary
: summarize and rank resultsgarnish_plot
: generate summary plotslist_mhc
: list all supported MHC allele syntax
library(magrittr)
library(antigen.garnish)
# download an example VCF
dt <- "antigen.garnish_example.vcf" %T>%
utils::download.file("http://get.rech.io/antigen.garnish_example.vcf", .) %>%
# extract variants
garnish_variants %>%
# add space separated MHC types
# see list_mhc() for nomenclature of supported alleles
# separate murine and human alleles into separate rows, even if same sample_id.
.[, MHC := c("HLA-A*02:01 HLA-DRB1*14:67",
"H-2-Kb H-2-IAd",
"HLA-A*01:47 HLA-DRB1*03:08")] %>%
# predict neoepitopes
garnish_predictions
# summarize predictions
dt %>%
garnish_summary %T>%
print
# generate summary graphs
dt %>% garnish_plot
library(magrittr)
library(antigen.garnish)
# load example jaffa output
path <- "antigen.garnish_jaffa_results.csv" %T>%
utils::download.file("http://get.rech.io/antigen.garnish_jaffa_results.csv", .)
fasta_path <- "antigen.garnish_jaffa_results.fasta" %T>%
utils::download.file("http://get.rech.io/antigen.garnish_jaffa_results.fasta", .)
# get predictions
dt <- garnish_jaffa(path, db = "GRCm38", fasta_path) %>%
# add MHC info with list_mhc() compatible names
.[, MHC := "H-2-Kb"] %>%
# get predictions
garnish_predictions %>%
# summarize predictions
garnish_summary %T>%
print
library(testthat)
testthat::test_package("antigen.garnish")
library(magrittr)
# generate a fake peptide
dt <- data.table::data.table(
pep_base = "Y___*___THIS_IS_________*___A_CODE_TEST!______*__X",
mutant_index = c(5, 25, 47, 50),
pep_type = "test",
var_uuid = c(
"front_truncate",
"middle",
"back_truncate",
"end")) %>%
# create nmers
make_nmers %T>% print
Rech AJ, Balli D, Stanger BZ, Vonderheide RH. Tumor immunity and survival as a function of alternative neoepitopes in human cancer. Cancer Immunology Research, 2018 Jan 16. pii: canimm.0559.2017. PMID: 29339376
We welcome contributions and feedback via Github or email.
GNU General Public License v3.0