Super Bloom: Fast and Precise Filter for Streaming k -Mer Queries
Approximate membership query structures are used throughout sequence bioinformatics, from read screening and metagenomic classification to assembly, indexing, and error correction. Among them, Bloom filters remain the default choice. They are not the most efficient structures in either time or memory, but they provide an effective compromise between compactness, speed, simplicity, and dynamic insertions, which explains their widespread adoption in practice. Their main drawback is poor cache locality, since each query typically requires several random memory accesses. Blocked Bloom filters alleviate this issue by restricting accesses for any given element to a single memory block, but this usually comes with a loss in accuracy at fixed memory. In this work, we introduce the Super Bloom Filter, a Bloom filter variant designed for streaming k -mer queries on biological sequences. Super Bloom uses minimizers to group adjacent k -mers into super- k -mers and assigns all k -mers of a group to the same memory block, thereby amortizing random accesses over consecutive k -mer queries and improving cache efficiency. We further combine this layout with the findere scheme, which reduces false positives by requiring consistent evidence across overlapping subwords. We provide a theoretical analysis of the construction of Super Bloom filters, showing how minimizer density controls the expected reduction in memory transfers, and derive a practical parameterization strategy linking memory budget, block size, collision overhead, and the number of hash functions to robust false-positive control. Across a broad range of memory budgets and numbers of hash functions, Super Bloom consistently outperforms existing Bloom filter implementations, with several-fold time improvements. As a practical validation, we integrated it into a Rust reimplementation of BioBloom Tools, a sequence screening tool that builds filters from reference genomes and classifies reads through k -mer membership queries for applications such as host removal and contamination filtering. This replacement yields substantially faster indexing and querying than both the original C++ implementation and Rust variants based on Bloom filters and blocked Bloom filters. The findere scheme also reduces false positives by several orders of magnitude, with some configurations yielding no observed false positives among 10 9 randomly queried k -mers. Code is available at https://github.com/EtienneC-K/SuperBloom and https://github.com/Malfoy/SBB .
Authors
- Antoine Limasset (ORCID: https://orcid.org/0000-0002-0669-4141)
- Lucas Robidou (ORCID: https://orcid.org/0009-0003-8525-8157)
- Florian Ingels (ORCID: https://orcid.org/0000-0002-8556-0087)
- Timothé Rouzé (ORCID: https://orcid.org/0009-0004-2799-6714)
- Etienne Conchon-Kerjan
Institutions
- Centre National de la Recherche Scientifique (FR)
- Institut Pasteur (FR)
- Université Paris Cité (FR)
- Université de Lille (FR)
- Commissariat à l'Énergie Atomique et aux Énergies Alternatives (FR)
- Université Paris-Saclay (FR)
- Institut de Biologie Intégrative de la Cellule (FR)
- Centre de Recherche en Informatique, Signal et Automatique de Lille (FR)
- École Centrale de Lille (FR)
Publication Details
- Journal
- Journal of Computational Biology
- Published
- 2026-10-07
- DOI
- https://doi.org/10.1177/15578666261493564
- Primary Topic
- Algorithms and Data Compression
- Type
- article
- Field-Weighted Citation Impact
- 0.00