Skip to content

Conversation

@jyao36
Copy link

@jyao36 jyao36 commented Nov 3, 2025

…odel artifacts; modified argument parser and pvacseq run.py file to run the predictor as part of pvacseq; added test files and script.

…odel artifacts; modified argument parser and pvacseq run.py file to run the predictor as part of pvacseq; added test files and script.
@jyao36 jyao36 changed the title Incorporate ml_predictor module into pvactools; Uploaded associated m… ML predictor integration into pvacseq Nov 3, 2025
Copy link
Contributor

@susannasiebert susannasiebert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks pretty good. I added some comments for improvements that could be made.

I would also like to see the addition of a standalone pvacseq add_ml_predictions command that someone could run standalone to add ml_predictions to the output from their pipeline if the ml option was not enabled in the original run. Have a look at pvactools/tools/pvacseq/mark_genes_of_interest.py and its test tests/test_pvacseq_mark_genes_of_interest.py to see how to do so. This command addition also requires an update to pvactools/tools/pvacseq/main.py and pvactools/tools/pvacseq/__init__.py to add this command.

Additionally, this new command should then be documented in docs/pvacseq/optional_downstream_analysis_tools.rst. Most of the documentation can be auto-generated from the command line docs by using the program-output tool but this would also be the spot to put any additional documentation you want to have around this feature.

@susannasiebert susannasiebert added this to the 7.0 milestone Nov 10, 2025
Base automatically changed from percentile_cutoffs to 7.0.0 November 14, 2025 13:32
Copy link
Contributor

@susannasiebert susannasiebert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a couple of code suggestions to convert named required parameters to positional parameters in your parser.

jyao36 and others added 4 commits November 26, 2025 14:41
Co-authored-by: Susanna Kiwala <susanna.kiwala@wustl.edu>
Co-authored-by: Susanna Kiwala <susanna.kiwala@wustl.edu>
Co-authored-by: Susanna Kiwala <susanna.kiwala@wustl.edu>
…or; updated argument format for add_ml_predictions.py
Copy link
Contributor

@susannasiebert susannasiebert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Contributor

@susannasiebert susannasiebert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made some copy editing suggestions. Two thoughts I had while reviewing this:

  • It would be great to have some additional exploration of different candidates in ML section of the pVACview vignette. I wrote down some examples in a comment in that part of the text.
  • Have you and Malachi discussed whether it would be worthwhile to make the reject threshold configurable? It seems a bit weird to me to hardcode the reject threshold but make the accept threshold configurable.

Comment on lines +390 to +394
self.parser.add_argument(
"--ml-threshold", type=float,
default=0.55,
help="Threshold for Accept predictions in ML model (default: 0.55).",
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should consider making both the Accept and the Reject threshold configurable. Right now the reject threshold is hardcoded to 0.3.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will incorporate that, don't think there's any harm doing that.

@jyao36 jyao36 marked this pull request as ready for review December 15, 2025 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants