SAMFileWriterFactory writerFactory = new SAMFileWriterFactory();
writerFactory.setUseAsyncIo(false);
// Farm each chromosome out to its own thread.
for (SAMSequenceRecord chr : rdr.getFileHeader().getSequenceDictionary().getSequences()) {
SAMFileWriter writer = writerFactory.makeSAMOrBAMWriter(
rdr.getFileHeader(), false, new File(outputDirectory + "/" + chr.getSequenceName() + ".bam"));
outputWriterMap.put(chr.getSequenceName(), writer);
BamSplitterThread thread = new BamSplitterThread(threads, filename, chr.getSequenceName(), writer);