-
Notifications
You must be signed in to change notification settings - Fork 591
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
Funcotator - removing the required transcript file #8863
base: master
Are you sure you want to change the base?
Funcotator - removing the required transcript file #8863
Conversation
Next step is to remove the required transcript files.
Github actions tests reported job failures from actions build 9386157234
|
Github actions tests reported job failures from actions build 9470383170
|
Github actions tests reported job failures from actions build 9685898135
|
Github actions tests reported job failures from actions build 9688050367
|
Github actions tests reported job failures from actions build 9688780153
|
Github actions tests reported job failures from actions build 9690704227
|
Github actions tests reported job failures from actions build 9690907019
|
Github actions tests reported job failures from actions build 9699861398
|
@jonn-smith Looks like that did the trick. The tests are passing now. How do you want to handle this branch? should I give you a review or try to take it over and let you review the changes i make to it? |
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 clean-up requests. A few questions about assumptions. One maybe bug/oversight. A suggestion for a stronger test that would put to bed any lingering questions about this branch I think.
src/main/java/org/broadinstitute/hellbender/tools/funcotator/FuncotatorEngine.java
Show resolved
Hide resolved
|
||
// If we're on the reverse strand, we need to reverse complement the sequence: | ||
if ( transcript.getGenomicStrand() == Strand.NEGATIVE ) { | ||
return new String(BaseUtils.simpleReverseComplement(TranscriptUtils.extractTrascriptFromReference(referenceContext, transcriptFeatureList, doExonContigConversionToB37ForTranscripts).getBytes())) + tailPaddingBases; |
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.
These tail padding bases are not being RCed after you reverse complement the expression bases... that seems incorrect and like it could lead to some nasty bug down the line
...roadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactory.java
Show resolved
Hide resolved
// Finally, if we're on the reverse strand, we need to reverse complement the UTR bases. | ||
// NOTE: the extra bases are not reverse complemented because they are not part of the UTR. | ||
if (transcript.getGenomicStrand() == Strand.NEGATIVE) { | ||
return new String(BaseUtils.simpleReverseComplement(utrBases.getBytes())) + new String(BaseUtils.simpleReverseComplement(extraBases.getBytes())); |
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.
is it true that the extra bases go AFTER the sequence here? Looks like yes?
...roadinstitute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactory.java
Show resolved
Hide resolved
...itute/hellbender/tools/funcotator/dataSources/gencode/GencodeFuncotationFactoryUnitTest.java
Show resolved
Hide resolved
src/test/java/org/broadinstitute/hellbender/utils/TranscriptUtilsUnitTest.java
Show resolved
Hide resolved
private static final ReferenceDataSource refDataSourceHg19Ch3; | ||
private static final ReferenceDataSource refDataSourceB37; | ||
|
||
private static final List<AutoCloseable> autoCloseableList = new ArrayList<>(); |
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.
these tests are reasonable... however they missed the off by 1 bug that was one layer up from this method grabbing the transcrit bases that is not exposed (and possibly not as easy to test because it involves the transcript datasources directly)
private static final List<AutoCloseable> autoCloseableList = new ArrayList<>(); | ||
static { | ||
refDataSourceHg19Ch3 = ReferenceDataSource.of( IOUtils.getPath(FuncotatorReferenceTestUtils.retrieveHg19Chr3Ref()) ); | ||
refDataSourceB37 = ReferenceDataSource.of( IOUtils.getPath(b37Reference) ); |
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.
How difficult would it be to check in a chunk of datasource that HAS these transcript files in it and just call the get___fromReference()
methods and directly do the string comparison with the transcript file that is checked in from gencode directly? That seems like the strongest possible test and not too terribly difficult to write
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.
Good idea. I think we should have this available for testing already. I can add another test to do this.
This PR removes the requirement for Gencode datasources to have transcript files. This is the first step in fixing some long-standing funcotator issues involving variants that run over the edge of transcripts.