private void nextReference() { if (!hasMoreReferences) { throw new NoSuchElementException("Cannot get next reference - already at last one"); } try { alignedIterator = null; hasMoreAlignments = false; hasMoreReferences = referencesChunksIterator.hasNext(); if (!hasMoreReferences) { return; } currentReference++; Chunk refChunk = referencesChunksIterator.next(); if (refChunk == null) { return; } Reference reference = cachedReferences.get(currentReference); alignedIterator = reference.getFilteredAlignmentSlice( refChunk.getChunkStart(), refChunk.getChunkEnd() - refChunk.getChunkStart(), Alignment.all, Alignment.startWithinSlice | Alignment.passDuplicates | Alignment.passFailed, 0); hasMoreAlignments = alignedIterator.nextAlignment(); } catch (ErrorMsg e) { throw new RuntimeException(e); } }
public SRAFileReader(final SRAAccession acc) { this.acc = acc; if (!acc.isValid()) { throw new IllegalArgumentException("SRAFileReader: cannot resolve SRA accession '" + acc + "'\n" + "Possible causes are an invalid SRA accession or a connection problem."); } try { run = gov.nih.nlm.ncbi.ngs.NGS.openReadCollection(acc.toString()); virtualHeader = loadSamHeader(); } catch (final Exception e) { throw new RuntimeException(e); } cachedReferences = new ReferenceCache(run, virtualHeader); recordRangeInfo = SRAIterator.getRecordsRangeInfo(run); index = new SRAIndex(virtualHeader, recordRangeInfo); }
public SRAFileReader(final SRAAccession acc) { this.acc = acc; if (!acc.isValid()) { throw new IllegalArgumentException("SRAFileReader: cannot resolve SRA accession '" + acc + "'\n" + "Possible causes are an invalid SRA accession or a connection problem."); } try { run = gov.nih.nlm.ncbi.ngs.NGS.openReadCollection(acc.toString()); virtualHeader = loadSamHeader(); } catch (final Exception e) { throw new RuntimeException(e); } cachedReferences = new ReferenceCache(run, virtualHeader); recordRangeInfo = SRAIterator.getRecordsRangeInfo(run); index = new SRAIndex(virtualHeader, recordRangeInfo); }
private void nextReference() { if (!hasMoreReferences) { throw new NoSuchElementException("Cannot get next reference - already at last one"); } try { alignedIterator = null; hasMoreAlignments = false; hasMoreReferences = referencesChunksIterator.hasNext(); if (!hasMoreReferences) { return; } currentReference++; Chunk refChunk = referencesChunksIterator.next(); if (refChunk == null) { return; } Reference reference = cachedReferences.get(currentReference); alignedIterator = reference.getFilteredAlignmentSlice( refChunk.getChunkStart(), refChunk.getChunkEnd() - refChunk.getChunkStart(), Alignment.all, Alignment.startWithinSlice | Alignment.passDuplicates | Alignment.passFailed, 0); hasMoreAlignments = alignedIterator.nextAlignment(); } catch (ErrorMsg e) { throw new RuntimeException(e); } }