Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
9dbd068
Add ML predictor test output files and small model artifacts
jyao36 Sep 10, 2025
73b0553
Add ML predictor core files and integration
jyao36 Sep 10, 2025
e84435c
Add small model artifacts (label encoders and RF model)
jyao36 Sep 10, 2025
ae7c58f
Merge remote-tracking branch 'origin/master' into ml_predictor
jyao36 Sep 10, 2025
705f6b2
add shrunken test file for ml_predictor
jyao36 Sep 10, 2025
c45f473
Merge branch 'staging' into ml_predictor
susannasiebert Sep 10, 2025
abb82d4
Merge remote-tracking branch 'origin/staging' into ml_predictor
susannasiebert Sep 11, 2025
21238d6
updated imputer file
jyao36 Sep 11, 2025
d76b12a
Fix IndexError: string index out of range in reference proteome simil…
susannasiebert Sep 22, 2025
ec752d0
Don't include variants in the fasta if none of the epitopes are novel
susannasiebert Sep 24, 2025
cb08e1d
Better matching of WT and MT inframe insertion epitopes in repetitive…
susannasiebert Sep 24, 2025
d45d887
Merge pull request #1313 from griffithlab/issue_1311
susannasiebert Sep 24, 2025
d51c248
Merge pull request #1314 from griffithlab/matching
susannasiebert Sep 24, 2025
ddfff47
Update to version 5.5.3
susannasiebert Sep 24, 2025
84e75d5
Merge remote-tracking branch 'origin/hotfix'
susannasiebert Sep 24, 2025
463c0c3
Fix per-allele counts in the aggregated report
susannasiebert Sep 26, 2025
4ca160d
Merge remote-tracking branch 'origin/master' into ml_predictor
jyao36 Oct 7, 2025
728a5b7
Ensure that prediction_algorithms list gets copied so it's not pointi…
susannasiebert Oct 8, 2025
d89376c
Update --top-score-metric2 parameter help text for clarity and remove…
susannasiebert Sep 17, 2025
21ff629
Also remove --top-score-metric2 parameter from standalone binding filter
susannasiebert Oct 8, 2025
7e1b7d9
Pin vcfpy dependency to version 0.13.8
susannasiebert Oct 7, 2025
65188db
Pin vcfpy dependency to version 0.13.8
susannasiebert Oct 7, 2025
cb3e6ec
Merge pull request #1320 from griffithlab/flurry_state
susannasiebert Oct 9, 2025
2482b02
Merge pull request #1321 from griffithlab/top_score_metric2_2
susannasiebert Oct 9, 2025
cd7c59b
Merge pull request #1316 from griffithlab/aggregate_allele_counts
susannasiebert Oct 9, 2025
47de734
Fix issue when running pvacfuse generate_protein_fasta with a all_epi…
susannasiebert Oct 10, 2025
fdf6f34
Fix issue with calculate reference proteome step when run with an all…
susannasiebert Oct 10, 2025
ee94277
Update --input-tsv help message to reference --aggregate-report-evalu…
susannasiebert Oct 10, 2025
01ebbfc
Update pVACview demo data
susannasiebert Oct 10, 2025
a13e094
Update pVACview demo data rda file
susannasiebert Oct 10, 2025
046cf13
Update pVACtools GitHub commit references to point to updated demo data
susannasiebert Oct 10, 2025
c9b722d
Update pVACsplice example data
susannasiebert Oct 10, 2025
35c9cb1
Update pVACseq example data
susannasiebert Oct 10, 2025
38b7791
Update pVACfuse example data
susannasiebert Oct 10, 2025
c44fd37
Update pVACbind example data
susannasiebert Oct 10, 2025
4159e0e
Merge pull request #1324 from griffithlab/issue_1322
susannasiebert Oct 10, 2025
7c00156
Merge pull request #1325 from griffithlab/example_data
susannasiebert Oct 10, 2025
48feb6a
Update to version 5.5.4
susannasiebert Oct 10, 2025
0ffbb69
Merge remote-tracking branch 'origin/hotfix'
susannasiebert Oct 10, 2025
a2c2679
Update ML predictor to use numpy126 model artifacts
jyao36 Oct 13, 2025
04f92df
Update test output files from ML predictor tests
jyao36 Oct 13, 2025
b5a6178
Merge master into ml_predictor branch
jyao36 Oct 13, 2025
0d5a84f
Add missing functions to run_utils.py for ML predictor integration
jyao36 Oct 14, 2025
e12f083
Remove old model artifacts (non-numpy126 versions)
jyao36 Oct 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
# The short X.Y version.
version = '5.5'
# The full version, including alpha/beta/rc tags.
release = '5.5.2'
release = '5.5.4'


# The language for content autogenerated by Sphinx. Refer to documentation
Expand Down
7 changes: 4 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,10 @@ New in Version |release|

This is a bugfix release. It fixes the following problem(s):

* Remove unused --top-score-metric2 parameter from pVACvector. by @ldhtnp in https://github.com/griffithlab/pVACtools/pull/1304
* Speedup processing of AGFusion exon files. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1301
* Added biotype parameter to pVACvector when running with an input VCF. by @ldhtnp in https://github.com/griffithlab/pVACtools/pull/1297
* Fix an issue where the output parsing of MHCflurryEL in pVACfuse and pVACsplice where only the smallest epitope length would have results. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1320
* Fix per-allele counts in the aggregated report. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1316
* Fix a few bugs where standalone commands weren't working with all_epitopes/filtered TSVs. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1324
* Update ``--top-score-metric2`` parameter help text for clarity and remove unnecessary usage. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1321

