一种基于共享数据梗概的DNA序列查询系统技术方案

技术编号:23471779 阅读:71 留言:0更新日期:2020-03-06 13:26
本发明专利技术提供一种基于共享数据梗概的DNA序列查询系统,该系统将来自不同档案库的DNA序列压缩到同一个数据梗概中。对于感兴趣的DNA序列,通过该数据梗概可快速查询该序列存在于哪些档案库中。本发明专利技术包括数据预处理,数据梗概的建立与更新,DNA序列查询三个子系统;从给定的DNA序列中提取出有用信息;提出原创的数据梗概对多个档案库的DNA序列数据进行压缩;利用数据梗概对DNA进行查询;本发明专利技术可用于DNA序列查询,通过查询感兴趣的DNA所在的档案库,进一步寻找感兴趣的档案库数据进行研究。

A DNA sequence query system based on shared data

The invention provides a DNA sequence query system based on shared data synopsis, which compresses DNA sequences from different archives into the same data synopsis. For DNA sequences of interest, the data can be used to quickly query which archives the sequences exist in. The invention includes three sub-systems: data preprocessing, establishment and update of data synopsis, and DNA sequence query; extracting useful information from given DNA sequence; proposing original data synopsis to compress DNA sequence data of multiple archives; using data synopsis to query DNA; the invention can be used for DNA sequence query, by querying the archives where interested DNA resides, Further search for interested archives data for research.

