@Override public SAMFileWriterFactory clone() { return new SAMFileWriterFactory(this); }
@Override public SAMFileWriterFactory clone() { return new SAMFileWriterFactory(this); }
protected void createSamFileWriter(final SAMFileHeader header) { out = new SAMFileWriterFactory().makeSAMOrBAMWriter(header, header.getSortOrder() == SortOrder.queryname, OUTPUT); }
protected void createSamFileWriter(final SAMFileHeader header) { out = new SAMFileWriterFactory().makeSAMOrBAMWriter(header, header.getSortOrder() == SortOrder.queryname, OUTPUT); }
public static void merge(Collection<File> input, File output) throws IOException { merge(input, output, SamReaderFactory.makeDefault(), new SAMFileWriterFactory()); } /**
@Override public boolean pre() { if (this.input.toFile().exists()) { SAMFileHeader samFileHeader = AlignmentConverter.buildSAMFileHeader(reader.getHeader()); writer = new SAMFileWriterFactory().makeBAMWriter(samFileHeader, true, this.input.toFile()); super.pre(); return true; } else { return false; } }
public int writeToFile(File outFile, Iterator<PicardAlignment> alignments, boolean createIndex) { SAMFileWriterFactory factory = new SAMFileWriterFactory(); factory.setCreateIndex(createIndex); SAMFileWriter writer = factory.makeSAMOrBAMWriter(header, true, outFile); return writeAlignments(writer, alignments); }
private void addWriter(SAMReaderID id , String outName, SAMFileHeader.SortOrder order, boolean presorted, boolean indexOnTheFly, boolean generateMD5, SAMProgramRecord programRecord) { File f = new File(outName); SAMFileHeader header = setupWriter(toolkit.getSAMFileHeader(id), programRecord); SAMFileWriterFactory factory = new SAMFileWriterFactory(); factory.setCreateIndex(indexOnTheFly); factory.setCreateMd5File(generateMD5); SAMFileWriter sw = factory.makeSAMOrBAMWriter(header, presorted, f); writerMap.put(id,sw); }
public SAMFileWriterFactory getSamFileWriterFactory(boolean sorted) { return new SAMFileWriterFactory() .setTempDirectory(fsContext.getTemporaryDirectory()) .setCreateIndex(sorted); // also covered by -Dcreate_index=true }
private void writeRecordsToPath ( final List<SAMRecord> recs, final Path targetPath, final File referenceFile, final SAMFileHeader samHeader) { // NOTE: even when the input is coord-sorted, using assumePresorted=false will cause some // tests to fail since it can change the order of some unmapped reads - this is allowed // by the spec since the order is arbitrary for unmapped. try (final SAMFileWriter writer = new SAMFileWriterFactory() .makeWriter(samHeader, true, targetPath, referenceFile.toPath())) { for (SAMRecord rec : recs) { writer.addAlignment(rec); } } }
private void createBAM(final List<GATKSAMRecord> reads) throws IOException { testBAM = createTempFile("TraverseActiveRegionsUnitTest", ".bam"); SAMFileWriter out = new SAMFileWriterFactory().setCreateIndex(true).makeBAMWriter(reads.get(0).getHeader(), true, testBAM); for (GATKSAMRecord read : reads ) { out.addAlignment(read); } out.close(); new File(testBAM.getAbsolutePath().replace(".bam", ".bai")).deleteOnExit(); new File(testBAM.getAbsolutePath() + ".bai").deleteOnExit(); }
private void createBAM(List<GATKSAMRecord> reads) throws IOException { testBAM = createTempFile("TraverseActiveRegionsUnitTest", ".bam"); SAMFileWriter out = new SAMFileWriterFactory().setCreateIndex(true).makeBAMWriter(reads.get(0).getHeader(), true, testBAM); for (GATKSAMRecord read : ReadUtils.sortReadsByCoordinate(reads)) { out.addAlignment(read); } out.close(); new File(testBAM.getAbsolutePath().replace(".bam", ".bai")).deleteOnExit(); new File(testBAM.getAbsolutePath() + ".bai").deleteOnExit(); }
private File createInputFile() { // Create the input file final File input = new File(outputDir, "input.sam"); final SAMFileWriter writer = new SAMFileWriterFactory().makeSAMOrBAMWriter(samRecordSetBuilder.getHeader(), true, input); samRecordSetBuilder.getRecords().forEach(writer::addAlignment); writer.close(); return input; }
protected void kickedFromCache(FastqRead read) { if (writer == null) { log.info("Creating overflow BAM file."); headerForOverflowWriter = header.clone(); headerForOverflowWriter.setSortOrder(SAMFileHeader.SortOrder.queryname); writer = new SAMFileWriterFactory().makeBAMWriter(headerForOverflowWriter, false, cacheOverFlowStream); } SAMRecord r = read.toSAMRecord(writer.getFileHeader()); writer.addAlignment(r); }
@Test public void testAsync() throws IOException { final SAMFileWriterFactory builder = new SAMFileWriterFactory(); final File outputFile = prepareOutputFile(BamFileIoUtils.BAM_FILE_EXTENSION); final SAMFileHeader header = new SAMFileHeader(); final SAMFileWriterFactory factory = createWriterFactoryWithOptions(header); final File referenceFile = new File(TEST_DATA_DIR, "hg19mini.fasta"); SAMFileWriter writer = builder.makeWriter(header, false, outputFile, referenceFile); Assert.assertEquals(writer instanceof AsyncSAMFileWriter, Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS, "testAsync default"); writer = builder.setUseAsyncIo(true).makeWriter(header, false, outputFile, referenceFile); Assert.assertTrue(writer instanceof AsyncSAMFileWriter, "testAsync option=set"); writer = builder.setUseAsyncIo(false).makeWriter(header, false, outputFile, referenceFile); Assert.assertFalse(writer instanceof AsyncSAMFileWriter, "testAsync option=unset"); } }
@Test(expectedExceptions = IllegalArgumentException.class) public void testRecordsMismatchedHeader() throws Exception { final SAMRecordSetBuilder samRecordSetBuilder = getRecordSetBuilder(true, SAMFileHeader.SortOrder.queryname); // create a fake header to make sure the records cannot be written using an invalid // sequence dictionary and unresolvable references final SAMFileHeader fakeHeader = new SAMFileHeader(); fakeHeader.setSortOrder(SAMFileHeader.SortOrder.queryname); final File bamFile = File.createTempFile("test.", BamFileIoUtils.BAM_FILE_EXTENSION); bamFile.deleteOnExit(); try (final SAMFileWriter bamWriter = new SAMFileWriterFactory().makeSAMOrBAMWriter(fakeHeader, false, bamFile);) { for (SAMRecord rec : samRecordSetBuilder.getRecords()) { bamWriter.addAlignment(rec); } } }
private SAMFileWriterFactory createWriterFactoryWithOptions(SAMFileHeader header) { final SAMFileWriterFactory factory = new SAMFileWriterFactory(); factory.setCreateIndex(true); factory.setCreateMd5File(true); // index only created if coordinate sorted header.setSortOrder(SAMFileHeader.SortOrder.coordinate); header.addSequence(new SAMSequenceRecord("chr1", 123)); header.addReadGroup(new SAMReadGroupRecord("1")); return factory; }
private void createSmallBam(final Path outputPath) { final SAMFileWriterFactory factory = new SAMFileWriterFactory(); factory.setCreateIndex(true); factory.setCreateMd5File(true); final SAMFileHeader header = new SAMFileHeader(); // index only created if coordinate sorted header.setSortOrder(SAMFileHeader.SortOrder.coordinate); header.addSequence(new SAMSequenceRecord("chr1", 123)); try (final SAMFileWriter writer = factory.makeBAMWriter(header, false, outputPath)) { fillSmallBam(writer); } }
private void createSmallBam(final File outputFile) { final SAMFileWriterFactory factory = new SAMFileWriterFactory(); factory.setCreateIndex(true); factory.setCreateMd5File(true); final SAMFileHeader header = new SAMFileHeader(); // index only created if coordinate sorted header.setSortOrder(SAMFileHeader.SortOrder.coordinate); header.addSequence(new SAMSequenceRecord("chr1", 123)); try (final SAMFileWriter writer = factory.makeBAMWriter(header, false, outputFile)) { fillSmallBam(writer); } }
private void createSmallBamToOutputStream(final OutputStream outputStream,boolean binary) { final SAMFileWriterFactory factory = new SAMFileWriterFactory(); factory.setCreateIndex(false); factory.setCreateMd5File(false); final SAMFileHeader header = new SAMFileHeader(); // index only created if coordinate sorted header.setSortOrder(SAMFileHeader.SortOrder.coordinate); header.addSequence(new SAMSequenceRecord("chr1", 123)); try (final SAMFileWriter writer = (binary? factory.makeBAMWriter(header, false, outputStream): factory.makeSAMWriter(header, false, outputStream) )) { fillSmallBam(writer); } }