New in Version 5
----------------
Expand Down
18 changes: 18 additions & 0 deletions docs/releases/5_5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,21 @@ This is a bugfix release. It fixes the following problem(s):
* Remove unused --top-score-metric2 parameter from pVACvector. by @ldhtnp in https://github.com/griffithlab/pVACtools/pull/1304
* Speedup processing of AGFusion exon files. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1301
* Added biotype parameter to pVACvector when running with an input VCF. by @ldhtnp in https://github.com/griffithlab/pVACtools/pull/1297

Version 5.5.3
-------------

This is a bugfix release. It fixes the following problem(s):

* Fix a bug in the reference proteome similarity step that may result in an ``IndexError: string index out of range`` error. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1313
* Improve handling of inframe indels in repetitive region to upstream filter out variants that don't result in novel neoantigen candidates and to better find a matched wildtype epitope. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1314

Version 5.5.4
-------------

This is a bugfix release. It fixes the following problem(s):

* Fix an issue where the output parsing of MHCflurryEL in pVACfuse and pVACsplice where only the smallest epitope length would have results. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1320
* Fix per-allele counts in the aggregated report. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1316
* Fix a few bugs where standalone commands weren't working with all_epitopes/filtered TSVs. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1324
* Update ``--top-score-metric2`` parameter help text for clarity and remove unnecessary usage. by @susannasiebert in https://github.com/griffithlab/pVACtools/pull/1321
841 changes: 577 additions & 264 deletions pvactools/lib/aggregate_all_epitopes.py

Large diffs are not rendered by default.

9 changes: 1 addition & 8 deletions pvactools/lib/binding_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@
from pvactools.lib.run_utils import *

class BindingFilter:
def __init__(self, input_file, output_file, binding_threshold, minimum_fold_change, top_score_metric, top_score_metric2, exclude_nas, allele_specific_cutoffs, percentile_threshold, percentile_threshold_strategy='conservative', file_type='pVACseq'):
def __init__(self, input_file, output_file, binding_threshold, minimum_fold_change, top_score_metric, exclude_nas, allele_specific_cutoffs, percentile_threshold, percentile_threshold_strategy='conservative', file_type='pVACseq'):
self.input_file = input_file
self.output_file = output_file
self.binding_threshold = binding_threshold
self.percentile_threshold = percentile_threshold
self.percentile_threshold_strategy = percentile_threshold_strategy
self.minimum_fold_change = minimum_fold_change
self.top_score_metric = top_score_metric
self.top_score_metric2 = top_score_metric2
self.exclude_nas = exclude_nas
self.allele_specific_cutoffs = allele_specific_cutoffs
self.file_type = file_type
Expand Down Expand Up @@ -105,12 +104,6 @@ def parser(cls, tool):
+ "i.e. use the median MT ic50 binding score, fold change, and MT percentile of all chosen prediction methods).",
default='median',
)
parser.add_argument(
'-m2', '--top-score-metric2',
choices=['ic50','percentile'],
default='ic50',
help="Whether to use median/best IC50 or to use median/best percentile score."
)
parser.add_argument(
'--exclude-NAs',
help="Exclude NA values from the filtered output.",
Expand Down
8 changes: 4 additions & 4 deletions pvactools/lib/calculate_reference_proteome_similarity.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,14 +216,14 @@ def extract_n_mer(self, mt_peptide, wt_peptide):
flanking_sequence_length = self.match_length - 1
first_mut_aa_pos = 0
for i in range(len(mt_peptide)):
if len(wt_peptide) < i:
if len(wt_peptide) <= i:
break
if wt_peptide[i] != mt_peptide[i]:
first_mut_aa_pos = i
break
last_mut_aa_pos = len(mt_peptide)
for i in range(len(mt_peptide)):
if len(wt_peptide) < i:
if len(wt_peptide) <= i:
break
if wt_peptide[i * -1] != mt_peptide[i * -1]:
last_mut_aa_pos = len(mt_peptide) - i
Expand Down Expand Up @@ -306,8 +306,8 @@ def _get_peptide(self, line, mt_records_dict, wt_records_dict):
epitope = line['Best Peptide']
subpeptide_position = int(line['Pos'])
else:
identifier = line['Mutation']
epitope = line['MT Epitope Seq']
identifier = line['Index']
epitope = line['Epitope Seq']
subpeptide_position = int(line['Protein Position'])
if identifier in mt_records_dict and identifier in wt_records_dict:
wt_peptide = wt_records_dict[identifier]
Expand Down
11 changes: 8 additions & 3 deletions pvactools/lib/fasta_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,9 +283,14 @@ def execute(self):
print("Warning. Mutant sequence contains unsupported amino acid U. Skipping entry {}".format(line['index']))
continue

if mutant_subsequence in wildtype_subsequence:
#This is not a novel peptide
continue
if self.epitope_length > 0:
neoepitopes = determine_neoepitopes(mutant_subsequence, self.epitope_length).values()
if all([neoepitope in wildtype_subsequence for neoepitope in neoepitopes]):
#This variant does not result in any novel epitopes
continue
else:
if mutant_subsequence in wildtype_subsequence:
continue

if len(wildtype_subsequence) < self.epitope_length or len(mutant_subsequence) < self.epitope_length:
continue
Expand Down
Loading