bwa_mem3_rs/lib.rs
1//! Safe Rust API for [bwa-mem3] alignment.
2//!
3//! This crate exposes bwa-mem3 alignment through a blocking, reentrant
4//! per-batch API with packed BAM output. Callers own all parallelism — every
5//! function is synchronous on its calling thread and safe to call
6//! concurrently from multiple threads sharing the same [`BwaIndex`].
7//!
8//! Phase-split API: [`seed_batch`] → [`extend_batch`] → packed BAM records.
9//! [`align_batch`] is a thin wrapper = seed + extend. [`estimate_pestat`]
10//! runs seed + SE extension + `mem_pestat` only, skipping pairing and
11//! emission.
12//!
13//! [bwa-mem3]: https://github.com/fg-labs/bwa-mem3
14
15pub mod align;
16pub mod error;
17pub mod index;
18pub mod opts;
19pub mod shm;
20pub mod xa;
21
22pub use align::{
23 align_batch, estimate_pestat, extend_batch, seed_batch, AlignmentBatch, ReadPair, Record, Seeds,
24};
25pub use error::{Error, Result};
26pub use index::BwaIndex;
27pub use opts::{MemOpts, MemPeStat, Mode, PeOrient, PeOrientation};
28pub use xa::{parse_xa, AuxHit};