diff --git a/public/java/test/org/broadinstitute/sting/gatk/GenomeAnalysisEngineUnitTest.java b/public/java/test/org/broadinstitute/sting/gatk/GenomeAnalysisEngineUnitTest.java index 1e4625bf0..3a6d88264 100644 --- a/public/java/test/org/broadinstitute/sting/gatk/GenomeAnalysisEngineUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/GenomeAnalysisEngineUnitTest.java @@ -28,24 +28,25 @@ import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.picard.util.Interval; import net.sf.picard.util.IntervalList; import net.sf.samtools.SAMFileHeader; +import org.broad.tribble.Feature; import org.broadinstitute.sting.BaseTest; import org.broadinstitute.sting.commandline.ArgumentException; +import org.broadinstitute.sting.commandline.IntervalBinding; import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; import org.broadinstitute.sting.commandline.Tags; import org.broadinstitute.sting.gatk.walkers.PrintReadsWalker; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.GenomeLocSortedSet; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.interval.IntervalSetRule; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.io.File; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -72,7 +73,7 @@ public class GenomeAnalysisEngineUnitTest extends BaseTest { GenomeAnalysisEngine testEngine = new GenomeAnalysisEngine(); Collection samFiles = new ArrayList(); - samFiles.add(new SAMReaderID(new File("public/testdata/exampleBAM.bam"), new Tags())); + samFiles.add(new SAMReaderID(new File("public/testdata/exampleBAM.bam"), new Tags())); samFiles.add(new SAMReaderID(new File("public/testdata/exampleNORG.bam"), new Tags())); samFiles.add(new SAMReaderID(new File("public/testdata/exampleBAM.bam"), new Tags())); samFiles.add(new SAMReaderID(new File("public/testdata/exampleNORG.bam"), new Tags())); @@ -108,16 +109,6 @@ public class GenomeAnalysisEngineUnitTest extends BaseTest { }; } - @Test(expectedExceptions=UserException.class, dataProvider="invalidIntervalTestData") - public void testInvalidRODIntervalHandling(GenomeAnalysisEngine testEngine, GenomeLocParser genomeLocParser, - String contig, int intervalStart, int intervalEnd ) throws Exception { - - List intervalArgs = new ArrayList(); - List rodIntervals = Arrays.asList(genomeLocParser.createGenomeLoc(contig, intervalStart, intervalEnd, true)); - - testEngine.loadIntervals(intervalArgs, rodIntervals); - } - @Test(expectedExceptions=UserException.class, dataProvider="invalidIntervalTestData") public void testInvalidBedIntervalHandling(GenomeAnalysisEngine testEngine, GenomeLocParser genomeLocParser, String contig, int intervalStart, int intervalEnd ) throws Exception { @@ -126,10 +117,10 @@ public class GenomeAnalysisEngineUnitTest extends BaseTest { File bedFile = createTempFile("testInvalidBedIntervalHandling", ".bed", String.format("%s %d %d", contig, intervalStart -1, intervalEnd)); - List intervalArgs = Arrays.asList(bedFile.getAbsolutePath()); - List rodIntervals = new ArrayList(); + List> intervalArgs = new ArrayList>(1); + intervalArgs.add(new IntervalBinding(bedFile.getAbsolutePath())); - testEngine.loadIntervals(intervalArgs, rodIntervals); + testEngine.loadIntervals(intervalArgs, IntervalSetRule.UNION); } @Test(expectedExceptions=UserException.class, dataProvider="invalidIntervalTestData") @@ -144,10 +135,10 @@ public class GenomeAnalysisEngineUnitTest extends BaseTest { File picardIntervalFile = createTempFile("testInvalidPicardIntervalHandling", ".intervals"); picardIntervals.write(picardIntervalFile); - List intervalArgs = Arrays.asList(picardIntervalFile.getAbsolutePath()); - List rodIntervals = new ArrayList(); + List> intervalArgs = new ArrayList>(1); + intervalArgs.add(new IntervalBinding(picardIntervalFile.getAbsolutePath())); - testEngine.loadIntervals(intervalArgs, rodIntervals); + testEngine.loadIntervals(intervalArgs, IntervalSetRule.UNION); } @Test(expectedExceptions=UserException.class, dataProvider="invalidIntervalTestData") @@ -157,10 +148,10 @@ public class GenomeAnalysisEngineUnitTest extends BaseTest { File gatkIntervalFile = createTempFile("testInvalidGATKFileIntervalHandling", ".intervals", String.format("%s:%d-%d", contig, intervalStart, intervalEnd)); - List intervalArgs = Arrays.asList(gatkIntervalFile.getAbsolutePath()); - List rodIntervals = new ArrayList(); + List> intervalArgs = new ArrayList>(1); + intervalArgs.add(new IntervalBinding(gatkIntervalFile.getAbsolutePath())); - testEngine.loadIntervals(intervalArgs, rodIntervals); + testEngine.loadIntervals(intervalArgs, IntervalSetRule.UNION); } private File createTempFile( String tempFilePrefix, String tempFileExtension, String... lines ) throws Exception { diff --git a/public/java/test/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollectionUnitTest.java b/public/java/test/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollectionUnitTest.java index 3a242cb13..f37890ee3 100755 --- a/public/java/test/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollectionUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollectionUnitTest.java @@ -1,6 +1,8 @@ package org.broadinstitute.sting.gatk.arguments; +import org.broad.tribble.Feature; import org.broadinstitute.sting.BaseTest; +import org.broadinstitute.sting.commandline.IntervalBinding; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -84,9 +86,9 @@ public class GATKArgumentCollectionUnitTest extends BaseTest { collect.unsafe = ValidationExclusion.TYPE.ALL; collect.downsampleFraction = null; collect.downsampleCoverage = null; - collect.intervals = new ArrayList(); - collect.intervals.add("intervals".toLowerCase()); - collect.excludeIntervals = new ArrayList(); + collect.intervals = new ArrayList>(); + collect.intervals.add(new IntervalBinding("intervals".toLowerCase())); + collect.excludeIntervals = new ArrayList>(); collect.numberOfThreads = 1; } diff --git a/public/java/test/org/broadinstitute/sting/utils/interval/IntervalIntegrationTest.java b/public/java/test/org/broadinstitute/sting/utils/interval/IntervalIntegrationTest.java index 379d79c84..1431a80f3 100644 --- a/public/java/test/org/broadinstitute/sting/utils/interval/IntervalIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/interval/IntervalIntegrationTest.java @@ -48,19 +48,20 @@ public class IntervalIntegrationTest extends WalkerTest { executeTest("testAllIntervalsImplicit",spec); } - @Test(enabled = true) - public void testAllExplicitIntervalParsing() { - String md5 = "7821db9e14d4f8e07029ff1959cd5a99"; - WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( - "-T CountLoci" + - " -I " + validationDataLocation + "OV-0930.normal.chunk.bam" + - " -R " + hg18Reference + - " -L all" + - " -o %s", - 1, // just one output file - Arrays.asList(md5)); - executeTest("testAllIntervalsExplicit",spec); - } +// '-L all' is no longer supported +// @Test(enabled = true) +// public void testAllExplicitIntervalParsing() { +// String md5 = "7821db9e14d4f8e07029ff1959cd5a99"; +// WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( +// "-T CountLoci" + +// " -I " + validationDataLocation + "OV-0930.normal.chunk.bam" + +// " -R " + hg18Reference + +// " -L all" + +// " -o %s", +// 1, // just one output file +// Arrays.asList(md5)); +// executeTest("testAllIntervalsExplicit",spec); +// } @Test public void testUnmappedReadInclusion() { @@ -102,5 +103,62 @@ public class IntervalIntegrationTest extends WalkerTest { executeTest("testUnmappedReadExclusion",spec); } + @Test(enabled = true) + public void testIntervalParsingFromFile() { + String md5 = "48a24b70a0b376535542b996af517398"; + WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( + "-T CountLoci" + + " -I " + validationDataLocation + "OV-0930.normal.chunk.bam" + + " -R " + hg18Reference + + " -o %s" + + " -L " + validationDataLocation + "intervalTest.1.vcf", + 1, // just one output file + Arrays.asList(md5)); + executeTest("testIntervalParsingFromFile", spec); + } + @Test(enabled = true) + public void testIntervalMergingFromFiles() { + String md5 = "9ae0ea9e3c9c6e1b9b6252c8395efdc1"; + WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( + "-T CountLoci" + + " -I " + validationDataLocation + "OV-0930.normal.chunk.bam" + + " -R " + hg18Reference + + " -o %s" + + " -L " + validationDataLocation + "intervalTest.1.vcf" + + " -L " + validationDataLocation + "intervalTest.2.vcf", + 1, // just one output file + Arrays.asList(md5)); + executeTest("testIntervalMergingFromFiles", spec); + } + + @Test(enabled = true) + public void testIntervalExclusionsFromFiles() { + String md5 = "26ab0db90d72e28ad0ba1e22ee510510"; + WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( + "-T CountLoci" + + " -I " + validationDataLocation + "OV-0930.normal.chunk.bam" + + " -R " + hg18Reference + + " -o %s" + + " -L " + validationDataLocation + "intervalTest.1.vcf" + + " -XL " + validationDataLocation + "intervalTest.2.vcf", + 1, // just one output file + Arrays.asList(md5)); + executeTest("testIntervalExclusionsFromFiles", spec); + } + + @Test(enabled = true) + public void testMixedIntervalMerging() { + String md5 = "7c5aba41f53293b712fd86d08ed5b36e"; + WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec( + "-T CountLoci" + + " -I " + validationDataLocation + "OV-0930.normal.chunk.bam" + + " -R " + hg18Reference + + " -o %s" + + " -L " + validationDataLocation + "intervalTest.1.vcf" + + " -L chr1:1677524-1677528", + 1, // just one output file + Arrays.asList(md5)); + executeTest("testMixedIntervalMerging", spec); + } } diff --git a/public/java/test/org/broadinstitute/sting/utils/interval/IntervalUtilsUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/interval/IntervalUtilsUnitTest.java index 98b878d23..8794e03c6 100644 --- a/public/java/test/org/broadinstitute/sting/utils/interval/IntervalUtilsUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/interval/IntervalUtilsUnitTest.java @@ -69,7 +69,7 @@ public class IntervalUtilsUnitTest extends BaseTest { hg19GenomeLocParser = new GenomeLocParser(seq); hg19ReferenceLocs = Collections.unmodifiableList(GenomeLocSortedSet.createSetFromSequenceDictionary(referenceDataSource.getReference().getSequenceDictionary()).toList()) ; - hg19exomeIntervals = Collections.unmodifiableList(IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(hg19Intervals), false)); + hg19exomeIntervals = Collections.unmodifiableList(IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(hg19Intervals))); } catch(FileNotFoundException ex) { throw new UserException.CouldNotReadInputFile(hg19Ref,ex); @@ -235,9 +235,9 @@ public class IntervalUtilsUnitTest extends BaseTest { List> splits = IntervalUtils.splitFixedIntervals(locs, files.size()); IntervalUtils.scatterFixedIntervals(hg18Header, splits, files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -261,9 +261,9 @@ public class IntervalUtilsUnitTest extends BaseTest { List> splits = IntervalUtils.splitFixedIntervals(locs, files.size()); IntervalUtils.scatterFixedIntervals(hg18Header, splits, files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -303,9 +303,9 @@ public class IntervalUtilsUnitTest extends BaseTest { List> splits = IntervalUtils.splitFixedIntervals(locs, files.size()); IntervalUtils.scatterFixedIntervals(hg18Header, splits, files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -331,9 +331,9 @@ public class IntervalUtilsUnitTest extends BaseTest { List> splits = IntervalUtils.splitFixedIntervals(locs, files.size()); IntervalUtils.scatterFixedIntervals(hg18Header, splits, files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -359,9 +359,9 @@ public class IntervalUtilsUnitTest extends BaseTest { List> splits = IntervalUtils.splitFixedIntervals(locs, files.size()); IntervalUtils.scatterFixedIntervals(hg18Header, splits, files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 2); Assert.assertEquals(locs2.size(), 1); @@ -376,7 +376,7 @@ public class IntervalUtilsUnitTest extends BaseTest { @Test public void testScatterFixedIntervalsFile() { List files = testFiles("sg.", 20, ".intervals"); - List locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(BaseTest.GATKDataLocation + "whole_exome_agilent_designed_120.targets.hg18.chr20.interval_list"), false); + List locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(BaseTest.GATKDataLocation + "whole_exome_agilent_designed_120.targets.hg18.chr20.interval_list")); List> splits = IntervalUtils.splitFixedIntervals(locs, files.size()); int[] counts = { @@ -401,7 +401,7 @@ public class IntervalUtilsUnitTest extends BaseTest { int locIndex = 0; for (int i = 0; i < files.size(); i++) { String file = files.get(i).toString(); - List parsedLocs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(file), false); + List parsedLocs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(file)); Assert.assertEquals(parsedLocs.size(), counts[i], "Intervals in " + file); for (GenomeLoc parsedLoc: parsedLocs) Assert.assertEquals(parsedLoc, locs.get(locIndex), String.format("Genome loc %d from file %d", locIndex++, i)); @@ -417,7 +417,7 @@ public class IntervalUtilsUnitTest extends BaseTest { for (int i = 0; i < files.size(); i++) { String file = files.get(i).toString(); - List parsedLocs = IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(file), false); + List parsedLocs = IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(file)); Assert.assertEquals(parsedLocs.size(), 1, "parsedLocs[" + i + "].size()"); Assert.assertEquals(parsedLocs.get(0), hg19ReferenceLocs.get(i), "parsedLocs[" + i + "].get()"); } @@ -434,9 +434,9 @@ public class IntervalUtilsUnitTest extends BaseTest { IntervalUtils.scatterContigIntervals(hg18Header, getLocs(intervals), files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -457,9 +457,9 @@ public class IntervalUtilsUnitTest extends BaseTest { IntervalUtils.scatterContigIntervals(hg18Header, getLocs("chr1", "chr2", "chr3"), files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -481,9 +481,9 @@ public class IntervalUtilsUnitTest extends BaseTest { IntervalUtils.scatterContigIntervals(hg18Header, getLocs("chr1", "chr2", "chr3", "chr4"), files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -513,9 +513,9 @@ public class IntervalUtilsUnitTest extends BaseTest { IntervalUtils.scatterContigIntervals(hg18Header, getLocs(intervals), files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 2); Assert.assertEquals(locs2.size(), 1); @@ -539,9 +539,9 @@ public class IntervalUtilsUnitTest extends BaseTest { IntervalUtils.scatterContigIntervals(hg18Header, getLocs(intervals), files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 2); @@ -565,9 +565,9 @@ public class IntervalUtilsUnitTest extends BaseTest { IntervalUtils.scatterContigIntervals(hg18Header, getLocs(intervals), files); - List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false); - List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false); - List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false); + List locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString())); + List locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString())); + List locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString())); Assert.assertEquals(locs1.size(), 1); Assert.assertEquals(locs2.size(), 1); @@ -586,7 +586,7 @@ public class IntervalUtilsUnitTest extends BaseTest { for (int i = 0; i < files.size(); i++) { String file = files.get(i).toString(); - List parsedLocs = IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(file), false); + List parsedLocs = IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(file)); Assert.assertEquals(parsedLocs.size(), 1, "parsedLocs[" + i + "].size()"); Assert.assertEquals(parsedLocs.get(0), hg19ReferenceLocs.get(i), "parsedLocs[" + i + "].get()"); } @@ -610,7 +610,7 @@ public class IntervalUtilsUnitTest extends BaseTest { @Test(dataProvider="unmergedIntervals") public void testUnmergedIntervals(String unmergedIntervals) { - List locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Collections.singletonList(validationDataLocation + unmergedIntervals), false); + List locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Collections.singletonList(validationDataLocation + unmergedIntervals)); Assert.assertEquals(locs.size(), 2); List merged = IntervalUtils.mergeIntervalLocations(locs, IntervalMergingRule.ALL); diff --git a/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKIntervals.scala b/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKIntervals.scala index 0fb997f43..9e47f64a1 100755 --- a/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKIntervals.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKIntervals.scala @@ -48,7 +48,7 @@ case class GATKIntervals(reference: File, intervals: List[String]) { if (intervals.isEmpty) GenomeLocSortedSet.createSetFromSequenceDictionary(samFileHeader.getSequenceDictionary).toList else - IntervalUtils.parseIntervalArguments(parser, intervals, false) + IntervalUtils.parseIntervalArguments(parser, intervals) Collections.sort(parsedLocs) Collections.unmodifiableList(parsedLocs) } diff --git a/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKScatterFunction.scala b/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKScatterFunction.scala index 32e58ca6a..98392e493 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKScatterFunction.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/extensions/gatk/GATKScatterFunction.scala @@ -69,8 +69,6 @@ trait GATKScatterFunction extends ScatterFunction { } override def isScatterGatherable = { - if (this.originalGATK.BTI != null && this.originalGATK.BTIMR == null) - throw new IllegalArgumentException("BTI requires BTIMR for use with scatter-gather (recommended: INTERSECTION)") this.originalGATK.reference_sequence != null }