Added integration tests for Tribble-based intervals and fixed up some of the other tests based on some method changes.
This commit is contained in:
parent
9424e8b2ca
commit
3273c20c98
|
|
@ -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<SAMReaderID> samFiles = new ArrayList<SAMReaderID>();
|
||||
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<String> intervalArgs = new ArrayList<String>();
|
||||
List<GenomeLoc> 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<String> intervalArgs = Arrays.asList(bedFile.getAbsolutePath());
|
||||
List<GenomeLoc> rodIntervals = new ArrayList<GenomeLoc>();
|
||||
List<IntervalBinding<Feature>> intervalArgs = new ArrayList<IntervalBinding<Feature>>(1);
|
||||
intervalArgs.add(new IntervalBinding<Feature>(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<String> intervalArgs = Arrays.asList(picardIntervalFile.getAbsolutePath());
|
||||
List<GenomeLoc> rodIntervals = new ArrayList<GenomeLoc>();
|
||||
List<IntervalBinding<Feature>> intervalArgs = new ArrayList<IntervalBinding<Feature>>(1);
|
||||
intervalArgs.add(new IntervalBinding<Feature>(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<String> intervalArgs = Arrays.asList(gatkIntervalFile.getAbsolutePath());
|
||||
List<GenomeLoc> rodIntervals = new ArrayList<GenomeLoc>();
|
||||
List<IntervalBinding<Feature>> intervalArgs = new ArrayList<IntervalBinding<Feature>>(1);
|
||||
intervalArgs.add(new IntervalBinding<Feature>(gatkIntervalFile.getAbsolutePath()));
|
||||
|
||||
testEngine.loadIntervals(intervalArgs, rodIntervals);
|
||||
testEngine.loadIntervals(intervalArgs, IntervalSetRule.UNION);
|
||||
}
|
||||
|
||||
private File createTempFile( String tempFilePrefix, String tempFileExtension, String... lines ) throws Exception {
|
||||
|
|
|
|||
|
|
@ -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<String>();
|
||||
collect.intervals.add("intervals".toLowerCase());
|
||||
collect.excludeIntervals = new ArrayList<String>();
|
||||
collect.intervals = new ArrayList<IntervalBinding<Feature>>();
|
||||
collect.intervals.add(new IntervalBinding<Feature>("intervals".toLowerCase()));
|
||||
collect.excludeIntervals = new ArrayList<IntervalBinding<Feature>>();
|
||||
collect.numberOfThreads = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<List<GenomeLoc>> splits = IntervalUtils.splitFixedIntervals(locs, files.size());
|
||||
IntervalUtils.scatterFixedIntervals(hg18Header, splits, files);
|
||||
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<List<GenomeLoc>> splits = IntervalUtils.splitFixedIntervals(locs, files.size());
|
||||
IntervalUtils.scatterFixedIntervals(hg18Header, splits, files);
|
||||
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<List<GenomeLoc>> splits = IntervalUtils.splitFixedIntervals(locs, files.size());
|
||||
IntervalUtils.scatterFixedIntervals(hg18Header, splits, files);
|
||||
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<List<GenomeLoc>> splits = IntervalUtils.splitFixedIntervals(locs, files.size());
|
||||
IntervalUtils.scatterFixedIntervals(hg18Header, splits, files);
|
||||
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<List<GenomeLoc>> splits = IntervalUtils.splitFixedIntervals(locs, files.size());
|
||||
IntervalUtils.scatterFixedIntervals(hg18Header, splits, files);
|
||||
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<File> files = testFiles("sg.", 20, ".intervals");
|
||||
List<GenomeLoc> locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(BaseTest.GATKDataLocation + "whole_exome_agilent_designed_120.targets.hg18.chr20.interval_list"), false);
|
||||
List<GenomeLoc> locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(BaseTest.GATKDataLocation + "whole_exome_agilent_designed_120.targets.hg18.chr20.interval_list"));
|
||||
List<List<GenomeLoc>> 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<GenomeLoc> parsedLocs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(file), false);
|
||||
List<GenomeLoc> 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<GenomeLoc> parsedLocs = IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(file), false);
|
||||
List<GenomeLoc> 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<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()), false);
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()), false);
|
||||
List<GenomeLoc> locs3 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(2).toString()), false);
|
||||
List<GenomeLoc> locs1 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(0).toString()));
|
||||
List<GenomeLoc> locs2 = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Arrays.asList(files.get(1).toString()));
|
||||
List<GenomeLoc> 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<GenomeLoc> parsedLocs = IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, Arrays.asList(file), false);
|
||||
List<GenomeLoc> 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<GenomeLoc> locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Collections.singletonList(validationDataLocation + unmergedIntervals), false);
|
||||
List<GenomeLoc> locs = IntervalUtils.parseIntervalArguments(hg18GenomeLocParser, Collections.singletonList(validationDataLocation + unmergedIntervals));
|
||||
Assert.assertEquals(locs.size(), 2);
|
||||
|
||||
List<GenomeLoc> merged = IntervalUtils.mergeIntervalLocations(locs, IntervalMergingRule.ALL);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue