Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add beam search peptide decoding (#87)
* Add beam search * Delete print statements * Automatically download model weights (#68) (#88) * Download model weights from GitHub release * Include dependencies * Update model usage documentation * Reformat with black * Download weights to the OS-specific app dir * Don't download weights if already in cache dir * Update model file instructions * Remove release notes from the README We have this information on the Releases page now. * Remove explicit model specification from example commands * Harmonize default parameters and config values As per discussion on Slack (https://noblelab.slack.com/archives/C01MXN4NWMP/p1659803053573279). * No need to specify config file by default This simplifies the examples that most users will want to use. * Simplify version matching regex * Remove depthcharge related tests The transformer tests only deal with depthcharge functionality and just seem copied from its repository. * Make sure that package data is included I.e. the config YAML file. * Remove obsolote (ppx) tests * Update integration test * Add MacOS support and support for Apple's MPS chips * Fail test but print version * Added n_worker fn and tests * Create split_version fn and add unit tests * Fix debugging unit test * Explicitly set version * Monkeypatch loaded version * Add device selector, so that on CPU-only runs the devices > 0 * Add windows patch * Fix typo * Revert * Use main process for data loading on Windows * Fix typo * Fix unit test * Fix devices for when num_workers == 0 * Fix devices for when num_workers == 0 * Minor README updates * Import reordering * Minor code and docstring reformatting * Test model weights retrieval * Fix getting the number of devices * Disable excessive Tensorboard deprecation warnings * Don't use worker threads on MacOS It crashes the DataLoader: pytorch/pytorch#70344 * Warnings need to be ignored before import * Additional weights tests - Non-matching version - GitHub rate limit exceeded * Disable tests on MacOS * Include Python 3.10 as supported version Co-authored-by: William Fondrie <[email protected]> Co-authored-by: Wout Bittremieux <[email protected]> Co-authored-by: William Fondrie <[email protected]> * Automatically download model weights (#68) (#89) * Download model weights from GitHub release * Include dependencies * Update model usage documentation * Reformat with black * Download weights to the OS-specific app dir * Don't download weights if already in cache dir * Update model file instructions * Remove release notes from the README We have this information on the Releases page now. * Remove explicit model specification from example commands * Harmonize default parameters and config values As per discussion on Slack (https://noblelab.slack.com/archives/C01MXN4NWMP/p1659803053573279). * No need to specify config file by default This simplifies the examples that most users will want to use. * Simplify version matching regex * Remove depthcharge related tests The transformer tests only deal with depthcharge functionality and just seem copied from its repository. * Make sure that package data is included I.e. the config YAML file. * Remove obsolote (ppx) tests * Update integration test * Add MacOS support and support for Apple's MPS chips * Fail test but print version * Added n_worker fn and tests * Create split_version fn and add unit tests * Fix debugging unit test * Explicitly set version * Monkeypatch loaded version * Add device selector, so that on CPU-only runs the devices > 0 * Add windows patch * Fix typo * Revert * Use main process for data loading on Windows * Fix typo * Fix unit test * Fix devices for when num_workers == 0 * Fix devices for when num_workers == 0 * Minor README updates * Import reordering * Minor code and docstring reformatting * Test model weights retrieval * Fix getting the number of devices * Disable excessive Tensorboard deprecation warnings * Don't use worker threads on MacOS It crashes the DataLoader: pytorch/pytorch#70344 * Warnings need to be ignored before import * Additional weights tests - Non-matching version - GitHub rate limit exceeded * Disable tests on MacOS * Include Python 3.10 as supported version Co-authored-by: William Fondrie <[email protected]> Co-authored-by: Wout Bittremieux <[email protected]> Co-authored-by: William Fondrie <[email protected]> * Break beam search to testable subfunctions * Fix precursor m/z termination and filtering * Add unit testing for beam search * Add beamsearch comments and fix formatting * Address requested changes and minor fixes * Add more unit tests for beam search * Check NH3 loss for early stopping * Consistent parameter order * Update docstrings * Remove unused precursors parameter * Update beam matching mask in a level higher * Minor refactoring to avoid code duplication * Update imports * Simplification refactoring * Fix unit tests * Simplify predicted peptide caching * Simplify predicted peptide caching * Simplify predicted peptide caching * Unify predicted peptide caching * Restrict tensor reshape to subfunction and minor fixes * Finish beams when all isotopes exceed the precursor m/z tolerance * Generalize look-ahead for tokens with negative mass * Remove greedy decoding functionality * Handle case with unfinished beams and add test * Upgrade required depthcharge version * Use detokenize function * Add test for negative mass-aware termination * Fix egative mass-aware beam termination * Minor refactoring * Add test for dummy output at max length * Fixed and refactored peptide and scocre mzTab outputs * Add tests for peptide and score output formatting * Small fixes * Update changelog * Fix changelog update Co-authored-by: Wout Bittremieux <[email protected]> Co-authored-by: William Fondrie <[email protected]> Co-authored-by: Wout Bittremieux <[email protected]>
- Loading branch information