Rev htsjdk to version 1.132 and picard to version 1.131, and switch to using the versions in maven central

-We now pull htsjdk and picard from maven central.

-Updated the GATK codebase as necessary to adapt to changes in the Feature
 interface.

-Since VCFHeader now requires that all header lines have unique keys, uniquified
 the keys of GVCFBlock header lines by including the min/max GQ in the key.
 Updated MD5s accordingly.

-Other MD5s changed as a result of an htsjdk fix to eliminate "-0" in VCF output.
This commit is contained in:
David Roazen 2015-05-12 15:05:40 -04:00
parent f6b3d8e862
commit caafe84e74
28 changed files with 122 additions and 108 deletions

View File

@ -48,7 +48,7 @@
</dependency>
<!-- Tribble codecs & the variant package (VCF, BCF, and VariantContext) -->
<dependency>
<groupId>samtools</groupId>
<groupId>com.github.samtools</groupId>
<artifactId>htsjdk</artifactId>
</dependency>
<!-- Workaround - depend on the logger impl required by JEXL -->

View File

@ -42,7 +42,7 @@
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>picard</groupId>
<groupId>com.github.broadinstitute</groupId>
<artifactId>picard</artifactId>
</dependency>
<!--

View File

@ -47,7 +47,7 @@
</dependency>
<!-- Picard -->
<dependency>
<groupId>picard</groupId>
<groupId>com.github.broadinstitute</groupId>
<artifactId>picard</artifactId>
</dependency>
<!-- JavaMail -->

View File

