论文部分内容阅读
随着测序技术的发展,基因数据的增长速度超过了摩尔定律,相对应的测序工具逐渐无法满足如此大规模的数据分析。目前计算机系统中CPU的核数不断增加,然而一些测序工具还是单线程,无法有效的利用多核,导致计算资源的浪费。而且现有一些软件由于前期设计开发的一些局限性,在面对日益增大的基因数据时,性能瓶颈显现,影响了整个流程的处理时间。 本文以Gene Panel流程为研究对象,通过对其数据分析流程的分析和评测,找出其中在整体处理时间中占比较大的处理工具,对这些程序的算法进行分析,利用并行优化方法并结合体系结构特征进行优化加速。这些工具不仅在Gene Panel中被使用,同时也在全基因组测序(WGS)和全外显子测序(WES)等测序流程中被采用,所以优化这些工具不仅能够应用到Gene Panel流程巾减少运行时间,同时也可以扩展到其他基因数据处理工具中,降低处理时间。本文的主要创新性工作包括: (1).总结了基因序列分析工具的常用优化方法,深入分析了Gene Panel流程中常用的基因序列分析算法的并行方式。 (2).设计并实现了高性能基因序列分析库HCC,封装了基因序列处理中的常用数据结构,为用户提供简单易用的API,降低用户的编程难度。 (3).基于数据划分的方式实现了MarkDuplicate、IndelRealigner和Mpileup算法并行,在实现过程中根据数据分布和算法特征,有效地避免了由于数据倾斜导致的任务分配不均衡。 (4).详细分析了BWA-MEM的算法特征,并且采用向量化的方法对BWA-MEM中的SmithWaterman算法进行加速。 (5).基于高性能基因序列分析库设计并实现了并行版本Mutect算法,实现过程中消除了原有串行算法中一些冗余操作。