-
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
First draft for CEMBA type caller #5762
Conversation
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.
@benjamincarlin This looks good! I have a number of comments but they're all pretty much about style and typos. This needs some tests though. If you want help writing those I'm happy to help at some point.
I think this is just reproducing what's in your pipeline right now, but it seems like there's a lot that could be done to make this more robust.
- You might want to compute a score based on the base qualities instead just the count.
- It would be a good idea to use some sort of strand bias measure to differentiate between SNPs and methylation sites. SNPs should be close to evenly balanced across either strand while the methylation will only be happening on a single strand so it should be detectable in most cases.
- There's work going on in the bam spec right now to support a sane way to represent methylation in bam. I don't know how that ties into your work or not. You might want a similar tool to this that writes the methylation calls into the bam file. I know you've had some bams with methylation tags already and I'd be curious to talk about how they are represented.
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
@lbergelson Thanks for the review and your time! I responded to your comments, so please let me know if there is anything else I should 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.
@benjamincarlin A few comments on GATK conventions for this.
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/utils/variant/MethylationVCFConstants.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/CembaTypeCaller.java
Outdated
Show resolved
Hide resolved
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.
Mostly minor comments. Per discussion with @benjamincarlin, this needs at least one test that exercises the tool and verifies the output. @benjamincarlin is working on getting a test file that we can put in the public repo. Once we have that, I can help with the test. Also I think many of @lbergelson's original suggestions still apply, but with a test we could at least get this to @Experimental
stage.
src/main/java/org/broadinstitute/hellbender/cmdline/programgroups/MethylationProgramGroup.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/utils/variant/GATKVCFConstants.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/utils/variant/GATKVCFConstants.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
@cmnbroad Thank you again! I responded/fixed all of your comments/review and will hopefully obtain some test data later this afternoon! |
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.
Getting close - a few comments, mostly on GATK code, doc, and naming conventions.
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
src/main/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCaller.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
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.
@benjamincarlin A couple of remaining minor cleanup changes, and one other request now that I've seen the test data. It looks like the test BAM you're using was aligned with bismark. Since the tool will run and produce results on any BAM/reference combination, the tool doc should have a section that explicitly states any assumed requirements/prerequisites (i.e, bisulfite sequenced, methylation-aware aligner, reference requirements - whatever they are), and the command line summary and oneline summary should refer to these.
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
...t/java/org/broadinstitute/hellbender/tools/walkers/MethylationTypeCallerIntegrationTest.java
Outdated
Show resolved
Hide resolved
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.
@benjamincarlin This looks good now. I just noticed though that its been in PR draft mode through the whole review cycle I moved it out of draft, but lets squash it down (and rebase on master while you're at it) and let the PR branch tests run through once on travis, and then we'll get it merged. thx.
…ontext rather than as txt files
…tToolTestDataDir()
4255650
to
81334de
Compare
Codecov Report
@@ Coverage Diff @@
## master #5762 +/- ##
==============================================
- Coverage 86.833% 80.1% -6.732%
+ Complexity 32275 30638 -1637
==============================================
Files 1987 1990 +3
Lines 149022 149103 +81
Branches 16472 16477 +5
==============================================
- Hits 129400 119432 -9968
- Misses 13609 23863 +10254
+ Partials 6013 5808 -205
|
Codecov Report
@@ Coverage Diff @@
## master #5762 +/- ##
================================================
- Coverage 86.833% 37.206% -49.627%
+ Complexity 32275 18148 -14127
================================================
Files 1987 1990 +3
Lines 149022 149103 +81
Branches 16472 16477 +5
================================================
- Hits 129400 55475 -73925
- Misses 13609 88681 +75072
+ Partials 6013 4947 -1066
|
Codecov Report
@@ Coverage Diff @@
## master #5762 +/- ##
===============================================
+ Coverage 86.833% 86.839% +0.006%
- Complexity 32275 32293 +18
===============================================
Files 1987 1990 +3
Lines 149022 149103 +81
Branches 16472 16477 +5
===============================================
+ Hits 129400 129479 +79
- Misses 13609 13610 +1
- Partials 6013 6014 +1
|
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 like all tests passed.
Merging as @Experimental
in Louis' absence.
This is a first draft/iteration on my CEMBA Type Caller in order to jump start the review process. Here are some of my own suggestions to add:
Add Tests with a sample methylated bam as input and a corresponding vcf as expected exact match output
Add constants for VCF header names
Add constants for VCF header descriptions
Change program group