/** * Generates a BAM index file from an input BAM file * * @param reader SAMFileReader for input BAM file * @param output File for output index file */ public static void createIndex(SAMFileReader reader, File output, Log log) { BAMIndexer indexer = new BAMIndexer(output, reader.getFileHeader()); reader.enableFileSource(true); int totalRecords = 0; // create and write the content for (SAMRecord rec : reader) { if (++totalRecords % 1000000 == 0) { if (null != log) log.info(totalRecords + " reads processed ..."); } indexer.processAlignment(rec); } indexer.finish(); }