| | |

Ensemble tumor neoantigen prediction and multi-parameter quality analysis from direct input, SNVs, indels, or gene fusion variants.

Detailed flowchart.


An R package for neoantigen analysis that takes human or murine DNA missense mutations, insertions, deletions, or RNASeq-derived gene fusions and performs ensemble neoantigen prediction using 7 algorithms. Input is a VCF file, JAFFA output, or table of peptides or transcripts. Outputs are ranked and summarized by sample. Neoantigens are ranked by MHC I/II binding affinity, clonality, RNA expression, similarity to known immunogenic antigens, and dissimilarity to the normal peptidome.


  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
    • ranked by
      • MHC I/II binding affinity
      • clonality
      • RNA expression
      • similarity to known immunogenic antigens
      • dissimilarity to the normal peptidome
  2. Speed and simplicity:
  3. Integration with R/Bioconductor
    • upstream/VCF processing
    • exploratory data analysis, visualization


Three methods exist to run antigen.garnish:

  1. Docker
  2. Linux
  3. Amazon Web Services


See the wiki for instructions to run the Docker container.



  • R ≥ 3.4
  • python-pip
  • tcsh (required for netMHC)
  • sudo privileges (required for netMHC)

Installation script

The following line downloads and runs the initial installation script.

Next, download the netMHC suite of tools for Linux, available under an academic license:

After downloading the files above, move the binaries into the antigen.garnish data directory, first setting the NET_MHC_DIR and ANTIGEN_GARNISH_DIR environmental variables, as shown here:

Amazon Web Services

See the wiki for instructions to create an Amazon Web Services instance.

Package documentation

Package documentation can be found here.

Workflow example

  1. Prepare input for MHC affinity prediction and quality analysis:

    • VCF input - garnish_variants
    • Fusions from RNASeq via JAFFA- garnish_jaffa
    • Prepare table of direct transcript or peptide input - see manual page in R (?garnish_affinity)
  2. Add MHC alleles of interest - see examples below.
  3. Run ensemble prediction method and perform antigen quality analysis including proteome-wide differential agretopicity, IEDB alignment score, and dissimilarity: garnish_affinity.
  4. Summarize output by sample level with garnish_summary and garnish_plot, and prioritize the highest quality neoantigens per clone and sample with garnish_antigens.

Function examples

Get full MHC affinity output from a Microsoft Excel file of variants

Directly calculate IEDB score and dissimilarity for a list of sequences


  # generate our character vector of sequences

  # calculate IEDB score
  v %>% iedb_score(db = "human") %>% print

    # calculate dissimilarity
    v %>% garnish_dissimilarity(db = "human") %>% print

Automated testing

From ./<Github repo>:

  devtools::test(reporter = "summary")

Plots and summary tables

  • garnish_plot output:

  • garnish_antigens output:


Richman LP, Vonderheide RH, and Rech AJ. “Neoantigen dissimilarity to the self-proteome predicts immunogenicity and response to immune checkpoint blockade.” Cell Systems 9, 375-382.E4, (2019).


We welcome contributions and feedback via Github or email.


We thank the follow individuals for contributions and helpful discussion:


Please see LICENSE.