🤖 AI Summary
This work addresses the inefficiency of traditional methods in extracting spaced k-mers, which struggle to meet the performance demands of modern bioinformatics. For the first time, the study systematically leverages low-level CPU bit-manipulation instructions for spaced k-mer extraction, implementing a concise and highly efficient algorithm in C++20. The approach carefully avoids common implementation pitfalls while significantly optimizing memory access patterns and computational workflows. Evaluated on a single CPU core, the method achieves throughput of up to 750 MB of nucleotide sequences per second—nearly an order of magnitude faster than existing solutions—thereby unifying algorithmic simplicity with high performance.
📝 Abstract
We present efficient approaches for extracting spaced k-mers from nucleotide sequences. They are based on bit manipulation instructions at CPU level, making them both simpler to implement and up to an order of magnitude faster than existing methods. We further evaluate common pitfalls in k-mer processing, which can cause major inefficiencies. Combined, our approaches allow the utilization of spaced k-mers in high-performance bioinformatics applications without major performance degradation, offering a throughput of up to 750MB of sequence data per second per core.
Availability: The implementation in C++20 is published under the MIT license, and freely available at https://github.com/lczech/fisk