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)?;

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)?;

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()?;

Trait Implementations

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.