44 breaking releases
Uses new Rust 2024
| 0.45.0 | Dec 11, 2025 |
|---|---|
| 0.44.0 | Nov 13, 2025 |
| 0.43.0 | Aug 25, 2025 |
| 0.42.0 | Jul 12, 2025 |
| 0.2.0 | Jul 21, 2021 |
#307 in Compression
12,896 downloads per month
Used in 121 crates
(18 directly)
140KB
3K
SLoC
noodles-bgzf handles the reading and writing of the blocked gzip format (BGZF).
While the gzip format is typically a single stream, a BGZF is the concatenation of many gzip
streams. Each stream is called a block, with its uncompressed data size being constrained to
less than 64 KiB. This multistream gzip allows random access using virtual positions.
noodles-bgzf abstracts away the concept of blocks, implementing std::io::Read for the
reader and std::io::Write for the writer.
Examples
Read an entire BGZF file
use noodles_bgzf as bgzf;
let mut reader = File::open("data.gz").map(bgzf::io::Reader::new)?;
let mut data = Vec::new();
reader.read_to_end(&mut data)?;
Write a BGZF file
use noodles_bgzf as bgzf;
let mut writer = File::create("data.gz").map(bgzf::io::Writer::new)?;
writer.write_all(b"noodles-bgzf")?;
Dependencies
~1.3–2.4MB
~40K SLoC