Centralize k-mer and minimizer configuration using a thread-safe global module, and replace manual bit-packing with a memory-efficient `PackedSeq` type. Refactor core sequence and k-mer types to use compile-time length enforcement and centralized hashing. Introduce a new De Bruijn graph implementation with compact node encoding and traversal iterators. Update I/O, partitioning, and builder modules to align with the new architecture, and add the `xxhash-rust` dependency.
23 lines
546 B
TOML
23 lines
546 B
TOML
[package]
|
|
name = "obikseq"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[features]
|
|
# Replaces the OnceLock-based params with thread-local storage so that
|
|
# tests in dependent crates can call set_k / set_m freely without conflicts.
|
|
test-utils = []
|
|
|
|
[dependencies]
|
|
bitvec = "1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0.149"
|
|
xxhash-rust = { version = "0.8.15", features = ["xxh3", "const_xxh3"] }
|
|
|
|
[dev-dependencies]
|
|
criterion2 = { version = "3", features = ["cargo_bench_support"] }
|
|
|
|
[[bench]]
|
|
name = "superkmer"
|
|
harness = false
|