-
Notifications
You must be signed in to change notification settings - Fork 589
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
Engine read caching. #4902
base: master
Are you sure you want to change the base?
Engine read caching. #4902
Conversation
5782960
to
0f57f79
Compare
Codecov Report
@@ Coverage Diff @@
## master #4902 +/- ##
================================================
+ Coverage 18.644% 86.845% +68.201%
- Complexity 4635 32366 +27731
================================================
Files 1261 1994 +733
Lines 73745 149492 +75747
Branches 11768 16506 +4738
================================================
+ Hits 13749 129826 +116077
+ Misses 57944 13642 -44302
- Partials 2052 6024 +3972
|
0f57f79
to
36c79e9
Compare
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.
Some comments about exposing an argument to the user for the cache...
@Advanced | ||
@Argument(fullName = "reads-look-ahead-window-size", shortName="reads-look-ahead-window-size", | ||
doc = "Window size for reads look-ahead query caching") | ||
protected int readsLookaheadWindowSize = 100 * 1024; |
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 don't think that this should be exposed to the user, but being similar to the feature-cache: it should be choosen by the walker-class what is the best value.
* | ||
* @return true if read caching should be used, otherwise false | ||
*/ | ||
public boolean useReadCaching() { |
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 could be a getReadsLookaheadWindowSize
instead, returning a value with the meaning of disable (0? -1?) and let each walker-class to choose how the cache is handled. A tool can always implement an argument to modify this value.
36c79e9
to
9addf1b
Compare
9addf1b
to
d445ce8
Compare
Rebased this to do some testing with current master. |
bb9e943
to
bedd108
Compare
7bbb5d4
to
0cc1c39
Compare
***************************************************************************************************/ | ||
|
||
/******************************************************** | ||
* LocatableCache tests using SideReadInputCacheStrategy |
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 test is really testing SideReadInputCacheStrategy
behavior, so maybe it should be moved to a SideReadInputCacheStrategyUnitTest class.
42f8ac9
to
3db7949
Compare
3db7949
to
d83fcd2
Compare
Allow tools to opt-in for read caching (enabled in this PR for CNNScoreVariants and FilterAlignmentArtifacts) when issuing forward-only queries such as those used to query a ReadsContext for all reads backing each variant.
The cache matches the (sometimes surprising - see #4901) results that are returned when caching is not used, specifically that an unmapped but placed read that is mated with a mapped read is only returned if the start position overlaps the interval query interval, whereas the mapped read is returned if any part of the read overlaps the query interval.