OpenVax

Software for personalized cancer vaccines

OpenVax is a collection of open-source Python libraries and command-line tools for finding the mutations in a patient's tumor that T cells could recognize, and choosing which of them to put in a vaccine. Vaccines designed with these tools have been given to patients in clinical trials.

$pip install vaxrank

The libraries are maintained at the Personalized Immunotherapy Research Lab (PIRL) at UNC Chapel Hill.

A 25-residue vaccine peptide from KRAS spanning the G12D mutation (magenta). The underlined 9-mer, VVGADGVGK, is presented to T cells by HLA-A*11:01. Vaxrank picks peptides like this for each patient.

Software

Each step below is a separate package that can be used on its own.

  1. Patient datavariants, tumor RNA, HLA type
  2. Varcodeprotein changes
  3. Isovarmutant sequence from RNA
  4. mhctoolsMHCflurryMHC presentation
  5. Vaxrankranked vaccine peptides
  6. Vaccinepeptides or mRNA

Vaccine design

Vaxrank

Chooses the mutant peptides for a personalized vaccine. Scores each candidate by predicted MHC presentation and by how much tumor RNA supports it, then outputs ranked peptides, mRNA constructs or reports for clinical review. Also accepts results from LENS or pVACseq.

pip install vaxrank

Isovar

Determines the mutant protein sequence the tumor expresses by assembling the RNA reads that cover each mutation, so nearby germline or somatic variants and splicing changes come from the reads rather than the reference genome.

pip install isovar

Varcode

Predicts what DNA variants do to genes, transcripts and proteins: substitutions, frameshifts, stop codons, splice and structural variants. Reads VCF and MAF files and returns the mutant protein where it can be determined.

pip install varcode

mhctools

One Python interface to many MHC binding, presentation, processing and immunogenicity predictors, including NetMHCpan, MHCflurry, MixMHCpred and BigMHC. Switching or comparing predictors is a one-line change.

pip install mhctools

Topiary

Predicts, filters and ranks MHC-presented peptides from any source, including tumor mutations and viral proteins. Built on mhctools.

pip install topiary

Genome reference

PyEnsembl

Local access to Ensembl genome annotation (genes, transcripts, exons and their sequences) for human and many other species.

pip install pyensembl

gtfparse

Fast parsing of GTF gene annotation files into data frames.

pip install gtfparse

datacache

Downloads, checks and caches the reference data that PyEnsembl and other packages use.

pip install datacache

Smaller utilities

varlens (command-line tools for variants and reads), pepdata (IEDB data and amino acid properties), mhcgnomes (parses MHC allele names), sercol and serializable (shared base classes).

Tutorial

The neoantigen-vaccine-pipeline runs everything from raw sequencing reads to ranked vaccine peptides inside one Docker image. You need tumor and normal whole-exome sequencing and tumor RNA-seq as gzipped FASTQ files, the patient's MHC class I alleles, and a machine with at least 16 cores. No cluster is required.

  1. Install

    docker pull openvax/neoantigen-vaccine-pipeline:latest
    docker run openvax/neoantigen-vaccine-pipeline:latest -h
  2. Get a reference genome

    Processed b37decoy, GRCh38 and mm10 references are available in Google Cloud. For GRCh38:

    gsutil -m cp gs://reference-genomes/grch38.tar.gz /path/to/reference-genome/
    cd /path/to/reference-genome && tar -zxvf grch38.tar.gz
    chmod -R a+w grch38
  3. Set up three directories

    They are mounted as Docker volumes: /inputs holds the FASTQ files and a config file, /outputs receives results, and /reference-genome holds the reference data. All three must be world-writable, because the pipeline runs as an unprivileged user.

  4. Write a config

    A YAML file in /inputs lists the sample's files, up to six MHC class I alleles (each must be supported by NetMHCpan) and tool settings. Paths are relative to the mounted directories. Start from the example config. Paired-end reads use r1 and r2 entries with type: paired-end; data from several lanes goes in separate fragments with distinct fragment_id values.

  5. Run the test case

    The test data is a small set of reads covering the IDH1 R132H mutation, with the tumor DNA reads reused as RNA.

    cd /path/to/inputs
    URL=https://github.com/openvax/neoantigen-vaccine-pipeline/raw/master
    wget $URL/test/idh1_config_grch38.yaml
    wget $URL/datagen/idh1_r132h_normal.fastq.gz
    wget $URL/datagen/idh1_r132h_tumor.fastq.gz
    
    docker run -it \
      -v /path/to/inputs:/inputs \
      -v /path/to/outputs:/outputs \
      -v /path/to/reference-genome:/reference-genome \
      openvax/neoantigen-vaccine-pipeline:latest \
      --configfile=/inputs/idh1_config_grch38.yaml

    The first run takes a few extra minutes while files are downloaded and cached. Results include ranked variants and vaccine peptides as text and PDF reports; the test should report a single IDH1 R132H variant.

To call somatic variants only, leave the tumor RNA and HLA alleles out of the config and the pipeline writes Mutect and Strelka VCFs instead (example config). Intermediate outputs and other options are described in the pipeline README.

Adapted from a 2020 post by Julia Kodysh.

Clinical trials

Four trials at Mount Sinai have tested PGV-001, a personalized vaccine of up to 10 synthetic long peptides per patient, chosen by the OpenVax pipeline and given with the adjuvant poly-ICLC.

Mount Sinai

Prostate cancer

NCT05010200 Active, not recruiting
PI: Ash Tewari

Adjuvant PGV-001, alone or with the immune stimulant CDX-301 (FLT3 ligand). Enrollment is complete (27 patients); results are pending.

Elsewhere

History

OpenVax started in Hammer Lab, Jeff Hammerbacher's lab at Mount Sinai, where the first of these libraries were written. The group then built the OpenVax pipeline to select vaccine targets for Nina Bhardwaj's Vaccine and Cell Therapy Lab, and for several years was its own small research group within Mount Sinai.

The group has since wound down. Mount Sinai still uses the software to design vaccines, and development continues at PIRL at UNC Chapel Hill.

People

Alex Rubinsteyn

Wrote most of the OpenVax libraries and still maintains them. Faculty in Genetics and Computational Medicine at UNC Chapel Hill and a member of the UNC Lineberger Comprehensive Cancer Center. Co-leads the Personalized Immunotherapy Research Lab.

Julia Kodysh

Built the vaccine pipeline used in the Mount Sinai trials and still works on it. Works at Freenome.

Tim O'Donnell

Created MHCflurry and still contributes to it. Now at Open Athena, a nonprofit that helps academic labs build scientific AI models.

Mesude Bicak

Directs the Bioinformatics Program at the Mount Sinai Tisch Cancer Center and uses OpenVax to design vaccines there.

Earlier members

Jeff Hammerbacher

Founded Hammer Lab, where OpenVax began. Now founder and CEO of Open Athena.

Tavi Nathanson

Worked on early versions of PyEnsembl, Varcode, mhctools and Topiary. Now runs Sequence Software and Purple Computer.

Isaac Hodes

Worked on the first version of the PGV trial pipeline. Now at Open Athena.

Other contributors include Arun Ahuja, Arman Aksoy, Seb Mondet and Walid Ahmad.