Struct noodles_bam::AsyncWriter
source ·
[−]pub struct AsyncWriter<W> { /* private fields */ }
Expand description
An async BAM writer.
Implementations
Shuts down the output stream.
Examples
use noodles_bam as bam;
let mut writer = bam::AsyncWriter::new(Vec::new());
writer.shutdown().await?;
Writes a SAM header.
Examples
use noodles_bam as bam;
use noodles_sam as sam;
let mut writer = bam::AsyncWriter::new(Vec::new());
let header = sam::Header::builder().add_comment("noodles-bam").build();
writer.write_header(&header).await?;
pub async fn write_reference_sequences(
&mut self,
reference_sequences: &ReferenceSequences
) -> Result<()>
pub async fn write_reference_sequences(
&mut self,
reference_sequences: &ReferenceSequences
) -> Result<()>
Writes the binary reference sequences after the SAM header.
Examples
use noodles_bam as bam;
use noodles_sam::{self as sam, header::ReferenceSequence};
let mut writer = bam::AsyncWriter::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).await?;
writer.write_reference_sequences(header.reference_sequences()).await?;
Writes a BAM record.
Examples
use noodles_bam as bam;
let mut writer = bam::AsyncWriter::new(Vec::new());
let record = bam::Record::default();
writer.write_record(&record).await?;
pub async fn write_sam_record(
&mut self,
reference_sequences: &ReferenceSequences,
record: &Record
) -> Result<()>
pub async 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::AsyncWriter::new(Vec::new());
let reference_sequences = sam::header::ReferenceSequences::default();
let record = sam::Record::default();
writer.write_sam_record(&reference_sequences, &record).await?;
Creates an async BAM writer builder.
Examples
use noodles_bam as bam;
let builder = bam::AsyncWriter::builder(Vec::new());
let writer = builder.build();