论文部分内容阅读
生物序列比对是生物信息学研究中的基本方法。随着新一代测序技术的飞速发展,以及宏基因组学、表观基因组学和全基因组关联分析等研究领域和方法的兴起,海量的数据涌现使得传统的序列比对算法无法满足序列分析处理的需求。研究如何利用最新的计算机技术加速序列比对具有重要的意义。 为了加速序列比对过程,一种方案是通过改进数据结构和算法来实现,这些改进的方法因序列比对的类型而异。另一种方案则是采用并行计算或者辅助加速硬件来实现,这种方案的基本思想大体相同,都是试图发掘原始序列比对算法中的可并行性,其实际加速效果因而也受限于算法的可并行性。序列比对算法的并行加速研究主要采用的技术有并行计算、分布式计算和异构计算。利用图形处理器(graphic processing unit,GPU)用于通用计算是一种异构计算技术,采用GPU加速序列比对近些年来受到大量关注,大量的序列比对工具已经移植到GPU并且取得了较好的加速效果。但是研究人员在选择序列比对工具时是否应该选择这些基于GPU的比对工具,目前还没有关于其可用性的综合评价研究。 在生物信息学研究中,不同的序列比对工具往往针对特定的应用,第二代测序技术对海量短串的比对需求催生了大量的短串比对工具,短串比对工具可以满足短串比对的需求,但是由于多数短串比对工具无法进行长串的比对,且在处理序列插入缺失时性能较差,同时第三代测序技术将使得测序长度增长。对传统序列比对算法的加速研究依然具有重要意义。 宏基因组学源自传统的微生物基因组学,其直接从环境样品中提取全部的微生物基因序列进行序列分析和功能分析。宏基因组学可以用来揭示微生物群落结构和功能的关系、进化关系、发现新基因等。在宏基因组分析中,需要对差异较大的混合基因序列进行比对,传统的序列比对算法无法满足海量数据的分析需求,而短串比对算法则无法满足敏感度的要求,因此需要新的算法。GHOSTM是在GPU上实现的宏基因组序列比对工具,其极大加快了序列比对速度,但是对于海量的新一代测序数据分析任务,其需要更进一步的并行加速。 本文主要完成了如下的工作: 首先,通过文献研究的方法,对基于GPU的序列比对工具进行了可用性的综合评价。已有的基于GPU的序列比对工具往往过分强调速度提升,而缺少对准确度、性能功耗比、性价比和编程复杂度等多方面的考虑。本文从以上几个角度出发,综合评价了GPU用于序列比对的可用性。并且进一步采用实际数据,基于相同的硬件平台,对基于GPU的短串比对工具进行了测试。对多数数据集,基于GPU的短串比对工具基本都能够取得较好的性能功耗比和性价比,但是允许空位比对需要更多的优化工作。 第二,采用计算统一设备架构(compute unified device architecture,CUDA)并行计算架构,对核酸序列比对工具BLASTN进行并行加速研究,设计实现了CUDA-BLASTN。BLASTN是目前广泛使用的序列比对工具-基本局部比对搜索工具(Basic Local Alignment Search Tool,BLAST)的子工具,其在非编码RNA研究、生物进化研究、未知病原体检测研究等领域中发挥着重要作用。基于英伟达(NVIDIA)的CUDA架构,我们从GPU内粗粒度的多线程并行和多GPU并行两个维度对BLASTN的种子查找阶段和不允许空位延伸阶段进行并行加速。CUDA-BLASTN充分利用了CUDA内部不同存储器的特点来实现加速,相比最新版NCBI-BLASTN,取得了一定的加速效果。CUDA-BLASTN特别适用于中长查询序列对长序列数据库的比对任务。 第三,分别采用传统并行计算技术消息传递接口(Message Passing Interface,MPI)技术和最新分布式计算架构Hadoop对用于宏基因组学研究的序列比对工具GHOSTM进行了并行加速。宏基因组学在未知病原体检测等研究中发挥重要作用,而MPI和Hadoop则是集群计算环境和云计算环境的基础,为海量数据的宏基因组研究提供了计算环境的软件支撑。MPI能够提供显式并行,因此我们实现的mpiGHOSTM的加速比基本随进程数目线性增加。Hadoop则在单节点失效后恢复和可扩展性上具有显著优势,在Hadoop与CUDA整合研究的基础上,我们实现了Hadoop-GHOSTM,其能够充分利用CPU与GPU资源实现并行加速。 本文的主要贡献有: (1)首次从准确度、性能功耗比、性价比和编程复杂度四个角度对基于GPU的序列比对工具进行了综合评价,系统地评价了GPU用于序列比对的可用性。 (2)基于CUDA并行计算架构,对核酸序列比对工具BLASTN进行了并行加速,服务于新一代测序技术条件下海量生物序列数据比对任务。 (3)采用MPI技术和Hadoop技术对宏基因组研究序列比对工具GHOSTM进行了并行加速实践,为Hadoop与CUDA整合研究提供借鉴。 一方面,对基于GPU序列比对工具的综合评价可以为生物信息学研究人员提供工具选择的参考;另一方面,新开发的序列比对工具可用于未知病原体研究、宏基因组学研究之中。