forked from OpenMS/OpenMS
-
Notifications
You must be signed in to change notification settings - Fork 0
[INTERNAL] OpenSwath diaPASEF Speedup #1
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
Draft
jcharkow
wants to merge
99
commits into
develop
Choose a base branch
from
feature/oswSpeedUp
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Try to forgo filtering by ion mobility by just computing scores directly from the IM spectra. At the same time try to avoid adding up spectra by computing scores directly from a list of spectra It is still quite buggy and does not produce expected results.
before would get some wonky values because integrate spectrum would not stop at boundaries of the vector.
accidentally added tmp files, delete them here
Instead of filtering and adding the entire spectra just go about looking for the regions of interest
added error checks to ensure that IM is present before scoring.
this includes filterByDrift(), _getAddedSpectra() and old integrateWindow() functions
Rename function signatures to be addresses instead of objects
restructure fetchSpectrumSwath() tests for the new implementation
Add back methods that previously took away as they will be used for SONAR. SONAR is likely quite inefficient since using the old methods. (Have to resample/add the entire spectrum not just select regions)
in integrateSpectrum() if drift time is not present set IM to -1
Update DIAPreScoring tests to include ion mobility tests other minor changes to test scripts
tests new integrate window functions with/without ion mobility as well as special cases (e.g. empty spectra, empty arrays, no windows provided etc.)
Swath map map correction test because the window boundaries were so large in one example that the IM boundary would be a value less than 0. To account for this change implementation of DIAHelpers::adjustExtractionWindow to set the value to 0 if lower boundary is a value less than 0.
this test has been replaced with test 23_b which tests the same concept of adding up spectra
Co-authored-by: Hannes Roest <hannesroest@gmx.ch>
…feature/oswSpeedUp
This test fails in debug mode because it is caught by an OPENMS_PRECONDITION in fetchSpectrumSwath()
test was failing in debug mode because it was being caught by the fact that there is no IM informaiton in the MS1 spectra. To avoid this, turn off MS1 mode. This invovles updating the test files. NOTE: Unsure if this is the best way to deal with this exception.
…feature/oswSpeedUp_NEW
try to get windows build working
…re/oswSpeedUp_NEW
- test chromatogram was not sorted when should have been - Change names of unused variables
allow for spectrum sort by mz using without copying
eliminate usage of new minSpanIfSingular() function for ppm
minimizes the amount of definitions of the same name
…feature/oswSpeedUp
fix to documentation
…feature/oswSpeedUp
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
3-4 fold speedup of OpenSwathWorkflow.
Background: Filtering spectra by their ion mobility is very computationally expensive. Currently DIA scores are "blind" to the ion mobility dimension and thus require spectra to be filtered by ion mobility. Since the spectra are not sorted by ion mobility (rather by m/z) this is very computationally expensive.
Solution: Instead of filtering spectra examine only the regions of interest and compute scores from these. This takes advantage of the fact that the spectra are sorted by their m/z.
This PR involves creating new functions and deprecating old ones however it should not affect the output.
Some of the functions augmented include:
Some Functions Removed include:
Tests:
Issues
Checklist
How can I get additional information on failed tests during CI
Click to expand
If your PR is failing you can check outIf you click in the column that lists the failed tests you will get detailed error messages.
Advanced commands (admins / reviewer only)
Click to expand
/reformat
(experimental) applies the clang-format style changes as additional commit. Note: your branch must have a different name (e.g., yourrepo:feature/XYZ) than the receiving branch (e.g., OpenMS:develop). Otherwise, reformat fails to push.rebuild jenkins
will retrigger Jenkins-based CI builds