@ -187,7 +187,10 @@ final class HomRefBlock {
}
public VCFHeaderLine toVCFHeaderLine() {
return new VCFHeaderLine("GVCFBlock", "minGQ=" + getGQLowerBound() + "(inclusive),maxGQ=" + getGQUpperBound() + "(exclusive)");
// Need to uniquify the key for the header line using the min/max GQ, since
// VCFHeader does not allow lines with duplicate keys.
final String key = String.format("GVCFBlock%d-%d", getGQLowerBound(), getGQUpperBound());
return new VCFHeaderLine(key, "minGQ=" + getGQLowerBound() + "(inclusive),maxGQ=" + getGQUpperBound() + "(exclusive)");
}
/**

View File

@ -67,7 +67,7 @@ public class BeagleIntegrationTest extends WalkerTest {
"--beagleR2:BEAGLE " + beagleValidationDataLocation + "inttestbgl.r2 " +
"--beagleProbs:BEAGLE " + beagleValidationDataLocation + "inttestbgl.gprobs " +
"--beaglePhased:BEAGLE " + beagleValidationDataLocation + "inttestbgl.phased " +
"-o %s --no_cmdline_in_header -U LENIENT_VCF_PROCESSING", 1, Arrays.asList("989449fa3e262b88ba126867fa3ad9fb"));
"-o %s --no_cmdline_in_header -U LENIENT_VCF_PROCESSING", 1, Arrays.asList("1c4f2fed1d452368fa4dfe3e209ebb57"));
spec.disableShadowBCF();
executeTest("test BeagleOutputToVCF", spec);
}

View File

@ -77,10 +77,10 @@ public class HaplotypeCallerGVCFIntegrationTest extends WalkerTest {
// this functionality can be adapted to provide input data for whatever you might want in your data
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.NONE, PCRFreeIntervals, "3e440b1b755a21d7bd3ecb093af8f43e"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.BP_RESOLUTION, PCRFreeIntervals, "ebe078a1e209a5b231aeeba6deebcb8a"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "b6d3cbc4eecb8d295898d94335be54c2"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "2ad9b5d87416c466292c2b97480e1f5c"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.NONE, WExIntervals, "6ca1e6cb78157273a4a96ba00e6d4713"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.BP_RESOLUTION, WExIntervals, "8645c191ca5dbbae8dcb1389717f985a"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, "82f2efd1e9ec6197344d9001b653c7fb"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, "9606db453f9e8beae27669afcea288a1"});
return tests.toArray(new Object[][]{});
}
@ -96,11 +96,11 @@ public class HaplotypeCallerGVCFIntegrationTest extends WalkerTest {
// this functionality can be adapted to provide input data for whatever you might want in your data
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.NONE, PCRFreeIntervals, "92c7415dd1a5793161032d839b88fc28"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.BP_RESOLUTION, PCRFreeIntervals, "b90d7c900ff4a8b5e58d6bd4ad64d750"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "7abdd32f0d11cbf43f5bceeca946a428"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "8a1dcc091cb28e1fbbc86a1de85dfd4c"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.NONE, WExIntervals, "7e84e4562d8df6e593e58f017f697355"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.BP_RESOLUTION, WExIntervals, "307ce5ada7c68e2f08664937bafa6281"});
final String NA12878bandedResolutionMD5 = "74f728f1c42e3014776197606ddf5116";
final String NA12878bandedResolutionMD5 = "d51df38ad52cf2b0ecbce362e60fb24e";
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, NA12878bandedResolutionMD5});
tests.add(new Object[]{NA12878_WEx + " -I " + privateTestDir + "NA20313.highCoverageRegion.bam -sn NA12878",
ReferenceConfidenceMode.GVCF, WExIntervals, NA12878bandedResolutionMD5});
@ -119,10 +119,10 @@ public class HaplotypeCallerGVCFIntegrationTest extends WalkerTest {
// this functionality can be adapted to provide input data for whatever you might want in your data
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.NONE, PCRFreeIntervals, "f441aab92b07591281fa44748b7bd71e"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.BP_RESOLUTION, PCRFreeIntervals, "d54d7988552a13de90977ba06b094b74"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "a1e2f104c50c89b9c562045daebf07ca"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "c3c12414059390f3d6e3e533502c1869"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.NONE, WExIntervals, "91164cf1247f5b187ad133b280aa1fd2"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.BP_RESOLUTION, WExIntervals, "b5c1b79550a8d8bb479895e2be38d945"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, "48b737b4f1739edd275eb347c6ca5997"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, "79e913ab2ddf19b3cae75f2da9394239"});
return tests.toArray(new Object[][]{});
}
@ -137,10 +137,10 @@ public class HaplotypeCallerGVCFIntegrationTest extends WalkerTest {
// this functionality can be adapted to provide input data for whatever you might want in your data
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.NONE, PCRFreeIntervals, "081d943a092b7ad71d1f1fa6ec191ace"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.BP_RESOLUTION, PCRFreeIntervals, "93f95c7a51741f8e527f1308ffd91052"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "a6e858123e40efece5a9a43a0c05bdb2"});
tests.add(new Object[]{NA12878_PCRFREE, ReferenceConfidenceMode.GVCF, PCRFreeIntervals, "1f2e5b5c06cb6d1196315c4308421f6d"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.NONE, WExIntervals, "3d8f4f849df0b9cddb1ec61279e91a83"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.BP_RESOLUTION, WExIntervals, "1fbe1435b860400ecae3115141453c9a"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, "af7f383fd675d2edfaba7f67a96e67c7"});
tests.add(new Object[]{NA12878_WEx, ReferenceConfidenceMode.GVCF, WExIntervals, "fe9e1992cc28b798dd3ee66aaba726aa"});
return tests.toArray(new Object[][]{});
}
@ -254,7 +254,7 @@ public class HaplotypeCallerGVCFIntegrationTest extends WalkerTest {
public void testWrongGVCFNonVariantRecordOrderBugFix() {
final String commandLine = String.format("-T HaplotypeCaller --pcr_indel_model NONE -pairHMMSub %s %s -R %s -I %s -L %s -ERC GVCF --no_cmdline_in_header -variant_index_type %s -variant_index_parameter %d",
HMM_SUB_IMPLEMENTATION, ALWAYS_LOAD_VECTOR_HMM, b37KGReference, WRONG_GVCF_RECORD_ORDER_BUGFIX_BAM, WRONG_GVCF_RECORD_ORDER_BUGFIX_INTERVALS, GATKVCFUtils.DEFAULT_GVCF_INDEX_TYPE, GATKVCFUtils.DEFAULT_GVCF_INDEX_PARAMETER);
final WalkerTestSpec spec = new WalkerTestSpec(commandLine + " -o %s", Arrays.asList("ae90a1b5c40f19df38e8ac58c3844ed5"));
final WalkerTestSpec spec = new WalkerTestSpec(commandLine + " -o %s", Arrays.asList("7fa0578150ea8ef333cb141f78cf4a5a"));
spec.disableShadowBCF();
executeTest("testMissingGVCFIndexingStrategyException", spec);
}
@ -271,7 +271,7 @@ public class HaplotypeCallerGVCFIntegrationTest extends WalkerTest {
public void testNoCallGVCFMissingPLsBugFix() {
final String commandLine = String.format("-T HaplotypeCaller --pcr_indel_model NONE -pairHMMSub %s %s -R %s -I %s -L %s -ERC GVCF --no_cmdline_in_header -variant_index_type %s -variant_index_parameter %d",
HMM_SUB_IMPLEMENTATION, ALWAYS_LOAD_VECTOR_HMM, b37KGReference, NOCALL_GVCF_BUGFIX_BAM, NOCALL_GVCF_BUGFIX_INTERVALS, GATKVCFUtils.DEFAULT_GVCF_INDEX_TYPE, GATKVCFUtils.DEFAULT_GVCF_INDEX_PARAMETER);
final WalkerTestSpec spec = new WalkerTestSpec(commandLine + " -o %s", Arrays.asList("bf6325fbc06c80893f3170668cfbed06"));
final WalkerTestSpec spec = new WalkerTestSpec(commandLine + " -o %s", Arrays.asList("befa4bf150099b3faf44130a6c9cdbb9"));
spec.disableShadowBCF();
executeTest("testNoCallGVCFMissingPLsBugFix", spec);
}

View File

@ -84,7 +84,7 @@ public class ValidationSiteSelectorIntegrationTest extends WalkerTest {
WalkerTestSpec spec = new WalkerTestSpec(
baseTestString(sampleNone + freqUnif + "--variant " + testfile),
1,
Arrays.asList("658c70cbb93faed8ca18e51cd6dd593f")
Arrays.asList("19fe0e3297bfd502911608490222a2fd")
);
executeTest("testNoSampleSelectionFreqUniform--" + testfile, spec);
@ -96,7 +96,7 @@ public class ValidationSiteSelectorIntegrationTest extends WalkerTest {
WalkerTestSpec spec = new WalkerTestSpec(
baseTestString(sampleNone + freqAF + "--variant " + testfile),
1,
Arrays.asList("90411433ea42846352b767da735af53b")
Arrays.asList("91a7f3bf452241040646e61ee6ab1a23")
);
executeTest("testNoSampleSelectionFreqAF--" + testfile, spec);
@ -108,7 +108,7 @@ public class ValidationSiteSelectorIntegrationTest extends WalkerTest {
WalkerTestSpec spec = new WalkerTestSpec(
baseTestString(sampleGT + freqUnif + "--variant " + testfile),
1,
Arrays.asList("2afabd447185cf017f60c85380902117")
Arrays.asList("faae3baf1feb76877fcb81c01b5d44f3")
);
executeTest("testPolyGTFreqUniform--" + testfile, spec);
@ -120,7 +120,7 @@ public class ValidationSiteSelectorIntegrationTest extends WalkerTest {
WalkerTestSpec spec = new WalkerTestSpec(
baseTestString(sampleGT + freqAF + "--variant " + testfile),
1,
Arrays.asList("381e1a2f0e1908b4d7cba5d6361cf5aa")
Arrays.asList("d2ba4e3e76f87e2c1a12d82e7a3dc595")
);
executeTest("testPolyGTFreqAF--" + testfile, spec);
@ -132,7 +132,7 @@ public class ValidationSiteSelectorIntegrationTest extends WalkerTest {
WalkerTestSpec spec = new WalkerTestSpec(
baseTestString(sampleGL + freqAF + "--variant " + testfile),
1,
Arrays.asList("381e1a2f0e1908b4d7cba5d6361cf5aa")
Arrays.asList("d2ba4e3e76f87e2c1a12d82e7a3dc595")
);
executeTest("testPolyGLFreqAF--" + testfile, spec);

View File

@ -167,4 +167,10 @@ public class HomRefBlockUnitTest extends BaseTest {
final VariantContext testVC = new VariantContextBuilder(vc).chr(contig).start(pos).stop(pos).make();
Assert.assertEquals(band.isContiguous(testVC), expected);
}
@Test
public void testToVCFHeaderLine() {
final HomRefBlock band = new HomRefBlock(vc, 10, 20, HomoSapiensConstants.DEFAULT_PLOIDY);
Assert.assertEquals(band.toVCFHeaderLine().getKey(), "GVCFBlock10-20", "Wrong key for HomRefBlock " + band);
}
}

View File

@ -155,7 +155,7 @@
</includes>
</filter>
<filter>
<artifact>samtools:htsjdk</artifact>
<artifact>com.github.samtools:htsjdk</artifact>
<includes>
<include>**</include>
</includes>

View File

@ -27,7 +27,7 @@ package org.broadinstitute.gatk.engine.datasources.providers;
import htsjdk.samtools.util.PeekableIterator;
import htsjdk.samtools.SAMFileHeader;
import htsjdk.tribble.BasicFeature;
import htsjdk.tribble.SimpleFeature;
import htsjdk.tribble.Feature;
import org.broadinstitute.gatk.utils.BaseTest;
import org.broadinstitute.gatk.utils.commandline.RodBinding;
@ -109,35 +109,35 @@ public class IntervalReferenceOrderedViewUnitTest extends BaseTest {
public void initializeTests() {
final List<Feature> handPickedFeatures = new ArrayList<Feature>();
handPickedFeatures.add(new BasicFeature(contig, 1, 1));
handPickedFeatures.add(new BasicFeature(contig, 2, 5));
handPickedFeatures.add(new BasicFeature(contig, 4, 4));
handPickedFeatures.add(new BasicFeature(contig, 6, 6));
handPickedFeatures.add(new BasicFeature(contig, 9, 10));
handPickedFeatures.add(new BasicFeature(contig, 10, 10));
handPickedFeatures.add(new BasicFeature(contig, 10, 11));
handPickedFeatures.add(new BasicFeature(contig, 13, 20));
handPickedFeatures.add(new SimpleFeature(contig, 1, 1));
handPickedFeatures.add(new SimpleFeature(contig, 2, 5));
handPickedFeatures.add(new SimpleFeature(contig, 4, 4));
handPickedFeatures.add(new SimpleFeature(contig, 6, 6));
handPickedFeatures.add(new SimpleFeature(contig, 9, 10));
handPickedFeatures.add(new SimpleFeature(contig, 10, 10));
handPickedFeatures.add(new SimpleFeature(contig, 10, 11));
handPickedFeatures.add(new SimpleFeature(contig, 13, 20));
createTestsForFeatures(handPickedFeatures);
// test in the present of a large spanning element
{
List<Feature> oneLargeSpan = new ArrayList<Feature>(handPickedFeatures);
oneLargeSpan.add(new BasicFeature(contig, 1, 30));
oneLargeSpan.add(new SimpleFeature(contig, 1, 30));
createTestsForFeatures(oneLargeSpan);
}
// test in the presence of a partially spanning element
{
List<Feature> partialSpanStart = new ArrayList<Feature>(handPickedFeatures);
partialSpanStart.add(new BasicFeature(contig, 1, 6));
partialSpanStart.add(new SimpleFeature(contig, 1, 6));
createTestsForFeatures(partialSpanStart);
}
// test in the presence of a partially spanning element at the end
{
List<Feature> partialSpanEnd = new ArrayList<Feature>(handPickedFeatures);
partialSpanEnd.add(new BasicFeature(contig, 10, 30));
partialSpanEnd.add(new SimpleFeature(contig, 10, 30));
createTestsForFeatures(partialSpanEnd);
}

View File

@ -40,7 +40,7 @@
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>picard</groupId>
<groupId>com.github.broadinstitute</groupId>
<artifactId>picard</artifactId>
</dependency>
<!--

View File

@ -44,8 +44,8 @@
<test.listeners>org.testng.reporters.FailedReporter,org.testng.reporters.JUnitXMLReporter,org.broadinstitute.gatk.utils.TestNGTestTransformer,org.broadinstitute.gatk.utils.GATKTextReporter,org.uncommons.reportng.HTMLReporter</test.listeners>
<!-- Version numbers for picard and htsjdk -->
<htsjdk.version>1.128.1696</htsjdk.version>
<picard.version>1.128.1678</picard.version>
<htsjdk.version>1.132</htsjdk.version>
<picard.version>1.131</picard.version>
</properties>
<!-- Dependency configuration (versions, etc.) -->
@ -67,7 +67,7 @@
<version>1.0-r139</version>
</dependency>
<dependency>
<groupId>samtools</groupId>
<groupId>com.github.samtools</groupId>
<artifactId>htsjdk</artifactId>
<version>${htsjdk.version}</version>
<exclusions>
@ -82,7 +82,7 @@
</exclusions>
</dependency>
<dependency>
<groupId>picard</groupId>
<groupId>com.github.broadinstitute</groupId>
<artifactId>picard</artifactId>
<version>${picard.version}</version>
</dependency>

View File

@ -43,9 +43,9 @@ public class SplitSamFileIntegrationTest extends WalkerTest {
" --outputRoot " + prefix,
Collections.<String>emptyList()
);
addSplitOutput(spec, prefix, "NA12878", "b1a57327a3f0bdbe167dbc7d547f1247");
addSplitOutput(spec, prefix, "NA12891", "3bb331fd468fc91c548f38857473f399");
addSplitOutput(spec, prefix, "NA12892", "ac61ae9cd168ac15e3a03fe7ab51fb22");
addSplitOutput(spec, prefix, "NA12878", "ffb8a1e76798fa78c9ffe46abc02e92f");
addSplitOutput(spec, prefix, "NA12891", "42154dc36451dfe98922a579d329bbe2");
addSplitOutput(spec, prefix, "NA12892", "6abb5d11e615310987da22212dd9fc84");
executeTest("testSplitSamFile", spec);
}

View File

@ -22,7 +22,7 @@
<dependencies>
<dependency>
<groupId>samtools</groupId>
<groupId>com.github.samtools</groupId>
<artifactId>htsjdk</artifactId>
</dependency>
<dependency>

View File

@ -44,15 +44,22 @@ public class BeagleFeature implements Feature {
Allele AlleleA;
Allele AlleleB;
@Override
public String getChr() {
return getContig();
}
@Override
public String getContig() {
return chr;
}
@Override
public int getStart() {
return start;
}
@Override
public int getEnd() {
return end;
}

View File

@ -106,6 +106,14 @@ public class RawHapMapFeature implements Feature {
* @return a string representing the contig
*/
public String getChr() {
return getContig();
}
/**
* get the contig value
* @return a string representing the contig
*/
public String getContig() {
return contig;
}

