-
Notifications
You must be signed in to change notification settings - Fork 72
ML predictor integration into pvacseq #1333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 7.0.0
Are you sure you want to change the base?
Conversation
…odel artifacts; modified argument parser and pvacseq run.py file to run the predictor as part of pvacseq; added test files and script.
There was a problem hiding this 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
left a comment
There was a problem hiding this 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.
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
tests/test_data/ml_predictor/ml_predictor_test_output/HCC1395_predict_pvacview.tsv
Show resolved
Hide resolved
susannasiebert
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
susannasiebert
left a comment
There was a problem hiding this 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.
| self.parser.add_argument( | ||
| "--ml-threshold", type=float, | ||
| default=0.55, | ||
| help="Threshold for Accept predictions in ML model (default: 0.55).", | ||
| ) |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
…odel artifacts; modified argument parser and pvacseq run.py file to run the predictor as part of pvacseq; added test files and script.