论文部分内容阅读
生物测序技术是分子生物学研究中的基础技术,用来测定生物基因序列组成。测序工程中产生海量的生物数据,数据规模呈指数级地快速增长。如何存储,处理和分析这些生物数据是大数据时代生物学家面临的主要问题。数据压缩技术可以有效缩减数据存储量,高效利用现有存储设备和带宽资源存储共享数据,有效地缓解数据增长带来的压力。DNA序列是生物医学研究的主要数据对象,序列中存在大量因自我复制和基因突变行为产生的直接重复或近似重复的基因片段,传统压缩方法对其压缩效果不佳。高性能的DNA序列压缩方法是解决生物数据高效存储的有效方法,具有重要的研究意义。针对DNA序列的专用压缩方法尚处于研究探索阶段,早期的研究中DNA序列压缩算法利用文本压缩处理的思想缩减冗余数据,相比通用压缩方法取得了较高的压缩率。随着高通量测序技术的发展,为探究不同个体基因的差异性对已测序物种进行了重测序工程,产生了很多相似个体的数据集合。集合中不仅存在单个序列内部的横向冗余信息,还存在多个序列个体间的公共冗余信息,近期的DNA序列压缩多是以寻找多个序列间的差异信息来缩减数据量。本文以传统压缩理论技术为基础,对当前DNA序列压缩技术研究学习并对其作出分类总结,利用序列对比思想对现有压缩方法进行优化改进,设计出一个对DNA序列集合高效压缩处理的方法Gcompress(Genome compress)。该方法设计了两种压缩模式,一种是针对单序列个体内部局部相似性数据缩减;另一种是对不同序列个体间相似数据缩减。两种模式利用了字典压缩的思想并结合Huffman编码方法有效缩减序列间的冗余数据。本文将新方法与通用压缩软件gzip和现有优秀DNA序列压缩方法的压缩性能进行比较。实验结果表明,单序列压缩模式与gzip相比,能在低时间消耗的同时取得较高的压缩率;多序列压缩模式与对比算法相比在保证优秀的压缩率的同时,有效提升了压缩速度。另外,本文利用Map/Reduce模型结合单序列压缩模式实现了基于分块思想的分布式压缩方法,利用数据的局部相关性有效缩减冗余信息,解决单点处理大序列文件压力大的问题,有效利用生物信息处理云平台的计算资源为数据的高效存储和传输共享提供支持。