/** * @param output binary BAM Index (.bai) file * @param fileHeader header for the corresponding bam file */ public BAMIndexer(final Path output, final SAMFileHeader fileHeader) { this(fileHeader, numRefs -> new BinaryBAMIndexWriter(numRefs, output)); }
/** * @param output binary BAM Index (.bai) file * @param fileHeader header for the corresponding bam file */ public BAMIndexer(final Path output, final SAMFileHeader fileHeader) { this(fileHeader, numRefs -> new BinaryBAMIndexWriter(numRefs, output)); }
/** * Prepare to index a BAM. * * @param output Index will be written here. output will be closed when finish() method is called. * @param fileHeader header for the corresponding bam file. */ public BAMIndexer(final OutputStream output, final SAMFileHeader fileHeader) { this(fileHeader, numRefs -> new BinaryBAMIndexWriter(numRefs, output)); }
/** * Prepare to index a BAM. * * @param output Index will be written here. output will be closed when finish() method is called. * @param fileHeader header for the corresponding bam file. */ public BAMIndexer(final OutputStream output, final SAMFileHeader fileHeader) { this(fileHeader, numRefs -> new BinaryBAMIndexWriter(numRefs, output)); }
/** * Create a CRAM indexer that writes BAI to a file. * * @param output binary BAM Index (.bai) file * @param fileHeader header for the corresponding bam file */ public CRAMBAIIndexer(final File output, final SAMFileHeader fileHeader) { numReferences = fileHeader.getSequenceDictionary().size(); indexBuilder = new BAMIndexBuilder(fileHeader); outputWriter = new BinaryBAMIndexWriter(numReferences, output); }
/** * Create a CRAM indexer that writes BAI to a stream. * * @param output Index will be written here. output will be closed when finish() method is called. * @param fileHeader header for the corresponding bam file. */ public CRAMBAIIndexer(final OutputStream output, final SAMFileHeader fileHeader) { numReferences = fileHeader.getSequenceDictionary().size(); indexBuilder = new BAMIndexBuilder(fileHeader); outputWriter = new BinaryBAMIndexWriter(numReferences, output); }
/** * Create a CRAM indexer that writes BAI to a stream. * * @param output Index will be written here. output will be closed when finish() method is called. * @param fileHeader header for the corresponding bam file. */ public CRAMBAIIndexer(final OutputStream output, final SAMFileHeader fileHeader) { numReferences = fileHeader.getSequenceDictionary().size(); indexBuilder = new BAMIndexBuilder(fileHeader); outputWriter = new BinaryBAMIndexWriter(numReferences, output); }
/** * Create a CRAM indexer that writes BAI to a file. * * @param output binary BAM Index (.bai) file * @param fileHeader header for the corresponding bam file */ public CRAMBAIIndexer(final File output, final SAMFileHeader fileHeader) { numReferences = fileHeader.getSequenceDictionary().size(); indexBuilder = new BAMIndexBuilder(fileHeader); outputWriter = new BinaryBAMIndexWriter(numReferences, output); }
/** * Prepare to index a BAM. * @param output Index will be written here. output will be closed when finish() method is called. * @param fileHeader header for the corresponding bam file. */ public BAMIndexer(final OutputStream output, final SAMFileHeader fileHeader) { numReferences = fileHeader.getSequenceDictionary().size(); indexBuilder = new BAMIndexBuilder(fileHeader.getSequenceDictionary()); outputWriter = new BinaryBAMIndexWriter(numReferences, output); }
/** * @param output binary BAM Index (.bai) file * @param fileHeader header for the corresponding bam file */ public BAMIndexer(final File output, final SAMFileHeader fileHeader) { numReferences = fileHeader.getSequenceDictionary().size(); indexBuilder = new BAMIndexBuilder(fileHeader.getSequenceDictionary()); outputWriter = new BinaryBAMIndexWriter(numReferences, output); }
/** * Generates a BAM index file, either textual or binary, from an input BAI file. * Only used for testing, but located here for visibility into CachingBAMFileIndex. * * @param output BAM Index (.bai) file (or bai.txt file when text) * @param textOutput Whether to create text output or binary */ static public void createAndWriteIndex(final File input, final File output, final boolean textOutput) { // content is from an existing bai file. final CachingBAMFileIndex existingIndex = new CachingBAMFileIndex(input, null); final int n_ref = existingIndex.getNumberOfReferences(); final BAMIndexWriter outputWriter; if (textOutput) { outputWriter = new TextualBAMIndexWriter(n_ref, output); } else { outputWriter = new BinaryBAMIndexWriter(n_ref, output); } // write the content one reference at a time try { for (int i = 0; i < n_ref; i++) { outputWriter.writeReference(existingIndex.getQueryResults(i)); } outputWriter.writeNoCoordinateRecordCount(existingIndex.getNoCoordinateCount()); outputWriter.close(); } catch (final Exception e) { throw new SAMException("Exception creating BAM index", e); } }
/** * Generates a BAM index file, either textual or binary, from an input BAI file. * Only used for testing, but located here for visibility into CachingBAMFileIndex. * * @param output BAM Index (.bai) file (or bai.txt file when text) * @param textOutput Whether to create text output or binary */ static public void createAndWriteIndex(final File input, final File output, final boolean textOutput) { // content is from an existing bai file. final CachingBAMFileIndex existingIndex = new CachingBAMFileIndex(input, null); final int n_ref = existingIndex.getNumberOfReferences(); final BAMIndexWriter outputWriter; if (textOutput) { outputWriter = new TextualBAMIndexWriter(n_ref, output); } else { outputWriter = new BinaryBAMIndexWriter(n_ref, output); } // write the content one reference at a time try { for (int i = 0; i < n_ref; i++) { outputWriter.writeReference(existingIndex.getQueryResults(i)); } outputWriter.writeNoCoordinateRecordCount(existingIndex.getNoCoordinateCount()); outputWriter.close(); } catch (final Exception e) { throw new SAMException("Exception creating BAM index", e); } }
/** * Generates a BAM index file, either textual or binary, from an input BAI file. * Only used for testing, but located here for visibility into CachingBAMFileIndex. * * @param output BAM Index (.bai) file (or bai.txt file when text) * @param textOutput Whether to create text output or binary */ static public void createAndWriteIndex(final File input, final File output, final boolean textOutput) { // content is from an existing bai file. final CachingBAMFileIndex existingIndex = new CachingBAMFileIndex(input, null); final int n_ref = existingIndex.getNumberOfReferences(); final BAMIndexWriter outputWriter; if (textOutput) { outputWriter = new TextualBAMIndexWriter(n_ref, output); } else { outputWriter = new BinaryBAMIndexWriter(n_ref, output); } // write the content one reference at a time try { for (int i = 0; i < n_ref; i++) { outputWriter.writeReference(existingIndex.getQueryResults(i)); } outputWriter.writeNoCoordinateRecordCount(existingIndex.getNoCoordinateCount()); outputWriter.close(); } catch (final Exception e) { throw new SAMException("Exception creating BAM index", e); } }