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

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

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

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.

Should always be Self

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.