论文部分内容阅读
近几十年来,计算机的运算处理能力一直遵循着摩尔定律快速发展,给各个科研领域都带来了翻天覆地的变化。生物基因测序技术在这个大背景下不断更新换代,随着测序成本不断降低,带来的结果是基因数据量呈几何级数增长。基因数据的增长也让研究人员发现了更多的动态基因位点,不同个体在同一位置上的核苷酸表达形式可能不同。生物序列比对工具的作用是将测序仪器输出的reads数据比对到基因参考序列上。基因数据量的增大以及其多样性、复杂性的增加,都对现有的基因序列比对工具提出了巨大挑战,生物序列比对与高性能计算的结合,从而提高生物序列比对性能是当前生物信息学的研究热点。 本文从探讨基因序列比对工作中较为实用的两种算法入手,基于BWT转换的搜索算法和基于SW思想的打分比对算法。由于目前算法对于基因动态位点的识别能力较差,通过分析现有算法,本文在基于BWT转换的搜索算法的基础上,针对基因动态位点的识别进行了优化。在搜索过程中,通过对简并碱基代码进行替换实现动态位点的识别,从而提高比对的准确率,并设计一个存放待比对数据的队列结构避免了递归调用,提高算法的可并行性。 除了对于序列比对算法的探讨,本文还基于MPI主从框架模型设计并实现了Bowtie2的大规模并行。Bowtie2是一款基于BWT原理的序列比对工具,在单机上运行效率很高,但是已经无法满足大规模基因序列比对的需求。本文基于待比对数据的特点,在并行程序设计中对任务分割、负载均衡等问题进行优化,使效率得到提升,并在千万亿次超级计算机上顺利实现了千核级并行,并行效率达到90%。 在论文的最后,对研究内容进行了总结,对高性能计算发展的趋势以及与本文研究工作的联系进行了分析,希望可以通过高性能计算的手段促进生物学研究成果的产生,对大规模序列比对技术的发展与应用起到有益推动作用,并对未来可能的改进与优化提出了一些设想。