【技术实现步骤摘要】
一种基于共享数据梗概的DNA序列查询系统
本专利技术属于数据挖掘
,特别涉及一种基于共享数据梗概的DNA序列查询系统。
技术介绍
微生物基因组的全基因组鸟枪测序已经成为比较基因组研究的重要组成部分,并已在食源性疾病爆发追踪、绘制耐药性分布、传染病诊断等诸多领域中有着广泛的应用。这些DNA序列数据存储在各种档案库中,例如欧洲核苷酸档案库等。相同的DNA序列可能同时存储在多个档案库中。研究人员关注其感兴趣的DNA序列,并通过查找这些DNA序列所在的档案库,进一步获取其感兴趣的档案库,从而开展后续的研究工作。因此,快速判断感兴趣的DNA序列存在于哪些档案库中是一个很重要的问题。通常来说,判断一段DNA序列是否存储在某个档案库中,需要将该DNA序列与档案库中的DNA序列一一比对。由于相同的DNA序列可能存在于多个档案库中,需要将感兴趣的DNA序列在所有候选档案库中进行遍历查找。然而,随着DNA测序逐渐标准化,基因组序列数据的规模以两年一倍的速度不断扩大;与此同时,档案库的数量也在不断增加。因此,在如此庞大的档案库中进行一一比对的计算代价十分高昂,甚至不可承受。当前主流的解决方案对每一个档案库建立一个数据梗概,并将档案库的DNA序列信息压缩存在到数据梗概中。对感兴趣的DNA序列,通过档案库的数据梗概就能快速判断其是否存在于该档案库中。然而,这样的方法有很多的问题。首先,对每个档案库都建立一个数据梗概。当有新的档案库产生时,会对应建立新的数据梗概。由于档案库的数量十分庞大,因此建立众多的数据梗概对存储空间消耗很大。其次,对于每个档案库,其数据梗概的大小是相同的。但是在研究中发现,不同档案库包含的DNA序列数据的规模也不同。有的档案库可能包含大量的DNA序列,有的档案库可能仅仅包含少量的DNA序列。对数据量大的档案库,为保证压缩存储的有效性,其数据梗概占用的存储空间往往也很大。对数据量小的档案库,为保证查询效率,会使用相同大小的数据梗概。这会使得小档案库的数据梗概空间利用率不高,造成严重的空间浪费。
技术实现思路
为了克服上述现有技术的缺点,本专利技术的目的在于提供一种基于共享数据梗概的DNA序列查询系统,一方面,能够在数量众多的档案库中准确查找感兴趣DNA序列位于哪些档案库中。另一方面,不同的档案库共享同一数据梗概,有效地减少了数据梗概所需要的存储空间,提高了数据梗概的空间利用率。第三方面,对新增加的档案库仍然共享同一数据梗概而不必建立新的数据梗概,进一步提高了空间利用率。为了实现上述目的,本专利技术采用的技术方案是:一种基于共享数据梗概的DNA序列查询系统,其特征在于,包括:数据预处理子系统,实现输入数据的预处理,将原始DNA数据进行解析,处理成容易进行后续操作的二元组;具体地,数据预处理子系统对原始DNA数据进行处理,从中提取出DNA序列及其所属档案库信息。即二元组e=(x,y),第一项为DNA序列信息,第二项为该DNA序列所属的档案库。即二元组e=(x,y)的含义为来自档案库y的DNA序列x,x表示为字符串格式,y为区间[0,n]内的正整数,即y={1,…,n},n为档案库的数量。数据梗概建立与更新子系统,将来自不同档案库的二元组压缩存储到数据梗概中,实现对不同档案库的共享压缩存储,以便后续查询。具体地,所述数据梗概建立与更新子系统将不同的二元组映射到同一数据梗概中,实现对不同档案库的共享压缩存储,为降低查询误差,首先将二元组映射成多个三元组,再将三元组映射到数据梗概相应的位置上,更新对应位置的元素值,由此实现二元组的共享压缩存储与数据梗概的更新。DNA序列查询子系统,在完成对来自不同档案库的DNA序列信息的压缩存储后,对给定感兴趣的DNA序列,通过数据梗概近似查询其存在于哪些档案库。具体地,将给定的DNA序列信息组合成若干三元组,这些三元组被映射到数据梗概对应的位置上,根据数据梗概对应位置元素的取值进行判断,得到最终查询结果。更加具体地:所述数据预处理子系统中,定义一簇哈希函数f和三元组L,哈希函数f包含r个相互独立的哈希函数f1,…,fr,哈希函数f将二元组e=(x,y)中的档案库编号y随机映射到任意一个正整数,即fi:y→N,i=1,…,r,对不同的档案库编号y1和y2,有f(y1)≠f(y2),由二元组e=(x,y)和哈希函数f,定义三元组Li,y=(i,fi(y),x),i=1,…,r,其中,i为哈希函数的序号,fi(y)为哈希函数fi对档案库信息y的哈希结果,对每个二元组e=(x,y),借由r个哈希函数f1,…,fr,能产生r个不同的三元组。所述数据梗概建立与更新子系统采用基于比特位数组的数据梗概对DNA序列信息进行压缩,将数据梗概定义为B,其长度为|B|=m,元素bj={0,1}∈B,j=1,…,m,初始化bj←0,即数据梗概B为长度为m的比特位数组,数据梗概B通过哈希函数进行更新;据此,定义一簇哈希函数h,哈希函数h包含k个相互独立的哈希函数h1,…,hk,哈希函数h将三元组Li,y=(i,fi(y),x)映射到{1,…,m}共m个整数中,即hj:(i,fi(y),x)→{1,…,m},j=1,…,k,映射的结果满足均匀分布,即对每个三元组Li,y,哈希函数h将其均匀映射到数据梗概B的k个不同的位置。所述DNA序列查询子系统中,在二元组e=(x,y)到来时,首先通过哈希函数f产生r个三元组Li,y=(i,fi(y),x),i=1,…,r,对每个三元组Li,y,通过哈希函数h将Li,y映射到数据梗概的k个位置hj(Li,y),j=1,…,k,并将对应位置的元素置为1,即所述DNA序列查询子系统中,在给定感兴趣的DNA序列x时,将查询结果,即x可能所在的档案库集合表示为Mx,并初始化对感兴趣的DNA序列x,首先产生n*r个三元组Li,y=(i,fi(y),x),i=1,…,r;y=1,…,n,对固定的y,按照如下步骤更新Mx:(1)使用哈希函数组hj,j=1,…,k,对r个三元组Li,y,i=1,…,r,哈希到数据梗概对应的位置(2)若对应位置的值均为1,则更新Mx←Mx∪{y},反之不更新Mx;改变y的取值,重复上述两个步骤,直到y遍历1,…,n,得到的Mx即为最终DNA序列x所在的档案库查询结果。与现有技术相比,本专利技术的有益效果是:1、能够在数量众多的档案库中查找感兴趣DNA序列所在的档案库。本专利技术使用一种原创的数据梗概,通过设计数据梗概的更新算法,可以对任意数量的档案库进行压缩存储;可以保证系统内存不会因为数据量过大而溢出,又可以保证查询效率。2、不同的档案库共享同一数据梗概,减少了数据梗概所需要的内存空间,提高了数据梗概的空间利用率。本专利技术采用比特位数组作为数据梗概,保证数据梗概自身存储空间的高效性,同时在不同的档案库之间共享该数据梗概,更加高效的利用了存储空间,解决了档案库之间由于规模的差别而导致的空间利用率低的难题。3、对新增加本文档来自技高网
...

