MCPcopy Index your code
hub / github.com/ArcInstitute/binseq

github.com/ArcInstitute/binseq @v0.9.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.9.3 ↗ · + Follow
748 symbols 2,594 edges 36 files 168 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

Extension points exported contracts — how you extend this code

ParallelProcessor (Interface)
Trait for types that can process records in parallel. This is implemented by the **processor** not by the **reader**. F [10 …
src/parallel.rs
BinseqRecord (Interface)
(no doc) [4 implementers]
src/record/binseq_record.rs
IntoBinseqError (Interface)
Trait for converting arbitrary errors into `Error` [1 implementers]
src/error.rs
ParallelReader (Interface)
Trait for BINSEQ readers that can process records in parallel This is implemented by the **reader** not by the **proces [4 …
src/parallel.rs

Core symbols most depended-on inside this repo

len
called by 99
src/cbq/core/utils.rs
build
called by 69
src/write.rs
paired
called by 46
src/write.rs
quality
called by 38
src/write.rs
build
called by 36
src/vbq/writer.rs
headers
called by 29
src/write.rs
finish
called by 28
src/write.rs
handle
called by 27
src/policy.rs

Shape

Method 415
Function 252
Class 62
Enum 15
Interface 4

Languages

Rust100%

Modules by API surface

src/write.rs97 symbols
src/vbq/reader.rs84 symbols
src/bq/reader.rs67 symbols
src/cbq/core/block.rs48 symbols
src/vbq/writer.rs47 symbols
src/error.rs40 symbols
src/cbq/read.rs40 symbols
src/bq/writer.rs33 symbols
src/cbq/write.rs29 symbols
src/policy.rs24 symbols
src/parallel.rs24 symbols
src/record/sequencing_record.rs23 symbols

For agents

$ claude mcp add binseq \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact