Skip to content

Added in code to populate the name of VariantContext objects. #4571

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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

jonn-smith
Copy link
Collaborator

Fixes #4570

@droazen
Copy link
Contributor

droazen commented Mar 23, 2018

Before proceeding with this PR, let's check what GATK3 puts into the VariantContext source field, to see whether the behavior there is consistent with this branch.

Copy link
Contributor

@droazen droazen left a comment

Choose a reason for hiding this comment

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

Back to @jonn-smith with comments.

@droazen droazen assigned jonn-smith and unassigned droazen Sep 10, 2018
@jonn-smith jonn-smith force-pushed the jts_variant_context_names_4570 branch from b126583 to 4a3f9c9 Compare January 11, 2019 20:26
@jonn-smith jonn-smith assigned lbergelson and unassigned jonn-smith Jan 11, 2019
@jonn-smith jonn-smith requested a review from lbergelson January 11, 2019 22:17
import java.io.File;
import java.io.PrintStream;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;

// This should be:
//import org.apache.logging.log4j.LogManager;
Copy link
Member

Choose a reason for hiding this comment

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

What's the deal with this change? can we remove these comments?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Because Intellij likes to auto resolve / update the import statements, I've found that the loggers occasionally get messed up and are switched to be the other includes which don't work.

I added this comment here so that I could preserve which loggers are correct. I'll reword the comment and make it clear. Initially this was above the logger lines, but since Intellij auto-organizes the imports they're no longer above the logging imports.

@@ -2,15 +2,13 @@

import com.google.common.annotations.VisibleForTesting;
Copy link
Member

Choose a reason for hiding this comment

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

Did you mean to include this file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think that's where the @VisibleForTesting attribute is defined, isn't it?

Copy link
Member

@lbergelson lbergelson left a comment

Choose a reason for hiding this comment

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

@jonn-smith This looks good 👍

@codecov-io
Copy link

codecov-io commented Jan 14, 2019

Codecov Report

❗ No coverage uploaded for pull request base (master@4416fd5). Click here to learn what that means.
The diff coverage is 11.765%.

@@            Coverage Diff             @@
##             master     #4571   +/-   ##
==========================================
  Coverage          ?   17.915%           
  Complexity        ?      8536           
==========================================
  Files             ?      1943           
  Lines             ?    146209           
  Branches          ?     16146           
==========================================
  Hits              ?     26194           
  Misses            ?    117360           
  Partials          ?      2655
Impacted Files Coverage Δ Complexity Δ
...e/hellbender/engine/FeatureDataSourceUnitTest.java 1.488% <0%> (ø) 2 <0> (?)
...institute/hellbender/engine/FeatureDataSource.java 57.246% <66.667%> (ø) 32 <0> (?)

@droazen
Copy link
Contributor

droazen commented Jan 16, 2019

@jonn-smith What's the status of this one?

@jonn-smith
Copy link
Collaborator Author

@droazen I rebased it and have been updating the comparison methods for VariantContext objects. I was talking with @lbergelson yesterday about postponing some of those changes (moving them into another branch/PR) and reverting to a version that will work to get this one in.

I haven't yet done that though.

@droazen
Copy link
Contributor

droazen commented Jan 17, 2019

@jonn-smith Can you explain briefly why the tests are failing? It seems like this is the sort of change that our test code should just ignore.

@jonn-smith
Copy link
Collaborator Author

Yes. We have two methods to compare whether variant context objects are equal.

I wanted to make it so that there was only 1 method that does this, so I tried to change the calls to only use one of them. However they do not actually check the same things.

I am going to move the changes into another branch / PR, but I haven't yet. After doing so I'll revert so that both comparisons remain and make sure the tests pass again.

@jonn-smith jonn-smith force-pushed the jts_variant_context_names_4570 branch from be65da5 to ad7bcbd Compare February 8, 2019 20:02
@jonn-smith
Copy link
Collaborator Author

Reverted the variant context equality changes and put them in branch jts_variant_context_equality_methods.

@droazen droazen assigned KevinCLydon and unassigned lbergelson Dec 16, 2019
@jonn-smith jonn-smith force-pushed the jts_variant_context_names_4570 branch from ca1a7c0 to 2b1429c Compare December 18, 2019 19:46
@gatk-bot
Copy link

gatk-bot commented Dec 18, 2019

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

Test Type JDK Job ID Logs
unit openjdk11 28408.13 logs
integration oraclejdk8 28408.11 logs
integration openjdk11 28408.12 logs
unit openjdk8 28408.3 logs
python openjdk8 28408.5 logs
integration openjdk8 28408.2 logs

@bbimber
Copy link
Contributor

bbimber commented Mar 3, 2021

@droazen @cmnbroad This PR is blocking #6973, and it's been stuck for a while. I would like to offer my help in doing any work to get this closed out. #7021 is related and I could offer help on that and updating needed tests if this could help get all this closed out.

@bbimber
Copy link
Contributor

bbimber commented Apr 6, 2021

Hello - I'm writing to check on these PRs again. I appreciate these are not GATK's priority, but they're blocking #6973 and we've been stuck for a long time here. If there is additional work, testing or anything needed on this I am happy to offer my time if there's anything that would help get this done.

@droazen
Copy link
Contributor

droazen commented Apr 6, 2021

@bbimber Thanks for your patience, and apologies for the very long wait on this PR! We'll do our very best to get through these reviews as soon as our other priorities allow.

@bbimber
Copy link
Contributor

bbimber commented Apr 19, 2021

@cmnbroad @droazen Good morning - I'm writing to follow up again. I appreciate that this not GATK's main priority, but I'm at the point where I need to either unblock this or fork GATK and publish another artifact so we can move our projects forward. The crux of what I'm trying to achieve with these changes is for our VariantQC tool; however, I'm bumping into several situations where MultiVariantWalkers need to be able to determine the FeatureInput source of the variants. I recognize that this and my original PR #6973 has taken a non-trivial amount of @cmnbroad time, but we have basically been stalled with an otherwise approved PR since Feb 8.

The PRs blocking that PR are this one and the related #7021. They both involve creating a way to connect VariantContext to FeatureInput - a capability that would benefit the GATK engine and I have been told by @cmnbroad you're interested in having. It seems like the primary problem associated with these changes is ensuring tests and VariantContext comparison code still works, since VariantContexts are going to tend to report a source. I dont know your internal conversations, so I'm guessing based on what's written in github. As I've said, I'd like to do whatever I can to get these changes into a form that takes as little of your effort as possible.

While this particular PR seems close, there is clearly some cleanup needed from what's there now, including code review from @lbergelson that no one ever fixed. Would it help if I put together #4571 and #7021 into a new branch where I also work through associated test changes and try to get this into one concise piece of code to review? Basically try to put everything together to be the minimal amount of work needed on your side? I havent heard anything one way or the other from GATK staff as to whether this would actually be helpful or not. Are there higher order design decisions that need to be considered that I'm not seeing?

I completely understand your time constraints - I'm just trying to figure out some solution that let's this go forward. Again, if we cant unblock this soon I'm going to probably fork GATK and need to start working off that project. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Names are not filled into VariantContext when they are created.
7 participants