Struct noodles_bam::Writer [−][src]
pub struct Writer<W> where
W: Write, { /* fields omitted */ }
Expand description
A BAM writer.
Since the raw text header and bam::Record
are immutable, BAM files are created by encoding a
SAM header and SAM records.
Examples
use noodles_bam as bam; use noodles_sam as sam; let mut writer = bam::Writer::new(Vec::new()); let header = sam::Header::builder().add_comment("noodles-bam").build(); writer.write_header(&header)?; writer.write_reference_sequences(header.reference_sequences())?; let record = sam::Record::default(); writer.write_sam_record(header.reference_sequences(), &record)?;
Implementations
Creates a BAM writer with a default compression level.
The given stream is wrapped in a BGZF encoder.
Examples
use noodles_bam as bam; let writer = bam::Writer::new(Vec::new());
Returns a reference to the underlying writer.
Examples
use noodles_bam as bam; let writer = bam::Writer::new(Vec::new()); assert!(writer.get_ref().is_empty());
Attempts to finish the output stream.
This is typically only manually called if the underlying stream is needed before the writer is dropped.
Examples
use noodles_bam as bam; let mut writer = bam::Writer::new(Vec::new()); writer.try_finish()?;
Writes a SAM header.
Examples
use noodles_bam as bam; use noodles_sam as sam; let mut writer = bam::Writer::new(Vec::new()); let header = sam::Header::builder().add_comment("noodles-bam").build(); writer.write_header(&header)?;
pub fn write_reference_sequences(
&mut self,
reference_sequences: &ReferenceSequences
) -> Result<()>
pub fn write_reference_sequences(
&mut self,
reference_sequences: &ReferenceSequences
) -> Result<()>
Writes SAM reference sequences.
The reference sequences here are typically the same as the reference sequences in the SAM header.
Examples
use noodles_bam as bam; use noodles_sam::{self as sam, header::ReferenceSequence}; let mut writer = bam::Writer::new(Vec::new()); let header = sam::Header::builder() .add_reference_sequence(ReferenceSequence::new("sq0", 8)?) .add_comment("noodles-bam") .build(); writer.write_header(&header)?; writer.write_reference_sequences(header.reference_sequences())?;
Writes a BAM record.
Examples
use noodles_bam as bam; let mut writer = bam::Writer::new(Vec::new()); let record = bam::Record::default(); writer.write_record(&record)?;
pub fn write_sam_record(
&mut self,
reference_sequences: &ReferenceSequences,
record: &Record
) -> Result<()>
pub fn write_sam_record(
&mut self,
reference_sequences: &ReferenceSequences,
record: &Record
) -> Result<()>
Writes a SAM record.
Examples
use noodles_bam as bam; use noodles_sam as sam; let mut writer = bam::Writer::new(Vec::new()); let reference_sequences = sam::header::ReferenceSequences::new(); let record = sam::Record::default(); writer.write_sam_record(&reference_sequences, &record)?;