noodles-bam 0.60.0

Binary Alignment/Map (BAM) format reader and writer
Documentation

noodles-bam handles the reading and writing of the BAM (Binary Alignment/Map) file format.

The BAM format contains the same information as SAM (Sequence Alignment/Map), namely a SAM header and a list of records.

Examples

Read all records

# use std::io;
use noodles_bam as bam;

let mut reader = bam::io::reader::Builder::default().build_from_path("sample.bam")?;
let header = reader.read_header()?;

for result in reader.records() {
let record = result?;
// ...
}
# Ok::<_, io::Error>(())

Query records

Querying allows filtering records by region. It requires an associated BAM index (BAI).

# use std::fs::File;
use noodles_bam as bam;

let mut reader = bam::io::indexed_reader::Builder::default().build_from_path("sample.bam")?;
let header = reader.read_header()?;

let region = "sq0:5-8".parse()?;
let query = reader.query(&header, &region)?;

for result in query {
let record = result?;
// ...
}
# Ok::<_, Box<dyn std::error::Error>>(())