论文部分内容阅读
当前的高通量全基因组DNA序列拼接领域面临很多困难和挑战,主要包括拼接过程中内存开销大、拼接时间长以及拼接结果的准确度不高等问题。随着第三代测序技术的出现,高通量全基因组测序技术产生大量的具有不同特征的序列,这就对序列拼接技术提出了更多的挑战。本文即是从上述问题出发,研究序列拼接并行算法和新型序列拼接方法的关键技术,希望在保证序列拼接准确度的前提下,能够进一步提高拼接的时空效率。主要工作包括以下3个部分。 首先,SGA(String Graph Assembler)是当前国际上的一种主要面向二代测序数据的新型序列拼接理论工具,它的内存开销更小,但时间开销较大,其中构建索引占据了60-70%的运行时间。针对这一问题,本文首先证明了基于SGA方法的序列拼接问题是一个NP完全问题,然后设计了一种混合多进程和多线程构建索引的并行算法,并基于不同规模数据集分别在普通机群和天河2号上进行了性能测试。针对小规模数据,优化后的索引构建时间缩短了2/3,中等规模数据缩短了1/3,而且算法具有良好的可扩展性和可移植性,在天河2号上测试获得了更高的加速比。该算法在保证序列拼接准确度的前提下,提高了序列拼接的时空效率,得到了华大基因等生物领域专家的使用和认可。 其次,由于二三代测序技术各有利弊,当前国际上提出了一种“混合纠错拼接”方法,希望充分利用两种数据优势,达到更好的拼接效果。但在具体应用中这种方法存在巨大的内存开销。针对这一问题,本文分析了内存开销所在,并根据天河2号体系结构的特点设计了针对性的解决方案。一方面利用Global Array聚合超级计算机的大量节点内存,将数据和计算分而治之;另外一方面设计了进程级并行优化方法,在提高程序扩展性的同时缓解了单节点的内存压力。并将程序移植到天河2号超级计算机上进行测试和程序优化,保证了华大基因研究院的复杂植物土瓶草全基因组序列拼接项目的顺利完成。 最后,考虑到“混合纠错拼接”方法内存开销较大,本文设计了基于三代测序数据寻径的新型混合序列拼接算法,重新整合二三代混合序列拼接的应用方式,利用二代短序列拼接构图,三代长序列寻径解图。这样,在充分利用了不同数据的优势的同时,又避免了可能引起大内存开销的纠错环节,并基于大规模图处理框架Pregel实现了这一“免纠错”的新型混合序列拼接算法,实验结果表明,对于数据规模大、复杂程度高的全基因组混合序列拼接问题,本文提出的方法能够有效降低内存开销,经过处理后得到的Contig数量减少了26.00%,ContigN50提高了49.16%,E-size提高了50.76%,表明Contig序列长度更长,拼接更加完整。