Abstract
K-mer indexes are crucial tools for comparing assembled and unassembled datasets across various applications. While probabilistic indexes are cost-efficient, exact k-mer indexes are essential for users requiring precise results or access to specific matching k-mer sequences. Static indexes often use SPSS to minimize memory usage by "assembling" k-mers, while dynamic indexes employ quotienting techniques to avoid preprocessing, becoming more memory-efficient as the k-mer set grows. However, the non-uniform distribution of k-mer sequences due to biological phenomena can negatively impact performance. To address this issue, k-mer transformations have been proposed to achieve a uniform distribution. Recently, optimizing shared prefixes of successive k-mers has been suggested to reduce cache misses and improve throughput. This study implements and evaluates known k-mer transformations, assessing their impact on distribution uniformity and prefix similarity. The goal is to identify the most effective transformations for specific use cases, thereby enhancing the efficiency and applicability of k-mer indexes. The benchmark bijecthash index is available as an open-source C++ library under the AGPL3 license at https://github.com/cagret/bijecthash. It is designed to be user-friendly and includes detailed instructions for adding custom transforms.