Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into mhcflurry
Browse files Browse the repository at this point in the history
  • Loading branch information
susannasiebert committed Apr 15, 2020
2 parents 3068175 + a032e72 commit 9fed25f
Show file tree
Hide file tree
Showing 11 changed files with 366 additions and 20 deletions.
15 changes: 12 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,13 @@ matrix:
- pip install tensorflow==1.14.0
- pip install keras==2.2.5
- pip install Werkzeug==0.16.1
- pip install coveralls
services:
- postgresql
script:
- TEST_FLAG=1 python3 -m unittest discover -v
- TEST_FLAG=1 coverage run --source=lib,tools -m unittest discover -v
after_success:
- coveralls
- name: "Python 3.6"
language: python
sudo: required
Expand All @@ -49,10 +52,13 @@ matrix:
- pip install keras==2.2.5
- pip install pandas==0.25.2
- pip install Werkzeug==0.16.1
- pip install coveralls
services:
- postgresql
script:
- TEST_FLAG=1 python3 -m unittest discover -v
- TEST_FLAG=1 coverage run --source=lib,tools -m unittest discover -v
after_success:
- coveralls
- name: "Python 3.7"
language: python
sudo: required
Expand All @@ -75,7 +81,10 @@ matrix:
- pip install keras==2.2.5
- pip install pandas==0.25.2
- pip install Werkzeug==0.16.1
- pip install coveralls
services:
- postgresql
script:
- TEST_FLAG=1 python3 -m unittest discover -v
- TEST_FLAG=1 coverage run --source=lib,tools -m unittest discover -v
after_success:
- coveralls
20 changes: 18 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
[![Build Status](https://travis-ci.org/griffithlab/pVACtools.svg?branch=master)](https://travis-ci.org/griffithlab/pVACtools)
[![Coverage Status](https://coveralls.io/repos/github/griffithlab/pVACtools/badge.svg?branch=master)](https://coveralls.io/github/griffithlab/pVACtools?branch=master)
[![Docs](https://readthedocs.org/projects/pvactools/badge/?version=latest)](http://pvactools.readthedocs.io/en/latest/?badge=latest)
<a href="https://pypi.python.org/pypi/pvactools/">
<img src="https://img.shields.io/pypi/v/pvactools.svg?maxAge=1000" alt="PyPI" />
</a>

# pVACtools

pVACtools is a cancer immunotherapy suite consisting of the following tools:
Expand Down Expand Up @@ -26,8 +33,8 @@ A browser-based user interface that assists users in launching, managing, review

The pVACapi provides a HTTP REST interface to the pVACtools suite.

## Citation
Jasreet Hundal, Susanna Kiwala, Joshua McMichael, Christopher A Miller, Alexander T Wollam, Huiming Xia, Connor J Liu, Sidi Zhao, Yang-Yang Feng, Aaron P Graubert, Amber Z Wollam, Jonas Neichin, Megan Neveau, Jason Walker, William E Gillanders, Elaine R Mardis, Obi L Griffith, Malachi Griffith. [pVACtools: a computational toolkit to select and visualize cancer neoantigens](https://doi.org/10.1101/501817). bioRxiv 501817; doi: https://doi.org/10.1101/501817
## Citations
Jasreet Hundal , Susanna Kiwala , Joshua McMichael, Chris Miller, Huiming Xia, Alex Wollam, Conner Liu, Sidi Zhao, Yang-Yang Feng, Aaron Graubert, Amber Wollam, Jonas Neichin, Megan Neveau, Jason Walker, William Gillanders, Elaine Mardis, Obi Griffith, Malachi Griffith. pVACtools: A Computational Toolkit to Identify and Visualize Cancer Neoantigens. Cancer Immunology Research. 2020 Mar;8(3):409-420. doi: 10.1158/2326-6066.CIR-19-0401. PMID: <a href="https://www.ncbi.nlm.nih.gov/pubmed/31907209">31907209</a>.

Jasreet Hundal, Susanna Kiwala, Yang-Yang Feng, Connor J. Liu, Ramaswamy Govindan, William C. Chapman, Ravindra Uppaluri, S. Joshua Swamidass, Obi L. Griffith, Elaine R. Mardis, and Malachi Griffith. <a href="https://doi.org/10.1038/s41588-018-0283-9">Accounting for proximal variants improves neoantigen prediction</a>. Nature Genetics. 2018, DOI: 10.1038/s41588-018-0283-9. PMID: <a href="https://www.ncbi.nlm.nih.gov/pubmed/30510237">30510237</a>.

Expand Down Expand Up @@ -68,4 +75,13 @@ If you have an old version of pVACtools installed you might want to consider upg
The pVACtools documentation can be found on <a href="http://pvactools.readthedocs.io/">ReadTheDocs</a>.

## Contact

Bug reports or feature requests can be submitted on the <a href="https://github.com/griffithlab/pVACtools/issues">pVACtools Github page</a>. You may also contact us by email at help@pvactools.org.

## Container images

pVACtools is available as a Docker Image at <a href="https://hub.docker.com/r/griffithlab/pvactools/">DockerHub griffithlab/pvactools</a>.

## Stable release with DOI

[![DOI](https://zenodo.org/badge/102625109.svg)](https://zenodo.org/badge/latestdoi/102625109)
25 changes: 16 additions & 9 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -140,22 +140,29 @@ To stay up-to-date on the latest pVACtools releases please join our :ref:`mailin
Citations
---------

Jasreet Hundal, Susanna Kiwala, Joshua McMichael, Christopher A Miller,
Alexander T Wollam, Huiming Xia, Connor J Liu, Sidi Zhao, Yang-Yang Feng,
Aaron P Graubert, Amber Z Wollam, Jonas Neichin, Megan Neveau, Jason Walker,
William E Gillanders, Elaine R Mardis, Obi L Griffith, Malachi Griffith.
`pVACtools: a computational toolkit to select and visualize cancer
neoantigens <https://doi.org/10.1101/501817>`_.
bioRxiv 501817; doi: https://doi.org/10.1101/501817

Jasreet Hundal, Susanna Kiwala, Yang-Yang Feng, Connor J. Liu, Ramaswamy Govindan, William C. Chapman, Ravindra Uppaluri, S. Joshua Swamidass, Obi L. Griffith, Elaine R. Mardis, and Malachi Griffith. `Accounting for proximal variants improves neoantigen prediction <https://www.nature.com/articles/s41588-018-0283-9>`_. Nature Genetics. 2018, DOI: 10.1038/s41588-018-0283-9. PMID: `30510237 <https://www.ncbi.nlm.nih.gov/pubmed/30510237>`_.
Jasreet Hundal , Susanna Kiwala , Joshua McMichael, Chris Miller, Huiming Xia,
Alex Wollam, Conner Liu, Sidi Zhao, Yang-Yang Feng, Aaron Graubert, Amber Wollam,
Jonas Neichin, Megan Neveau, Jason Walker, William Gillanders,
Elaine Mardis, Obi Griffith, Malachi Griffith. pVACtools: A Computational Toolkit to
Identify and Visualize Cancer Neoantigens. Cancer Immunology Research.
2020 Mar;8(3):409-420. doi: 10.1158/2326-6066.CIR-19-0401.
PMID: `31907209 <https://www.ncbi.nlm.nih.gov/pubmed/31907209>`_.

Jasreet Hundal, Susanna Kiwala, Yang-Yang Feng, Connor J. Liu, Ramaswamy Govindan, William C. Chapman,
Ravindra Uppaluri, S. Joshua Swamidass, Obi L. Griffith, Elaine R. Mardis, and Malachi Griffith.
`Accounting for proximal variants improves neoantigen prediction <https://www.nature.com/articles/s41588-018-0283-9>`_.
Nature Genetics. 2018, DOI: 10.1038/s41588-018-0283-9. PMID: `30510237 <https://www.ncbi.nlm.nih.gov/pubmed/30510237>`_.

Jasreet Hundal, Beatriz M. Carreno, Allegra A. Petti, Gerald P. Linette, Obi
L. Griffith, Elaine R. Mardis, and Malachi Griffith. `pVACseq: A genome-guided
in silico approach to identifying tumor neoantigens <http://www.genomemedicine.com/content/8/1/11>`_. Genome Medicine. 2016,
8:11, DOI: 10.1186/s13073-016-0264-5. PMID: `26825632
<http://www.ncbi.nlm.nih.gov/pubmed/26825632>`_.

Source code
-------
The pVACtools source code is available in `GitHub <https://github.com/griffithlab/pVACtools>`_.

License
-------
This project is licensed under `NPOSL-3.0 <http://opensource.org/licenses/NPOSL-3.0>`_.
73 changes: 73 additions & 0 deletions tests/test_pvacfuse.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
from tools.pvacfuse import *
from mock import patch
from .test_utils import *
import tools.pvacfuse.main as pvacfuse_main
import argparse

def make_response(data, files, path):
if not files:
Expand Down Expand Up @@ -96,6 +98,10 @@ def test_pvacfuse_compiles(self):
))
self.assertTrue(compiled_pvac_path)

def test_parser(self):
parser = pvacfuse_main.define_parser()
self.assertEqual(type(parser), argparse.ArgumentParser)

def test_pvacfuse_commands(self):
pvac_script_path = os.path.join(
self.pVac_directory,
Expand All @@ -106,9 +112,11 @@ def test_pvacfuse_commands(self):
usage_search = re.compile(r"usage: ")
for command in [
"run",
"allele_specific_cutoffs",
"binding_filter",
"valid_alleles",
"download_example_data",
"top_score_filter",
]:
result = subprocess_run([
sys.executable,
Expand All @@ -128,6 +136,71 @@ def test_run_compiles(self):
))
self.assertTrue(compiled_run_path)

def test_allele_specific_cutoffs_compiles(self):
compiled_run_path = py_compile.compile(os.path.join(
self.pVac_directory,
"tools",
"pvacfuse",
"allele_specific_cutoffs.py"
))
self.assertTrue(compiled_run_path)

def test_allele_specific_cutoffs_runs(self):
allele_specific_cutoffs.main([])

def test_binding_filter_compiles(self):
compiled_run_path = py_compile.compile(os.path.join(
self.pVac_directory,
"tools",
"pvacfuse",
"binding_filter.py"
))
self.assertTrue(compiled_run_path)

def test_binding_filter_runs(self):
input_file = os.path.join(self.test_data_directory, 'fusions', 'MHC_Class_I', 'Test.all_epitopes.tsv')
output_file = tempfile.NamedTemporaryFile()
binding_filter.main([input_file, output_file.name])

def test_download_example_data_compiles(self):
compiled_run_path = py_compile.compile(os.path.join(
self.pVac_directory,
"tools",
"pvacfuse",
"download_example_data.py"
))
self.assertTrue(compiled_run_path)

def test_download_example_data_runs(self):
output_dir = tempfile.TemporaryDirectory()
download_example_data.main([output_dir.name])

def test_top_score_filter_compiles(self):
compiled_run_path = py_compile.compile(os.path.join(
self.pVac_directory,
"tools",
"pvacfuse",
"top_score_filter.py"
))
self.assertTrue(compiled_run_path)

def test_top_score_filter_runs(self):
input_file = os.path.join(self.test_data_directory, 'fusions', 'MHC_Class_I', 'Test.all_epitopes.tsv')
output_file = tempfile.NamedTemporaryFile()
top_score_filter.main([input_file, output_file.name])

def test_valid_alleles_compiles(self):
compiled_run_path = py_compile.compile(os.path.join(
self.pVac_directory,
"tools",
"pvacfuse",
"valid_alleles.py"
))
self.assertTrue(compiled_run_path)

def test_valid_alleles_runs(self):
valid_alleles.main(["-p", "SMM"])

def test_pvacfuse_pipeline(self):
with patch('requests.post', unittest.mock.Mock(side_effect = lambda url, data, files=None: make_response(
data,
Expand Down
Loading

0 comments on commit 9fed25f

Please sign in to comment.