def log_realigned_reads(self, region, reads, shared_header=None): """Logs, if enabled, the realigned reads for region.""" if self.enabled and self.config.emit_realigned_reads and shared_header is not None: path = self._file_for_region(region, self.realigned_reads_filename) with sam.SamWriter(path, header=shared_header) as writer: for read in reads: writer.write(read)
def log_realigned_reads(self, region, reads): """Logs, if enabled, the realigned reads for region.""" if self.enabled and self.config.emit_realigned_reads: path = self._file_for_region(region, self.realigned_reads_filename) with sam.SamWriter(path) as writer: for read in reads: writer.write(read)
def test_roundtrip_writer(self, filename): output_path = test_utils.test_tmpfile(filename) original_reader = sam.SamReader(test_utils.genomics_core_testdata(filename)) original_records = list(original_reader.iterate()) with sam.SamWriter(output_path, header=original_reader.header) as writer: for record in original_records: writer.write(record) with sam.SamReader(output_path) as new_reader: self.assertEqual(original_records, list(new_reader.iterate()))
def log_realigned_reads(self, region, reads, shared_header=None): """Logs, if enabled, the realigned reads for region.""" if self.enabled and self.config.emit_realigned_reads and shared_header is not None: path = self._file_for_region(region, self.realigned_reads_filename) with sam.SamWriter(path, header=shared_header) as writer: # For realigned reads, sorting by just looking at starting position is # enough. for read in sorted( reads, key=lambda read: read.alignment.position.position): writer.write(read)
def test_make_read_writer_tfrecords(self): outfile = test_utils.test_tmpfile('test.tfrecord') writer = sam.SamWriter(outfile, header=self.header) # Test that the writer is a context manager and that we can write a read to # it. with writer: writer.write(self.read1) writer.write(self.read2) # Our output should have exactly one read in it. self.assertEqual([self.read1, self.read2], list( io_utils.read_tfrecords(outfile, proto=reads_pb2.Read)))
def test_roundtrip_cram_writer(self, filename, has_embedded_ref): output_path = test_utils.test_tmpfile(filename) writer_ref_path = test_utils.genomics_core_testdata('test.fasta') reader_ref_path = '' if not has_embedded_ref: reader_ref_path = writer_ref_path original_reader = sam.SamReader( test_utils.genomics_core_testdata(filename), ref_path=reader_ref_path) original_records = list(original_reader.iterate()) with sam.SamWriter( output_path, header=original_reader.header, ref_path=writer_ref_path, embed_ref=has_embedded_ref) as writer: for record in original_records: writer.write(record) with sam.SamReader(output_path, ref_path=reader_ref_path) as new_reader: self.assertEqual(original_records, list(new_reader.iterate()))
def test_make_read_writer_bam_fails_with_not_implemented_error(self): with self.assertRaises(NotImplementedError): sam.SamWriter('test.bam', header=self.header)