@Test(dataProvider="singleIntervalContained") public void testQueryContainedSingleInterval( final File cramFileName, final File referenceFileName, final QueryInterval interval, final String[] expectedNames) throws IOException { doQueryTest( reader -> reader.queryContained(new QueryInterval[]{interval}), cramFileName, referenceFileName, expectedNames ); }
@Test(dataProvider="multipleIntervalContained") public void testQueryContainedMultipleIntervals( final File cramFileName, final File referenceFileName, final QueryInterval[] intervals, final String[] expectedNames) throws IOException { QueryInterval[] optimizedIntervals = QueryInterval.optimizeIntervals(intervals); Assert.assertTrue(optimizedIntervals.length > 1); doQueryTest( reader -> reader.queryContained(optimizedIntervals), cramFileName, referenceFileName, expectedNames ); }
@Test(dataProvider="singleIntervalContained") public void testQueryContainedSequence( final File cramFileName, final File referenceFileName, final QueryInterval interval, final String[] expectedNames) throws IOException { doQueryTest( reader -> reader.queryContained( reader.getFileHeader().getSequence(interval.referenceIndex).getSequenceName(), interval.start, interval.end ), cramFileName, referenceFileName, expectedNames ); }
@Test(dataProvider="otherMultipleIntervals") public void testOtherMultipleIntervals( final File cramFileName, final File referenceFileName, final QueryInterval[] intervals, final String[] expectedNames) throws IOException { QueryInterval[] optimizedIntervals = QueryInterval.optimizeIntervals(intervals); doQueryTest( reader -> reader.queryContained(optimizedIntervals), cramFileName, referenceFileName, expectedNames ); doQueryTest( reader -> reader.queryOverlapping(optimizedIntervals), cramFileName, referenceFileName, expectedNames ); }
final SamReader bamReader = SamReaderFactory.makeDefault().open(bamFile); SamFiles.findIndex(bamFile).deleteOnExit(); Assert.assertEquals(countElements(bamReader.queryContained("chr7", 100, 100)), 1); Assert.assertEquals(countElements(bamReader.queryOverlapping("chr7", 100, 100)), 2); bamReader.close();