diff --git a/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/indels/RealignerTargetCreator.java b/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/indels/RealignerTargetCreator.java index 06a4cea91..a5354831a 100644 --- a/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/indels/RealignerTargetCreator.java +++ b/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/indels/RealignerTargetCreator.java @@ -51,6 +51,11 @@ package org.broadinstitute.gatk.tools.walkers.indels; +import htsjdk.samtools.SAMFileHeader; +import htsjdk.samtools.util.IOUtil; +import htsjdk.samtools.util.Interval; +import htsjdk.samtools.util.IntervalList; +import org.apache.commons.io.FilenameUtils; import org.broadinstitute.gatk.engine.walkers.*; import org.broadinstitute.gatk.utils.commandline.Argument; import org.broadinstitute.gatk.utils.commandline.Input; @@ -61,6 +66,7 @@ import org.broadinstitute.gatk.utils.contexts.AlignmentContext; import org.broadinstitute.gatk.utils.contexts.ReferenceContext; import org.broadinstitute.gatk.engine.filters.*; import org.broadinstitute.gatk.engine.iterators.ReadTransformer; +import org.broadinstitute.gatk.utils.exceptions.GATKException; import org.broadinstitute.gatk.utils.refdata.RefMetaDataTracker; import org.broadinstitute.gatk.utils.GenomeLoc; import org.broadinstitute.gatk.utils.exceptions.UserException; @@ -70,7 +76,9 @@ import org.broadinstitute.gatk.utils.pileup.PileupElement; import org.broadinstitute.gatk.utils.pileup.ReadBackedPileup; import htsjdk.variant.variantcontext.VariantContext; -import java.io.PrintStream; +import java.io.BufferedWriter; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -143,7 +151,7 @@ public class RealignerTargetCreator extends RodWalker md5 = Collections.emptyList(); + final File targetListFile = createTempFile("RTCTest", ".targets"); + final File intervalListFile = createTempFile("RTCTest", ".interval_list"); + + WalkerTest.WalkerTestSpec targetListSpec = new WalkerTest.WalkerTestSpec(arguments, 1, md5); + WalkerTest.WalkerTestSpec intervalListSpec = new WalkerTest.WalkerTestSpec(arguments, 1, md5); + + targetListSpec.setOutputFileLocation(targetListFile); + intervalListSpec.setOutputFileLocation(intervalListFile); + + executeTest(testName + " (compare target-list and interval-list output)", targetListSpec); + executeTest(testName + " (compare target-list and interval-list output)", intervalListSpec); + + final ReferenceSequenceFile seq = new CachingIndexedFastaSequenceFile(new File(BaseTest.hg19Reference)); + final GenomeLocParser hg19GenomeLocParser = new GenomeLocParser(seq); + final List targetList = IntervalUtils.intervalFileToList(hg19GenomeLocParser, + targetListFile.getAbsolutePath()); + final List targetListResult = new ArrayList<>(); + for ( GenomeLoc target : targetList ) { + targetListResult.add(new Interval(target.getContig(), target.getStart(), target.getStop())); + } + + final List intervalListResult = IntervalList.fromFile(intervalListFile).getIntervals(); + + Assert.assertFalse(targetListResult.isEmpty()); + Assert.assertFalse(intervalListResult.isEmpty()); + Assert.assertEquals(targetListResult, intervalListResult); + } }