@Override public void close() throws IOException{ if(this.reader != null) { this.reader.close(); } this.reader = null; }
public void close() throws IOException { if (reader != null) { reader.close(); } }
public void close() throws IOException { if (samReader != null) { samReader.close(); } }
@Override public boolean close() { try { reader.close(); } catch (IOException e) { throw new UncheckedIOException(e); } return true; }
@Test(dataProvider = "variousFormatReaderTestCases") public void variousFormatReaderTest(final String inputFile) throws IOException { final File input = new File(TEST_DATA_DIR, inputFile); final SamReader reader = SamReaderFactory.makeDefault().open(input); for (final SAMRecord ignored : reader) { } reader.close(); }
public static SAMFileHeader getFileHeader(Path input) throws IOException { FileUtils.checkFile(input); SamReaderFactory srf = SamReaderFactory.make(); srf.validationStringency(ValidationStringency.LENIENT); SamReader reader = srf.open(SamInputResource.of(input.toFile())); SAMFileHeader fileHeader = reader.getFileHeader(); reader.close(); return fileHeader; }
private long getReadCount(FilterSamReads filterTest) throws Exception { final SamReader samReader = SamReaderFactory.makeDefault().open(filterTest.OUTPUT); long count = StreamSupport.stream(samReader.spliterator(), false) .count(); samReader.close(); return count; } }
@Test public void testBasic() throws Exception { final SAMRecordSetBuilder recordSetBuilder = getSAMReader(true, SAMFileHeader.SortOrder.coordinate); SamReader inputSAM = recordSetBuilder.getSamReader(); for (final SAMRecord samRecord : inputSAM) { SAMRecord newRecord = (SAMRecord) samRecord.clone(); Assert.assertEquals(newRecord, samRecord); } inputSAM.close(); } }
/** generates the index file using the latest java index generating code */ private File createIndexFile(File bamFile) throws IOException { final File bamIndexFile = File.createTempFile("Bai.", ".bai"); final SamReader bam = SamReaderFactory.makeDefault().open(bamFile); BAMIndexer.createIndex(bam, bamIndexFile.toPath()); verbose("Wrote BAM Index file " + bamIndexFile); bam.close(); return bamIndexFile; }
private static void assertSortOrdersAreEqual(final SAMFileHeader newHeader, final File inputFile) throws IOException { final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); final SAMFileHeader origHeader = reader.getFileHeader(); final SAMFileHeader.SortOrder newSortOrder = newHeader.getSortOrder(); if (newSortOrder != SAMFileHeader.SortOrder.unsorted && newSortOrder != origHeader.getSortOrder()) { throw new SAMException("Sort order of new header does not match the original file, needs to be " + origHeader.getSortOrder()); } reader.close(); } }
@Test(dataProvider = "serializationTestData") public void testSAMRecordSerialization( final File inputFile ) throws Exception { final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); final SAMRecord initialSAMRecord = reader.iterator().next(); reader.close(); final SAMRecord deserializedSAMRecord = TestUtil.serializeAndDeserialize(initialSAMRecord); Assert.assertEquals(deserializedSAMRecord, initialSAMRecord, "Deserialized SAMRecord not equal to original SAMRecord"); }
private static void assertSortOrdersAreEqual(final SAMFileHeader newHeader, final File inputFile) throws IOException { final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); final SAMFileHeader origHeader = reader.getFileHeader(); final SAMFileHeader.SortOrder newSortOrder = newHeader.getSortOrder(); if (newSortOrder != SAMFileHeader.SortOrder.unsorted && newSortOrder != origHeader.getSortOrder()) { throw new SAMException("Sort order of new header does not match the original file, needs to be " + origHeader.getSortOrder()); } reader.close(); } }
@Test(dataProvider = "queryIntervalIssue76TestCases") public void queryIntervalIssue76(final String sequenceName, final int start, final int end, final int expectedCount) throws IOException { final File input = new File(TEST_DATA_DIR, "issue76.bam"); final SamReader reader = SamReaderFactory.makeDefault().open(input); final QueryInterval interval = new QueryInterval(reader.getFileHeader().getSequence(sequenceName).getSequenceIndex(), start, end); Assert.assertEquals(countRecordsInQueryInterval(reader, interval), expectedCount); reader.close(); }
@Test(dataProvider = "serializationTestData") public void testNullHeaderSerialization(final File inputFile) throws Exception { final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); final SAMRecord initialSAMRecord = reader.iterator().next(); reader.close(); initialSAMRecord.setHeader(null); final SAMRecord deserializedSAMRecord = TestUtil.serializeAndDeserialize(initialSAMRecord); Assert.assertEquals(deserializedSAMRecord, initialSAMRecord, "Deserialized SAMRecord not equal to original SAMRecord"); }
@Test public void testBAMHeaderReaderNoReference() throws Exception { final Configuration conf = new Configuration(); InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("test.bam"); final SamReader samReader = SamReaderFactory.makeDefault().open(SamInputResource.of(inputStream)); int sequenceCount = samReader.getFileHeader().getSequenceDictionary().size(); samReader.close(); inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("test.bam"); SAMFileHeader samHeader = SAMHeaderReader.readSAMHeaderFrom(inputStream, conf); inputStream.close(); assertEquals(samHeader.getSequenceDictionary().size(), sequenceCount); }
private List<String> getReferenceNames(final URL bamFile) throws IOException { final SamReader reader = SamReaderFactory.makeDefault().open(SamInputResource.of(bamFile.openStream())); final List<String> result = new ArrayList<String>(); final List<SAMSequenceRecord> seqRecords = reader.getFileHeader().getSequenceDictionary().getSequences(); for (final SAMSequenceRecord seqRecord : seqRecords) { if (seqRecord.getSequenceName() != null) { result.add(seqRecord.getSequenceName()); } } reader.close(); return result; }
@BeforeClass public void init() throws IOException { final SamReader reader = SamReaderFactory.makeDefault().enable(SamReaderFactory.Option.CACHE_FILE_BASED_INDEXES).open(bamFile); sequenceDictionary = reader.getFileHeader().getSequenceDictionary(); reader.close(); bamIndex = new GATKBAMIndexFromFile(bamIndexFile, sequenceDictionary); }
@BeforeClass public void init() throws IOException { final SamReader reader = SamReaderFactory.makeDefault().enable(SamReaderFactory.Option.CACHE_FILE_BASED_INDEXES).open(bamFile); Assert.assertTrue(reader.hasIndex()); Assert.assertTrue(reader.indexing().hasBrowseableIndex()); bamIndex = new GATKBAMIndexFromDataSource(bamFile, reader.getFileHeader(), reader.indexing().getBrowseableIndex()); reader.close(); }
public void timeDecompressBamFile(int reps) throws IOException { for(int i = 0; i < reps; i++) { final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); CloseableIterator<SAMRecord> iterator = reader.iterator(); while(iterator.hasNext()) iterator.next(); iterator.close(); reader.close(); } }
public void timeExtractTag(int reps) throws IOException { for(int i = 0; i < reps; i++) { final SamReader reader = SamReaderFactory.makeDefault().open(inputFile); CloseableIterator<SAMRecord> iterator = reader.iterator(); while(iterator.hasNext()) { SAMRecord read = iterator.next(); read.getAttribute("OQ"); } iterator.close(); reader.close(); } }