View File

@ -309,14 +309,22 @@ public class RefSeqFeature implements Transcript, Feature {
this.name = name;
}
@Override
public String getChr() {
return getContig();
}
@Override
public String getContig() {
return transcript_interval.getContig();
}
@Override
public int getStart() {
return transcript_interval.getStart();
}
@Override
public int getEnd() {
return transcript_interval.getStop();
}

View File

@ -66,7 +66,13 @@ public class SAMPileupFeature implements Feature {
*/
SAMPileupFeature() {}
@Override
public String getChr() {
return getContig();
}
@Override
public String getContig() {
return contig;
}
@ -74,6 +80,7 @@ public class SAMPileupFeature implements Feature {
this.contig = chr;
}
@Override
public int getStart() {
return start;
}
@ -82,6 +89,7 @@ public class SAMPileupFeature implements Feature {
this.start = start;
}
@Override
public int getEnd() {
return stop;
}

View File

@ -150,6 +150,14 @@ public class SAMReadFeature implements Feature {
* @return Aligned contig name.
*/
public String getChr() {
return getContig();
}
/**
* An alias for getReferenceName, required by Feature interface.
* @return Aligned contig name.
*/
public String getContig() {
return getReferenceName();
}

View File

@ -53,6 +53,11 @@ public class TableFeature implements Feature {
@Override
public String getChr() {
return getContig();
}
@Override
public String getContig() {
return position.getContig();
}

View File

@ -82,7 +82,13 @@ public abstract class GATKFeature implements Feature, HasGenomeLocation {
/** Return the features reference sequence name, e.g chromosome or contig */
@Override
public String getChr() {
return feature.getChr();
return getContig();
}
/** Return the features reference sequence name, e.g chromosome or contig */
@Override
public String getContig() {
return feature.getContig();
}
/** Return the start position in 1-based coordinates (first base is 1) */

View File

@ -29,8 +29,8 @@ package org.broadinstitute.gatk.utils;
import htsjdk.samtools.SAMFileHeader;
import htsjdk.samtools.SAMSequenceDictionary;
import htsjdk.samtools.SAMSequenceRecord;
import htsjdk.tribble.BasicFeature;
import htsjdk.tribble.Feature;
import htsjdk.tribble.SimpleFeature;
import org.broadinstitute.gatk.utils.BaseTest;
import org.broadinstitute.gatk.utils.exceptions.ReviewedGATKException;
import org.broadinstitute.gatk.utils.exceptions.UserException;
@ -421,7 +421,7 @@ public class GenomeLocParserUnitTest extends BaseTest {
@Test
public void testCreationFromFeature() {
final Feature feature = new BasicFeature("chr1", 1, 5);
final Feature feature = new SimpleFeature("chr1", 1, 5);
final GenomeLoc loc = genomeLocParser.createGenomeLoc(feature);
Assert.assertEquals(loc.getContig(), feature.getChr());
Assert.assertEquals(loc.getStart(), feature.getStart());

View File

@ -1046,7 +1046,18 @@ public class IntervalUtilsUnitTest extends BaseTest {
};
}
@Test(dataProvider="invalidIntervalTestData")
/*
* This test is disabled because its assumption that we will not throw an error
* upon parsing invalid Picard intervals is no longer true, as htsjdk has added
* extra protection against invalid intervals to IntervalList.add().
*
* We should reconsider our decision in IntervalUtils.intervalFileToList() to
* silently ignore invalid intervals when parsing Picard interval files, as it's
* inconsistent with the way we handle invalid intervals for GATK interval files
* (throw a UserException, covered by testInvalidGATKFileIntervalHandling() below),
* and update this test accordingly.
*/
@Test(dataProvider="invalidIntervalTestData", enabled = false)
public void testInvalidPicardIntervalHandling(GenomeLocParser genomeLocParser,
String contig, int intervalStart, int intervalEnd ) throws Exception {

View File

@ -316,6 +316,11 @@ class FakeRODatum extends GATKFeature implements ReferenceOrderedDatum {
@Override
public String getChr() {
return getContig();
}
@Override
public String getContig() {
return location.getContig();
}

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>picard</groupId>
<artifactId>picard</artifactId>
<version>1.128.1678</version>
<name>picard</name>
<dependencies>
<dependency>
<groupId>samtools</groupId>
<artifactId>htsjdk</artifactId>
<version>1.128.1696</version>
</dependency>
<!-- TODO: Picard is using a custom zip with just ant's BZip2 classes. See also: http://www.kohsuke.org/bzip2 -->
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
<exclusions>
<exclusion>
<groupId>org.apache.ant</groupId>
<artifactId>ant-launcher</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools.jar</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</project>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>samtools</groupId>
<artifactId>htsjdk</artifactId>
<version>1.128.1696</version>
<name>htsjdk</name>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.5</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.0.3-rc3</version>
</dependency>
<!-- TODO: This artifact is only in the GATK local repo, not in central, yet. -->
<dependency>
<groupId>com.google.code.cofoja</groupId>
<artifactId>cofoja</artifactId>
<version>1.0-r139</version>
</dependency>
</dependencies>
</project>