/** * As {@link #createSAMFileWriter(String, org.broadinstitute.gatk.engine.GenomeAnalysisEngine)}, but also sets the header */ public static SAMFileWriter createSAMFileWriter(final String file, final GenomeAnalysisEngine engine, final SAMFileHeader header) { final SAMFileWriterStub output = (SAMFileWriterStub) createSAMFileWriter(file, engine); output.writeHeader(header); return output; }
@Override public Map<String, SAMFileWriter> reduceInit() { HashMap<String, SAMFileHeader> headers = new HashMap<>(); for ( SAMReadGroupRecord readGroup : this.getToolkit().getSAMFileHeader().getReadGroups()) { final String sample = readGroup.getSample(); if ( ! headers.containsKey(sample) ) { SAMFileHeader header = duplicateSAMFileHeader(this.getToolkit().getSAMFileHeader()); logger.debug(String.format("Creating BAM header for sample %s", sample)); ArrayList<SAMReadGroupRecord> readGroups = new ArrayList<>(); header.setReadGroups(readGroups); headers.put(sample, header); } SAMFileHeader header = headers.get(sample); List<SAMReadGroupRecord> newReadGroups = new ArrayList<>(header.getReadGroups()); newReadGroups.add(readGroup); header.setReadGroups(newReadGroups); } HashMap<String, SAMFileWriter> outputs = new HashMap<>(); final OutputTracker outputTracker = new DirectOutputTracker(); for ( Map.Entry<String, SAMFileHeader> elt : headers.entrySet() ) { final String sample = elt.getKey(); final String filename = outputRoot + sample + ".bam"; logger.info(String.format("Creating BAM output file %s for sample %s", filename, sample)); final SAMFileWriter output = SAMFileWriterStub.createSAMFileWriter(filename, getToolkit(), elt.getValue()); outputs.put(sample, output); outputTracker.addOutput( (SAMFileWriterStub) output); } return outputs; }
final SAMFileWriter writer = SAMFileWriterStub.createSAMFileWriter("assemblyFailure.bam", getToolkit()); new DirectOutputTracker().addOutput((SAMFileWriterStub) writer); for ( final GATKSAMRecord read : activeRegion.getReads() ) {
final SAMFileWriter writer = SAMFileWriterStub.createSAMFileWriter("assemblyFailure.bam", getToolkit()); new DirectOutputTracker().addOutput((SAMFileWriterStub) writer); for ( final GATKSAMRecord read : activeRegion.getReads() ) {