Skip to content
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

Allele-specific VQSR convergence fix #6262

Merged
merged 5 commits into from
Nov 26, 2019
Merged

Allele-specific VQSR convergence fix #6262

merged 5 commits into from
Nov 26, 2019

Conversation

ldgauthier
Copy link
Contributor

Ops reported several instances in which the allele-specific filtering failed. In the case I examined, the MQ distribution is much tighter around the mode at 60, which causes lin alg failures because that variable is effectively constant. Added more jitter, which has served well in the past.

problems for exomes with AS annotations
Add VQSR debug arg
@gatk-bot
Copy link

gatk-bot commented Nov 18, 2019

Travis reported job failures from build 28043
Failures in the following jobs:

Test Type JDK Job ID Logs
integration oraclejdk8 28043.11 logs
integration openjdk11 28043.12 logs
integration openjdk8 28043.2 logs

@gatk-bot
Copy link

gatk-bot commented Nov 20, 2019

Travis reported job failures from build 28083
Failures in the following jobs:

Test Type JDK Job ID Logs
integration oraclejdk8 28083.11 logs
integration openjdk11 28083.12 logs
integration openjdk8 28083.2 logs

@droazen
Copy link
Contributor

droazen commented Nov 21, 2019

@ldgauthier Can you nominate a reviewer for this one?

Copy link
Collaborator

@cmnbroad cmnbroad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of minor changes requested.

private static final long serialVersionUID = 0L;

public VQSRNegativeModelFailure(String message) { super(message); }
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since these exception classes are specific to VQSR, and don't appear to be handled/caught anywhere anyway, they seem to be unnecessary. The call sites can just throw UserException directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm looking for one of those in the tests now. I don't like to test for UserException because when the input files are missing, that's a user exception. (I think Louis and I cleaned that up, but I'm still in favor of being specific.)

"--use-allele-specific-annotations",
"-mode", "SNP",
"--" + StandardArgumentDefinitions.ADD_OUTPUT_VCF_COMMANDLINE, "false",
"--max-gaussians", "6"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably this test fails if the number of gaussians is not reduced. Can you add this same test case, but without this arg, as a negative test case, since I don't think we actually have any of those.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It turns out it doesn't fail, so I took the arg out and updated the results. Added two different failing tests.

value = Double.NaN; // The VQSR works with missing data by marginalizing over the missing dimension when evaluating the Gaussian mixture model
if( jitter && (annotationKey.equalsIgnoreCase(GATKVCFConstants.AS_RMS_MAPPING_QUALITY_KEY))){
value += vrac.MQ_JITTER * Utils.getRandomGenerator().nextGaussian();
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth updating the MQ_CAP doc (to explicitly state that its MQ only and doesn't affect AS_MQ) ? Up to you. It might actually be more correct now.

@ldgauthier
Copy link
Contributor Author

@cmnbroad I did some cleanup and added a few more tests. Anything else?

@cmnbroad
Copy link
Collaborator

Thanks @ldgauthier . 👍 when tests pass.

@gatk-bot
Copy link

gatk-bot commented Nov 25, 2019

Travis reported job failures from build 28167
Failures in the following jobs:

Test Type JDK Job ID Logs
integration openjdk11 28167.12 logs
integration oraclejdk8 28167.11 logs
integration openjdk8 28167.2 logs

@ldgauthier ldgauthier merged commit c61cb50 into master Nov 26, 2019
@ldgauthier ldgauthier deleted the ldg_VQSRdebug branch December 4, 2019 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants