@Test public void testQueryUnmapped() throws IOException { try (final SamReader samReader = SamReaderFactory.makeDefault().open(BAM_FILE); final SAMRecordIterator unmappedSamIterator = samReader.queryUnmapped()) { CRAMFileReader reader = new CRAMFileReader( new ByteArraySeekableStream(cramBytes), new ByteArraySeekableStream(craiBytes), source, ValidationStringency.STRICT); int counter = 0; CloseableIterator<SAMRecord> unmappedCramIterator = reader.queryUnmapped(); while (unmappedSamIterator.hasNext()) { Assert.assertTrue(unmappedCramIterator.hasNext()); SAMRecord r1 = unmappedSamIterator.next(); SAMRecord r2 = unmappedCramIterator.next(); Assert.assertEquals(r1.getReadName(), r2.getReadName()); Assert.assertEquals(r1.getBaseQualityString(), r2.getBaseQualityString()); counter++; } Assert.assertFalse(unmappedCramIterator.hasNext()); Assert.assertEquals(counter, nofUnmappedReads); } }
@Test public void scanAllUnmappedReads() throws IOException { SamReader samReader = SamReaderFactory.makeDefault().open(BAM_FILE); CRAMFileReader reader = new CRAMFileReader(new ByteArraySeekableStream(cramBytes), new ByteArraySeekableStream(baiBytes), source, ValidationStringency.SILENT); reader.setValidationStringency(ValidationStringency.SILENT); int counter = 0; SAMRecordIterator unmappedSamIterator = samReader.queryUnmapped(); CloseableIterator<SAMRecord> unmappedCramIterator = reader.queryUnmapped(); while (unmappedSamIterator.hasNext()) { Assert.assertTrue(unmappedCramIterator.hasNext()); SAMRecord r1 = unmappedSamIterator.next(); SAMRecord r2 = unmappedCramIterator.next(); Assert.assertEquals(r1.getReadName(), r2.getReadName()); Assert.assertEquals(r1.getBaseQualityString(), r2.getBaseQualityString()); counter++; } Assert.assertFalse(unmappedCramIterator.hasNext()); Assert.assertEquals(counter, nofUnmappedReads); reader.close(); }