84 breaking releases
Uses new Rust 2024
| 0.85.0 | Dec 11, 2025 |
|---|---|
| 0.84.0 | Nov 13, 2025 |
| 0.83.0 | Aug 25, 2025 |
| 0.82.0 | Jul 12, 2025 |
| 0.2.1 | Jul 30, 2021 |
#2 in #map-format
5,183 downloads per month
Used in 57 crates
(5 directly)
1MB
28K
SLoC
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 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?;
// ...
}
Query records
Querying allows filtering records by region. It requires an associated BAM index (BAI).
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, ®ion)?;
for result in query.records() {
let record = result?;
// ...
}
Dependencies
~3.5–5MB
~81K SLoC