快速迭代间隔 k-mer
基因组学
2026-05-15 v3 数据结构与算法
摘要
背景:固定长度为 k 的序列子串称为 k-mer,是生信学中普遍的计算原语,用于序列索引、读映射、基因组装装、宏基因组分类和比较基因组学。间隔 k-mer 通过仅选择 k-mer 中位置的子集来推广此概念,从而提高对错位和测序错误的鲁棒性。虽然 k-mer 计算极其高效,但间隔 k-mer 需要额外工作从序列中提取,导致现有方法受限。结果:我们提出了一套高效算法用于从核苷酸序列中提取间隔 k-mer,针对不同硬件架构进行优化。它们基于 CPU 级别的位操作指令,既简单易实现,又比现有方法快约一个数量级。我们进一步评估了 k-mer 处理中的常见陷阱,这些陷阱可导致实质性效率低下。结论:我们的做法允许在不显著降低性能的前提下将间隔 k-mer 用于高性能生信学应用,每核最高可达750MB的序列数据吞吐量。可获得性:C++20 实现已发布于 MIT 许可证,可在 https://github.com/lczech/fisk 免费获取。
引用
@article{arxiv.2603.25417,
title = {Fast Iteration of Spaced k-mers},
author = {Lucas Czech},
journal= {arXiv preprint arXiv:2603.25417},
year = {2026}
}