public BAMShardIndexer(OutputStream output, SAMFileHeader header, int reference) { indexBuilder = new BAMIndexBuilder(header.getSequenceDictionary(), reference); final boolean isFirstIndexShard = reference == 0; final int numReferencesToWriteInTheHeader = isFirstIndexShard ? header.getSequenceDictionary().size() : 0; outputWriter = new BinaryBAMShardIndexWriter(numReferencesToWriteInTheHeader, output); this.referenceIndex = reference; }
/** * Finalizes writing and closes the file. * @return count of records with no coordinates. */ public long finish() { final BAMIndexContent content = indexBuilder.processReference(referenceIndex); outputWriter.writeReference(content); outputWriter.close(); return indexBuilder.getNoCoordinateRecordCount(); }
public void processAlignment(final SAMRecord rec) { try { indexBuilder.processAlignment(rec); } catch (final Exception e) { throw new SAMException("Exception creating BAM index for record " + rec, e); } }
BAMIndexBuilder(final SAMSequenceDictionary sequenceDictionary, int reference) { this.sequenceDictionary = sequenceDictionary; if (!sequenceDictionary.isEmpty()) startNewReference(reference); }
public BAMShardIndexer(OutputStream output, SAMFileHeader header, int reference) { indexBuilder = new BAMIndexBuilder(header.getSequenceDictionary(), reference); final boolean isFirstIndexShard = reference == 0; final int numReferencesToWriteInTheHeader = isFirstIndexShard ? header.getSequenceDictionary().size() : 0; outputWriter = new BinaryBAMShardIndexWriter(numReferencesToWriteInTheHeader, output); this.referenceIndex = reference; }
BAMIndexBuilder(final SAMSequenceDictionary sequenceDictionary, int reference) { this.sequenceDictionary = sequenceDictionary; if (!sequenceDictionary.isEmpty()) startNewReference(reference); }
public void processAlignment(final SAMRecord rec) { try { indexBuilder.processAlignment(rec); } catch (final Exception e) { throw new SAMException("Exception creating BAM index for record " + rec, e); } }
/** * Finalizes writing and closes the file. * @return count of records with no coordinates. */ public long finish() { final BAMIndexContent content = indexBuilder.processReference(referenceIndex); outputWriter.writeReference(content); outputWriter.close(); return indexBuilder.getNoCoordinateRecordCount(); }