【技术保护点】
1.一种基于共享数据梗概的DNA序列查询系统,其特征在于,包括:/n数据预处理子系统,实现输入数据的预处理,将原始DNA数据进行解析,处理成容易进行后续操作的二元组;/n数据梗概建立与更新子系统,将来自不同档案库的二元组压缩存储到数据梗概中;/nDNA序列查询子系统,对给定感兴趣的DNA序列,通过数据梗概近似查询其存在于哪些档案库。/n

【技术特征摘要】
1.一种基于共享数据梗概的DNA序列查询系统,其特征在于,包括:
数据预处理子系统,实现输入数据的预处理,将原始DNA数据进行解析,处理成容易进行后续操作的二元组;
数据梗概建立与更新子系统,将来自不同档案库的二元组压缩存储到数据梗概中;
DNA序列查询子系统,对给定感兴趣的DNA序列,通过数据梗概近似查询其存在于哪些档案库。


2.根据权利要求1所述基于共享数据梗概的DNA序列查询系统,其特征在于,所述数据预处理子系统对原始DNA数据进行处理,从中提取出DNA序列及其所属档案库信息,即二元组e=(x,y),x为DNA序列信息,y为存储该DNA序列的档案库,即二元组e=(x,y)的含义为来自档案库y的DNA序列x,x表示为字符串格式,y为区间[0,n]内的正整数,即y={1,…,n},n为档案库的数量。


3.根据权利要求2所述基于共享数据梗概的DNA序列查询系统,其特征在于,所述数据梗概建立与更新子系统将不同的二元组映射到同一数据梗概中,实现对不同档案库的共享压缩存储,为降低查询误差,首先将二元组映射成多个三元组,再将三元组映射到数据梗概相应的位置上,更新对应位置的元素值,由此实现二元组的共享压缩存储与数据梗概的更新。


4.根据权利要求3所述基于共享数据梗概的DNA序列查询系统,其特征在于,所述数据预处理子系统中,定义一簇哈希函数f和三元组L,哈希函数f包含r个相互独立的哈希函数f1,…,fr,哈希函数f将二元组e=(x,y)中的档案库编号y随机映射到任意一个正整数,即fi:y→N,i=1,…,r,对不同的档案库编号y1和y2,有f(y1)≠f(y2),由二元组e=(x,y)和哈希函数f,定义三元组Li,y=(i,fi(y),x),i=1,…,r,其中,i为哈希函数的序号,fi(y)为哈希函数fi对档案库信息y的哈希结果,对每个二元组e=(x,y),借由r个哈希函数f1,…,fr,能产生r个不同的三元组。


5.根据权利要求4所述基于共享数据梗概的DNA序列查询系统,其特征在于,所述数据梗概建立与更新子...

【专利技术属性】
技术研发人员:王平辉李润东狄佳孙飞扬樊子恩
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1