Al3n70rn / antigen.garnish

Ensemble neoepitope prediction from DNA variants in R.

Home Page:http://neoepitopes.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status codecov.io

antigen.garnish

Ensemble neoepitope prediction from DNA variants in R.

Description

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.

Advantages

  1. 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
  2. Speed and simplicity:
    • 1000 variants are ranked in a single step in less than five minutes
  3. Integration with R/Bioconductor
    • upstream/VCF processing
    • exploratory data analysis, visualization

Installation

Requirements

  • Linux
  • R ≥ 3.4
  • python-pip

Install prediction tools and antigen.garnish

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 SnpEff
  • garnish_jaffa: process gene fusions from JAFFA
  • garnish_predictions: perform ensemble neoepitope prediction
  • garnish_summary: summarize and rank results
  • garnish_plot: generate summary plots
  • list_mhc: list all supported MHC allele syntax

Examples

Predict neoepitopes from missense mutations, insertions, and deletions

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

Predict neoepitopes from gene fusions

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

Tests

Automated testing

  library(testthat)
  testthat::test_package("antigen.garnish")

How are peptides generated?

  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

Bugs

Authors

Citation

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

Contributing

We welcome contributions and feedback via Github or email.

License

GNU General Public License v3.0

About

Ensemble neoepitope prediction from DNA variants in R.

http://neoepitopes.io


Languages

Language:R 100.0%