-
Notifications
You must be signed in to change notification settings - Fork 594
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
Ported force-active argument for HaplotypeCaller #5635
Conversation
Codecov Report
@@ Coverage Diff @@
## master #5635 +/- ##
===============================================
+ Coverage 87.035% 87.052% +0.017%
+ Complexity 31726 31712 -14
===============================================
Files 1943 1940 -3
Lines 146193 146157 -36
Branches 16141 16129 -12
===============================================
- Hits 127239 127232 -7
+ Misses 13067 13040 -27
+ Partials 5887 5885 -2
|
@asmirnov239 Thanks for implementing this. After our conversation, I realized that the GATK3 version of the Ie., GATK3 does this:
I'm not convinced that the GATK3 behavior is actually better. It almost seems preferable to me to keep the true "is active" probabilities intact (so that you get realistic region boundaries), and just tell the Let's see what other people think -- @ldgauthier @davidbenjamin could you please weigh in as to which of the two |
@asmirnov239's implementation makes a lot more sense to me than the GATK 3 one. |
I don't have a good argument for overwriting the probabilities. I like the new approach. |
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.
Back to you with my comments @asmirnov239. Seems like there's consensus that the approach in this branch is superior to the GATK3 implementation of this arg.
@@ -166,6 +166,10 @@ public boolean isActive() { | |||
return isActive; | |||
} | |||
|
|||
void setIsActive(final boolean value) { |
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.
Add javadoc for this method, and explain why it's package-private (eg., "Changing the isActive state after construction is a debug-level operation that only engine classes like AssemblyRegionWalker should be able to do")
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.
Done
@@ -74,6 +75,10 @@ | |||
@Argument(fullName = PROPAGATION_LONG_NAME, doc="Upper limit on how many bases away probability mass can be moved around when calculating the boundaries between active and inactive assembly regions", optional = true) | |||
protected int maxProbPropagationDistance = defaultMaxProbPropagationDistance(); | |||
|
|||
@Advanced | |||
@Argument(fullName = FORCE_ACTIVE_REGIONS_LONG_NAME, doc = "If provided, all bases will be tagged as active", optional = true) |
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.
"all bases will be tagged as active" -> "all regions will be marked as active"
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.
Done
"-L", "20:1-5000", | ||
"-O", out.getAbsolutePath(), | ||
"-pairHMM", "AVX_LOGLESS_CACHING", | ||
"--" + AssemblyRegionWalker.FORCE_ACTIVE_REGIONS_LONG_NAME, "true", |
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.
Can you confirm that this test case fails if you omit the --force-active
option? Ie., try running it without the --force-active
option in the command line and see what happens.
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.
It fails. It outputs bunch of "-1"-s in "assembly-region-out" output instead of "1"s
Thanks for the review @droazen! Done addressing the comments, back to you |
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.
👍 looks good -- merging
@droazen Could you please review?