Personalized Immunotherapy Research Lab

Open Source Computational Tools

Open-source software we build and maintain for cancer genomics and computational immunology.

More PIRL tools

Antigens and T-cell recognition

Presto
Predicts peptide-MHC binding, antigen presentation and T-cell recognition with a single unified model.
Tsarina
Selects shared cancer immunotherapy targets, such as cancer-testis antigens, viral antigens and recurrent mutations, for one patient or a population HLA panel.
Hitlist
A curated store of MHC ligand, T-cell, mass spectrometry and expression evidence, traceable to its sources, for training immunology models.
WEIRDO
Scores how foreign a peptide looks to the immune system by predicting which kinds of organisms have proteins that contain it.
Golfy
Designs pooled peptide experiments, such as combinatorial ELISpot epitope mapping, and deconvolves the results to identify the responding peptides.

Tumor RNA and variants

pirlygenes
Curated cancer gene sets and reference expression data that serve as the data layer for tumor RNA-seq analysis.
trufflepig
Analyzes tumor RNA-seq samples with the pirlygenes gene sets and produces plots and reports, from the command line or a web interface.
VSTOL
Converts small and structural DNA variants from VCF files into a standard table format, then annotates, compares and merges variant lists.

Workflows and computing

Nexus
A command-line tool for running bioinformatics workflows written in Nextflow.
RAFT UI
Browser-based tools for creating RAFT manifests and configuration files and for viewing RAFT and LENS results.
Squid-TUI
A terminal dashboard for monitoring, organizing and cancelling Slurm jobs on a compute cluster.
runplz
A lightweight, Modal-style harness that runs a decorated Python function as a job on several compute backends.

Everything else is on github.com/pirl-unc.

OpenVax

PIRL maintains the OpenVax tools for cancer immunogenomics and neoantigen vaccine design, including MHCgnomes above.

MHC binding and alleles

MHCflurry
Predicts which peptides MHC class I molecules are likely to display, scoring binding affinity, antigen processing and overall presentation.
mhctools
One Python interface for running MHC binding, presentation and immunogenicity predictors such as NetMHCpan and MHCflurry.
mhcseqs
Returns the curated protein sequence for an MHC allele name, split into signal peptide, peptide-binding groove and other structural domains.

Variants, RNA and gene annotation

Varcode
Predicts how genomic variants from VCF or MAF files change genes, transcripts and proteins, including the resulting mutant protein sequence.
Isovar
Assembles tumor RNA-seq reads around each somatic mutation to find the mutant protein sequence the tumor actually expresses.
varlens
Command-line tools that combine, annotate and filter variants and pull supporting read evidence from BAM files into tables.
PyEnsembl
Looks up genes, transcripts, exons and their sequences in a pinned Ensembl release or your own annotation files, with queries run locally.
gtfparse
Reads GTF gene annotation files, such as those from Ensembl and GENCODE, into pandas tables and writes them back out.

Vaccine design

Vaxrank
Selects and ranks mutated protein fragments for personalized therapeutic cancer vaccines from somatic variants, tumor RNA and the patient's HLA alleles.
Topiary
Predicts which peptides from mutations or other antigen sources a patient's MHC molecules will present, then filters and ranks them.
Neoantigen vaccine pipeline
The public version of the pipeline used to select patient-specific neoantigen vaccines in two phase I clinical trials.

Reference data

oncoref
Curated cancer reference data, including cancer-type ontology, tumor mutational burden, incidence, immunotherapy response and tissue expression, behind one Python API.
DataCache
Downloads a dataset once, verifies it and reuses the local copy, serving as the download layer for PyEnsembl and other OpenVax tools.