-
Notifications
You must be signed in to change notification settings - Fork 7
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
Support multiple epitope prediction scores per tool #15
Comments
agreed! As disucussed, we should probably rethink how to store results etc and perhaps use something similar to anndata (https://anndata.readthedocs.io/en/latest/) to store results? |
Hi @b-schubert, did you use the |
If we want to stick to the current pandas dataframe layout as a return value for predictions we could also realize multiple scores with a multi-layer index on the columns, for example
|
Opinions? |
Hard to say without any detailed knowledge about |
Hey! I would like to help implementing this functionality :) If the
to something like
using multi-index on columns I need to change the functions Additionally
to
Also the current multi-indexing in the What are your opinions on that? Would that be sufficient? Did I miss anything? Please let me know! Best, |
Hi @jonasscheid, thanks for starting to work on this! In my opinion, this is already a good starting point to carry forward this discussion. I think it's also important to check what is the impact of changes to What do you think @lkuchenb and @b-schubert? Should we proceed with this? |
It will also affect all downstream methods (e.g., vaccine design frameworks) |
|
Hey! I also have no meaningful idea on adding another layer of multi-indices to the remaining results classes. Maybe you have one. Would be nice to have some feedback! Thanks in advance! |
@b-schubert, @lkuchenb what's your opinion on this? I guess one reason for changing it would be to have a consistent structure of result objects. @jonasscheid I think in the case of the `CleavageSitePrediction, the "problem " is that you don't have any allele-dependency right? |
Exactly @christopher-mohr. This is also the case for Additionally for |
Those prediction tools indeed do not offer multiple scores, but I was thinking of future-proofing them given that we could also calculate rank-based scores for them at some point. |
* Push all changes made on fork * Set Setuptools version also for external yml * Fixed erroneous variable names in matrix files * deleted A_2601_9 matrix for now. Caused troubles * Add A2601_9 syf matrix for debugging * Fixed bug in test caused by addition of A*26:01 matrix * Change solver from cbc to glpk to investigate if macOS dependant env problems in github actions can be solved * Corrected after review * Adjust tutorials to new structure * Change filter_result as discussed * Adjusted filter method and tutorials according to #12 * Fixed a bug occuring for netMHCfamily tools when peptide input has multiple lengths * remove logging * Alter filter_result method as discussed
Solved by #42. |
* Version bump 3.0.0rc2 * Fix master / main branch naming in GH action * Fix typos in README file * Add pypi GH action * Fix PyPI linting errors * Reduce version to 3.0.0rc1 * Add a changelog * Install changelog with package * Change PyPI CD trigger to published release * Add rank metric #15 (#42) * Push all changes made on fork * Set Setuptools version also for external yml * Fixed erroneous variable names in matrix files * deleted A_2601_9 matrix for now. Caused troubles * Add A2601_9 syf matrix for debugging * Fixed bug in test caused by addition of A*26:01 matrix * Change solver from cbc to glpk to investigate if macOS dependant env problems in github actions can be solved * Corrected after review * Adjust tutorials to new structure * Change filter_result as discussed * Adjusted filter method and tutorials according to #12 * Fixed a bug occuring for netMHCfamily tools when peptide input has multiple lengths * remove logging * Alter filter_result method as discussed * Fixed issues #38, #44 and #45 (#46) * Fixed issues #44 and #45 * Fix #48, include review suggestions * Improve/update documentation (#50) * Update CHANGELOG * Extend README * Change framework name in code comment * Remove logging warning * Change file ending in tutorial * Add docstrings, minor formatting * Update CHANGELOG version and setup.py * Update date Co-authored-by: Leon Kuchenbecker <leon.kuchenbecker@uni-tuebingen.de> Co-authored-by: Jonas Scheid <43858870+jonasscheid@users.noreply.github.com>
* Version bump 3.0.0rc2 * Fix master / main branch naming in GH action * Fix typos in README file * Add pypi GH action * Fix PyPI linting errors * Reduce version to 3.0.0rc1 * Add a changelog * Install changelog with package * Change PyPI CD trigger to published release * Add rank metric #15 (#42) * Push all changes made on fork * Set Setuptools version also for external yml * Fixed erroneous variable names in matrix files * deleted A_2601_9 matrix for now. Caused troubles * Add A2601_9 syf matrix for debugging * Fixed bug in test caused by addition of A*26:01 matrix * Change solver from cbc to glpk to investigate if macOS dependant env problems in github actions can be solved * Corrected after review * Adjust tutorials to new structure * Change filter_result as discussed * Adjusted filter method and tutorials according to #12 * Fixed a bug occuring for netMHCfamily tools when peptide input has multiple lengths * remove logging * Alter filter_result method as discussed * Fixed issues #38, #44 and #45 (#46) * Fixed issues #44 and #45 * Fix #48, include review suggestions * Improve/update documentation (#50) * Update CHANGELOG * Extend README * Change framework name in code comment * Remove logging warning * Change file ending in tutorial * Add docstrings, minor formatting * Update CHANGELOG version and setup.py * Update date * Fix #52 (#53) * add check if transcript sequence available from BioMart, cleanup (#58) * Add interface for netMHCpan 4.1 (#59) * add interface for netmhcpan 4.1 * remove duplicate alleles from list * Update supportedAlleles of syfpeithi (#62) Co-authored-by: Christopher Mohr <christopher.mohr@qbic.uni-tuebingen.de> * Fix protobuf version for tests, prepare docs for 3.1.0 release (#64) * Prepare docs for new release * minor changes/additions docs * check if fixing protobuf version resolves testing errors * check if changing github actions workflow resolves testing issue * allow lower versions of protobuf * Update epytope/doc/conf.py Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com> Co-authored-by: Christopher Mohr <christopher.mohr@uni-tuebingen.de> Co-authored-by: Jonas Scheid <jonas@u-081-c204.eap.uni-tuebingen.de> Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com> * Add netMHCIIpan 4.1 interface (#66) * add netmhciipan 4.1 interface * remove logging * remove __name method * update changelog * Update CHANGELOG.md Co-authored-by: Christopher Mohr <christopher.mohr@qbic.uni-tuebingen.de> Co-authored-by: Christopher Mohr <christopher.mohr@uni-tuebingen.de> Co-authored-by: Christopher Mohr <christopher.mohr@qbic.uni-tuebingen.de> * minor doc improvements, cleanup setup.py * bump version Co-authored-by: Leon Kuchenbecker <leon.kuchenbecker@uni-tuebingen.de> Co-authored-by: Jonas Scheid <43858870+jonasscheid@users.noreply.github.com> Co-authored-by: Jonas Scheid <jonas@u-081-c204.eap.uni-tuebingen.de> Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com>
* Version bump 3.0.0rc2 * Fix master / main branch naming in GH action * Fix typos in README file * Add pypi GH action * Fix PyPI linting errors * Reduce version to 3.0.0rc1 * Add a changelog * Install changelog with package * Change PyPI CD trigger to published release * Add rank metric #15 (#42) * Push all changes made on fork * Set Setuptools version also for external yml * Fixed erroneous variable names in matrix files * deleted A_2601_9 matrix for now. Caused troubles * Add A2601_9 syf matrix for debugging * Fixed bug in test caused by addition of A*26:01 matrix * Change solver from cbc to glpk to investigate if macOS dependant env problems in github actions can be solved * Corrected after review * Adjust tutorials to new structure * Change filter_result as discussed * Adjusted filter method and tutorials according to #12 * Fixed a bug occuring for netMHCfamily tools when peptide input has multiple lengths * remove logging * Alter filter_result method as discussed * Fixed issues #38, #44 and #45 (#46) * Fixed issues #44 and #45 * Fix #48, include review suggestions * Improve/update documentation (#50) * Update CHANGELOG * Extend README * Change framework name in code comment * Remove logging warning * Change file ending in tutorial * Add docstrings, minor formatting * Update CHANGELOG version and setup.py * Update date * Fix #52 (#53) * add check if transcript sequence available from BioMart, cleanup (#58) * Add interface for netMHCpan 4.1 (#59) * add interface for netmhcpan 4.1 * remove duplicate alleles from list * Update supportedAlleles of syfpeithi (#62) Co-authored-by: Christopher Mohr <christopher.mohr@qbic.uni-tuebingen.de> * Fix protobuf version for tests, prepare docs for 3.1.0 release (#64) * Prepare docs for new release * minor changes/additions docs * check if fixing protobuf version resolves testing errors * check if changing github actions workflow resolves testing issue * allow lower versions of protobuf * Update epytope/doc/conf.py Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com> Co-authored-by: Christopher Mohr <christopher.mohr@uni-tuebingen.de> Co-authored-by: Jonas Scheid <jonas@u-081-c204.eap.uni-tuebingen.de> Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com> * Add netMHCIIpan 4.1 interface (#66) * add netmhciipan 4.1 interface * remove logging * remove __name method * update changelog * Update CHANGELOG.md Co-authored-by: Christopher Mohr <christopher.mohr@qbic.uni-tuebingen.de> Co-authored-by: Christopher Mohr <christopher.mohr@uni-tuebingen.de> Co-authored-by: Christopher Mohr <christopher.mohr@qbic.uni-tuebingen.de> * minor doc improvements, cleanup setup.py * Update MartsAdapter (#69) * Rewrite, extend, cleanup MartsAdapter, adapt tests * add requests and beautifulsoup4 dependency * prevent too long requests, avoid server request for each attribute * add gene to test object * fix enum ref * adapt MartsAdapter in other test * add function for getting gene names, add tests * change method name, add test * add lxml as dependency * workaround for pandas read_xml, remove dependency * add missing all() * fix test * add retry strategy for GET requests * Update epytope/IO/MartsAdapter.py Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com> * add default biomart url Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com> * Outsource supported alleles (#63) * Draft for outsourcing supported alleles * Further outsourcing of netmhc alleles * Finish outsourcing external alleles * Outsource alleles from pssm and ann predictors * Correct minor erroneous hla nomenclatures of smmpmbec * Change allele imports by importing frozensets * Add __allele_import_name to classes to increase readability * Refactor: convert_alleles is now classmethod in pssm * Incorporate feedback * Update __init__.py * Update uniprot adapter (#71) * remove HLAtyping and distance2self tests, update CHANGELOG * fix reading sequences in uniprot adapter * add test for uniprot adapter * remove HLAtyping and distance2self tests, update CHANGELOG (#70) * Fix netmhcii4.0 parser (#73) * fix netmhciipan4.0 issue * update changelog * Add function for peptides to check if created by variant (#74) * remove HLAtyping and distance2self tests, update CHANGELOG * add Peptide functon to determine if peptide originates from a variant * fix peptide call, update CHANGELOG * Improve function to check peptide origin (#75) * remove HLAtyping and distance2self tests, update CHANGELOG * add Peptide functon to determine if peptide originates from a variant * fix peptide call, update CHANGELOG * improve method for variant-peptide check * minor CHANGELOG change * change peptide to self * update setup.py and CHANGELOG * Fix errorneous supported alleles (#78) * Draft for outsourcing supported alleles * Further outsourcing of netmhc alleles * Finish outsourcing external alleles * Outsource alleles from pssm and ann predictors * Correct minor erroneous hla nomenclatures of smmpmbec * Change allele imports by importing frozensets * Add __allele_import_name to classes to increase readability * Refactor: convert_alleles is now classmethod in pssm * Incorporate feedback * Fix parsing error and sort allele list * Adjust variable naming Co-authored-by: Leon Kuchenbecker <leon.kuchenbecker@uni-tuebingen.de> Co-authored-by: Jonas Scheid <43858870+jonasscheid@users.noreply.github.com> Co-authored-by: Jonas Scheid <jonas@u-081-c204.eap.uni-tuebingen.de> Co-authored-by: Gisela Gabernet <gisela.gabernet@gmail.com>
Most tools report multiple scores for each prediction. Currently the framework interfaces are affinity-centric, which is actually discouraged by most tool developers.
The epitope prediction method interface should support multiple scores and all scores produced by each method should be extracted from their outputs.
The text was updated successfully, but these errors were encountered: