bioRxivBioinformaticsPreprint
kache-hash: A dynamic, concurrent, and cache-efficient hash table for streaming k-mer operations
Abstract
Many computational genomic analyses spend much of their time inserting and looking up k-mers in large hash tables. These operations stream through sequences, and consecutive k-mers share k - 1 characters. General hash tables ignore this locality. Each k-mer costs them a memory access, and in concurrent builds, a synchronization. We present kache-hash, an exact, dynamic, concurrent, and resizable hash table that places k-mers by their minimizers. A run of consecutive k-mers with the same minimizer then shares its buckets, which it fetches and locks only once. Building on Iceberg hashing, kache-hash handles skewed minimizers with secondary buckets. A compact spill filter lets lookups stop early, yet stay exact. The table stores sets or maps, and doubles in place in parallel. Under a cache-residency assumption, we show that a run that stays in its primary bucket brings in at most that bucket's cache lines, however long the run is. We compare kache-hash with six general-purpose and k-mer-specific tables on five genomic datasets. At 56 threads, it builds k-mer sets 3.5--7.0x faster than the fastest baseline, and answers queries 1.5--5.4x faster. On the human genome, its positive and mixed queries fetch 3.1--3.2x fewer cache lines per k-mer than those of the fastest baseline. In PanGenie, kache-hash speeds up end-to-end genotyping 1.96x with identical outputs. In K2Rmini, it speeds up read filtering 10.7--19.4x over a fixed control version of the release, also making the filter exact. kache-hash is implemented in C++20 and is available at https://github.com/jamshed/kache-hash.
- assay: whole-genome sequencing
- research focus: variant calling
- approach: deep learning
- approach: statistical model
- Citations
- 0
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- Optimizing sparse and skew hashing: faster k-mer dictionaries
Giulio Ermanno Pibiri, Rob Patro·BioinformaticsPeer-reviewed·Jul 1, 2026
- Batch, Prefetch, Skip, Orient, Squeeze: Faster, Smaller k-mer dictionaries via the Spectral Burrows-Wheeler transform
A. C. Diseth, J. N. Alanko, … Simon J. Puglisi·bioRxiv·Nov 10, 2026
- Sparse and Skew Hashing of K-Mers
Giulio Ermanno Pibiri·BioinformaticsPeer-reviewed·Apr 14, 2022
- CMash: fast, multi-resolution estimation of k-mer-based Jaccard and containment indices
Shaopeng Liu, David Koslicki·BioinformaticsPeer-reviewed·Apr 14, 2022
- KmerKeys: a web resource for searching indexed genome assemblies and variants
Dmitri S. Pavlichin, HoJoon Lee, … Hanlee P. Ji·Nucleic Acids ResearchPeer-reviewed·Apr 21, 2022
- Accelerating k-mer-based sequence filtering
Igor Martayan, Léa Vandamme, … Antoine Limasset·Peer Community JournalPeer-reviewed·Jun 17, 2026