Struct noodles_bam::Writer [−][src]
pub struct Writer<W> { /* 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
Returns a reference to the underlying writer.
Examples
use noodles_bam as bam;
let writer = bam::Writer::from(Vec::new());
assert!(writer.get_ref().is_empty());
Returns a mutable reference to the underlying writer.
Examples
use noodles_bam as bam;
let mut writer = bam::Writer::from(Vec::new());
assert!(writer.get_mut().is_empty());
Returns the underlying writer.
Examples
use noodles_bam as bam;
let writer = bam::Writer::from(Vec::new());
assert!(writer.into_inner().is_empty());
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".parse()?, 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)?;
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());
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()?;