vardictcpp:VarDict变异检测工具的 C++ 重新实现

由 root 提交于 周六, 10/17/2026 - 22:48
摘要

基因组变异检测是疾病研究与诊断中的一项核心计算任务,JAK2 V617F 等体细胞突变可作为髓系肿瘤的诊断标志物。最初以 Perl 编写的 VarDict 及其重实现版本 VarDictJava,都是生物信息学领域广泛使用的变异检测工具。Perl 实现的运行时间最长可达数小时;VarDictJava 将运行时间缩短至几分钟,但可能消耗大量主存,从而限制了在给定机器上可并行运行的任务数量。我们推出了 vardictcpp,这是使用 C++17 对 VarDictJava 进行的功能等同重实现。在单核执行时,vardictcpp 的速度约为 VarDictJava 的四倍;使用八个核心时,速度约为其 9–11 倍,同时所需主存最多减少 17 倍。在所评估的全外显子样本中,vardictcpp 的变异检测结果与 VarDictJava 完全一致。更小的内存占用使现有硬件能够同时运行更多任务,从而提高样本处理通量;对于计算资源固定的临床测序实验室而言,这一点尤为重要。vardictcpp 使用 C++17 实现,可通过 https://github.com/MHH-Bioinformatics-Hematology/vardictcpp 免费获取。

基因组变异检测是疾病研究和诊断中的一项核心计算任务,其中 JAK2 V617F 等体细胞突变可作为骨髓系肿瘤的诊断标志物。最初以 Perl 编写的 VarDict 及其重新实现版本 VarDictJava,是生物信息学领域广泛使用的变异检测工具。Perl 版本的运行时间最长可达数小时;VarDictJava 将运行时间缩短至几分钟,但可能消耗大量主存,从而限制了在给定机器上可并行运行的任务数量。我们提出了 vardictcpp,这是一个以 C++17 编写、与 VarDictJava 功能完全相同的重新实现版本。vardictcpp 在单核运行时速度约为原来的四倍,使用八个核心时速度约为原来的 9–11 倍,同时主存需求最多可降低至原来的 1/17。在所评估的全外显子样本中,vardictcpp 的变异检测结果与 VarDictJava 完全一致。更小的内存占用使现有硬件能够同时运行更多任务,从而提高样本处理通量;对于计算资源固定的临床测序实验室而言,这一点尤为重要。vardictcpp 以 C++17 实现,可从 https://github.com/MHH-Bioinformatics-Hematology/vardictcpp 免费获取。

作者声明不存在利益冲突。

感谢您有意帮助传播 bioRxiv 的信息。

注意:要求提供您的电子邮箱地址,仅用于确认您是本文的发送者。

关键词:基因组变异检测 · 生物信息学工具 · C++重实现 · 高性能计算 · 临床测序

原文链接:https://www.biorxiv.org/content/10.64898/2026.09.23.753771v1?rss=1