论文部分内容阅读
随着下一代基因测序技术的发展,基因组序列数据正以指数速率持续增长。据估计,每一个人类个体的基因组约含三十亿个字母,存储这些信息需要使用大容量硬件设备,需要花费巨大的空间代价,成本十分高昂。因此,如何有效地存储和查询这些基因序列数据成为了基因组学和医学面临的一个日益紧迫的问题。相关研究表明,任意两个基因序列之间的相似性程度都非常高。基于此理论提出了一个名为“DNAzip”的方案,其主要思想是选取一个基因序列作为基序列,其他序列的存储只保留与基序列的不同之处。借助该技术,可以有效地解决基因序列的存储难题,但现实中更多的需求是基因序列的查询,将已压缩的基因序列解压缩再进行匹配的传统方案需要强大的计算能力,花费巨额的时间代价以及额外的空间开销。因此,本文研究如何直接在压缩的基因序列上进行高效快速的查询,进而有效地解决该难题。本文综述了现有的模式匹配技术,针对已有的在压缩基因序列上直接进行查询的方法进行了研究与优化。首先针对Min_Verify和C_Verify方法所使用的head tail倒排索引不能直接访问具体修改操作的缺点,提出新的索引结构,然后根据新的索引结构构造基本精确匹配算法。由于在基本查询算法中,存在着相同查询结果验证多次的问题,因此为了提高查询速度,本文提出两种过滤思想:一,过滤head gram和tail gram的重复验证;二,对未修改基序列上查询区间的多个序列的多余验证进行过滤。最后,本文根据这两种过滤思想,分别对精确查询和近似查询进行优化。本文在真实的数据集上进行了大量的测试研究,在索引大小和查询性能上与现有算法进行对比,并对实验结果进行了分析。实验结果显示,添加过滤思想的优化查询算法在运行时间、过滤能力和索引大小方面都优越于其他算法,并且查询串的长度越大,过滤能力越强,算法性能越好。