论文部分内容阅读
基因突变检测在癌症疾病的研究、发展和化疗抵抗的过程中可以起到重大的作用。基因测序数据分析流程中最关键的步骤是基因突变检测,而MuTect2是基因测序数据分析方面最常用的基因突变检测工具之一,通常用来检测体细胞变异(SNV)和体细胞插入删除变异(Indel)。由于基因组数据量庞大,全基因组碱基对序列高达30亿对,目前基于MuTect2的常规分析流程可能需要数天才能完成,因此对该步骤加速有重要的意义。本文的工作是对基因测序数据分析工具MuTect2进行加速优化,MuTect2实现语言是java,计算效率低下。本文先对MuTect2进行了性能分析,剖析出耗时模块,将耗时分析细化到具体算法Pair-HMM算法和Smith-Waterman算法,然后分别从局部优化和全局优化的角度考虑,对MuTect2进行了优化研究和实现。从局部优化的角度,C++版MuTect2基于C++对最耗时的Pair-HMM算法和Smith-Waterman算法进行重写,并利用OpenMP对两个算法进行并行加速;GPU版MuTect2通过CUDA编程对最耗时Pair-HMM算法和Smith-Waterman算法进行重写,利用GPU的大规模并行计算能力对算法进行并行计算。从全局优化的角度,本文利用并发编程原理对MuTect2框架进行重构,设计了并发版的MuTect2,同时并发版优化方案兼容C++版和GPU版对MuTect2中两个关键耗时算法的的优化策略。最后,本文对三种优化方案进行了性能评估和结果一致性评估:C++版MuTect2对测序较深的目标测序数据、测序较浅的全外显子测序数据和全基因组测序数据加速倍速分别达到4.90倍、1.32倍和1.10倍,且检测出的变异位点结果完全一致,召回率100%;GPU版MuTect2对测序深度较深的目标区域数据和测序较浅的全外显子测序数据的加速倍数分别为7.45倍和1.36倍,变异位点结果召回率分别达到100%和99.95%;并发版MuTect2则对测序较深的目标测序数据、测序较浅的全外显子测序数据和全基因组测序数据的加速倍数分别达到7.02倍、4.85倍和4.29倍,变异位点的召回率则分别达到100%、99.88%和99.29%。