15 releases (4 breaking)

Uses new Rust 2024

0.9.0 Jan 24, 2026
0.8.3 Dec 16, 2025
0.7.8 Dec 9, 2025
0.7.5 Oct 2, 2025
0.5.4 Apr 8, 2025

#514 in Biology

Download history 32/week @ 2025-10-27 260/week @ 2025-11-03 46/week @ 2025-11-10 33/week @ 2025-11-17 11/week @ 2025-11-24 107/week @ 2025-12-01 141/week @ 2025-12-08 70/week @ 2025-12-15 2/week @ 2026-01-05 17/week @ 2026-01-12 39/week @ 2026-01-19 164/week @ 2026-01-26 36/week @ 2026-02-02 243/week @ 2026-02-09

482 downloads per month
Used in 18 crates (8 directly)

MIT license

3.5MB
8K SLoC

BINSEQ Format Specification

MIT licensed actions status Crates.io docs.rs

Overview

BINSEQ is a binary file format family designed for efficient storage and processing of DNA sequences. They make use of two-bit encoding for nucleotides and are optimized for high-performance parallel processing.

BINSEQ has three variants:

  1. BQ: (*.bq) files are for fixed-length records without quality scores.
  2. VBQ: (*.vbq) files are for variable-length records with optional quality scores and headers.
  3. CBQ: (*.cbq) files are for columnar variable-length records with optional quality scores and headers.

All variants support both single and paired sequences.

Note: For most use cases, the newest variant CBQ is recommended due to its flexibility, storage efficiency, and decoding speed. It supersedes VBQ in terms of performance and storage efficiency, at a small cost in encoding speed. VBQ will still be supported but newer projects should consider using CBQ instead. For information on the structure of CBQ files, see the documentation.

Getting Started

This is a library for reading and writing BINSEQ files, for a command-line interface see bqtools.

To get started please refer to our documentation. For example programs which make use of the library check out our examples directory.

For more information about the BINSEQ file family, please refer to our preprint.

Dependencies

~14MB
~224K SLoC