CN112131218B - 一种基因对比的哈希查表方法、装置、设备及存储介质 - Google Patents
一种基因对比的哈希查表方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112131218B CN112131218B CN202010922857.4A CN202010922857A CN112131218B CN 112131218 B CN112131218 B CN 112131218B CN 202010922857 A CN202010922857 A CN 202010922857A CN 112131218 B CN112131218 B CN 112131218B
- Authority
- CN
- China
- Prior art keywords
- query
- short sequence
- state
- target
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013139 quantization Methods 0.000 claims description 8
- 230000002068 genetic effect Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基因对比的哈希查表方法、装置、设备及计算机可读存储介质,该方法包括:获取待比对基因序列的待匹配短序列对应的查表指令;其中,查表指令包括待匹配短序列的标识信息和查询目标;根据标识信息,获取查表指令对应的查表记录信息;判断查表记录信息中是否包括查询目标对应的查询结果;若是,则利用查表记录信息,获取查询结果;本发明通过查表指令对应的查表记录信息的存储和更新,使得查表记录信息中包括查询目标对应的查询结果时,能够直接利用查表记录信息获取查询结果,减少了冗余查表操作,从而能够提升基因数据对比过程中的哈希查表过程的性能,降低了查表时间。
Description
技术领域
本发明涉及基因数据对比技术领域,特别涉及一种基因对比的哈希查表方法、装置、设备及计算机可读存储介质。
背景技术
随着医疗科学的进步,精准医疗越来越接近普通人的生活,基因数据的处理作为基因诊断的重要环节之一,而基因数据比对是基因数据处理的前提。目前众多医疗机构和生物公司采用的数据比对方案中有采用基于哈希(hash)算法的基因数据比对软件对基因数据处理,基于hash的方式进行查表相比如基于BWT(Burrows–Wheeler_transform,一种数据转换算法)查表法算法的基因比对软件bwa的其他比对软件性能会有明显增加。
现有技术中,基因数据对比过程中的哈希查表过程,往往如图1所示的局部完全hash+局部遍历的方式,如图1中Point(指向)表+CAL(candidate alignment location,预测匹配位置)表;在从待匹配的read(待比对基因序列)的不同位置,切割出更短的定长序列,经hash计算生成key值(即hash值),将KEY值按需分为高低两部分,高位部分作为完全hash部分,value字段存储CAL表对应上下边界表项(Start和End),低位部分value字段存储真实CAL值。哈希查表过程可以概括为获取KEY后,把KEY的高位作为索引从Point表中获取当前KEY高位对应CAL表的起始表项编码Start,以及当前Point表项后一项中获取当前KEY高位对应CAL表的结束表项编码End;遍历Start-End区间的CAL表项,将KEY字段对应值与当前查询的KEY低位相同的CAL表项提取汇总,作为查询结果输出,得到获取的KEY对应的预测匹配位置。
然而,以经典基于hash的查表算法为例,每次查询都是以预设查询长度生成key值,按上述过程进行查表,而查询过程中需要遍历比对CAL表中Start-End区间内每个key值低位字段是否和待匹配的输入key值低位字段相同,如果相同则将CAL值提取出来汇总,使得该遍历过程极大的限制了查表过程的整体性能表现。因此,如何能够提高基因数据对比过程中的哈希查表过程的性能,减少冗余查表操作,降低查表时间,是现今急需解决的问题。
发明内容
本发明的目的是提供一种基因对比的哈希查表方法、装置、设备及计算机可读存储介质,以提高哈希查表过程的性能,减少冗余查表操作,降低查表时间。
为解决上述技术问题,本发明提供一种基因对比的哈希查表方法,包括:
获取待比对基因序列的待匹配短序列对应的查表指令;其中,所述查表指令包括所述待匹配短序列的标识信息和查询目标;
根据所述标识信息,获取所述查表指令对应的查表记录信息;其中,所述查表记录信息包括所述标识信息;
判断所述查表记录信息中是否包括所述查询目标对应的查询结果;
若是,则利用所述查表记录信息,获取所述查询结果;
若否,则利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息。
可选的,所述标识信息包括所述待匹配短序列在所述待比对基因序列中的起始位置和结束位置,所述查表记录信息还包括所述待匹配短序列对应的查表结束跳转状态和所述查表结束跳转状态对应的查表结果。
可选的,所述利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息,包括:
根据所述查表结束跳转状态和所述查表结果,利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息。
可选的,所述哈希表包括指向表和预测匹配位置表时,所述查表结束跳转状态为初始状态、出现次数状态、预测匹配位置状态或采纳状态。
可选的,所述查询目标为所述待匹配短序列对应的预测匹配位置时,所述根据所述查表结束跳转状态和所述查表结果,利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息,包括:
所述查表结束跳转状态为所述初始状态时,根据对所述待匹配短序列进行哈希计算的哈希值和所述指向表和所述预测匹配位置表,获取所述待匹配短序列对应的出现次数和所述出现次数对应的所述预测匹配位置表中的目标位置,并更新所述查表记录信息中的所述查表结束跳转状态和所述查表结果;其中,更新后的所述查表结束跳转状态为所述出现次数状态,更新后的所述查表结果包括所述出现次数和所述目标位置,所述目标位置为所述预测匹配位置表中的目标查找范围内所述哈希值的低位部分对应的哈希信息,所述目标查找范围为所述哈希值的高位部分匹配的所述指向表中的匹配内容对应的所述预测匹配位置表的范围;
所述查表结束跳转状态为所述出现次数状态时,从所述预测匹配位置表中查询获取目标预测匹配位置,并更新所述查表记录信息中的所述查表结束跳转状态和所述查表结果;其中,更新后的所述查表结束跳转状态为所述预测匹配位置状态,更新后的所述查表结果包括所述目标预测匹配位置,所述目标预测匹配位置为所述查表结果中的所述目标位置对应的预测匹配位置;
所述查表结束跳转状态为所述预测匹配位置状态时,确定所述目标预测匹配位置是否满足所述查表指令中的查询要求;若满足所述查询要求,则将所述预测匹配位置作为所述查询结果,并更新所述查表记录信息中的所述查表结束跳转状态;其中,更新后的所述查表结束跳转状态为所述采纳状态。
可选的,所述根据对所述待匹配短序列进行哈希计算的哈希值和所述指向表和所述预测匹配位置表,获取所述待匹配短序列对应的出现次数和所述出现次数对应的所述预测匹配位置表中的目标位置,包括:
对所述待匹配短序列进行哈希计算,得到所述哈希值;其中,所述哈希值包括所述高位部分和所述低位部分;
查询所述指向表中所述高位部分对应的匹配内容;
根据所述匹配内容,确定所述预测匹配位置表中的所述目标查找范围;
从所述目标查找范围内查找与所述低位部分连续相同的哈希范围,将所述哈希范围的起始哈希位置和结束哈希位置作为所述目标位置,将所述结束哈希位置与所述起始哈希位置之差作为所述出现次数。
可选的,所述获取待比对基因序列的待匹配短序列对应的查表指令,包括:
获取所述待比对基因序列的查询短序列;
若所述查询短序列的查询长度大于预设最长查询长度,则按照预设步长将所述查询短序列划分为多个目标查询短序列,并生成每个所述目标查询短序列各自对应的查表指令;其中,第一目标查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置和所述查询短序列的起始位置与所述预设最长查询长度之和,第二目标查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置与所述预设步长之和以及所述查询短序列的起始位置与所述预设步长和所述预设最长查询长度之和;
对应的,查询到所述第一目标查询短序列和所述第二目标查询短序列各自对应的查询结果后,还包括:
利用所述预设步长,对所述第一目标查询短序列和所述第二目标查询短序列各自对应的查询结果中的预测匹配位置进行同一量化操作,得到结合查询短序列对应的预测匹配位置;其中,所述结合查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置和所述查询短序列的起始位置与所述预设步长和所述预设最长查询长度之和。
本发明还提供了一种基因对比的哈希查表装置,包括:
指令获取模块,用于获取待比对基因序列的待匹配短序列对应的查表指令;其中,所述查表指令包括所述待匹配短序列的标识信息和查询目标;
记录获取模块,用于根据所述标识信息,获取所述查表指令对应的查表记录信息;其中,所述查表记录信息包括所述标识信息;
判断模块,用于判断所述查表记录信息中是否包括所述查询目标对应的查询结果;
记录查询模块,用于若包括查询结果,则利用所述查表记录信息,获取所述查询结果;
哈希查询模块,用于若不包括查询结果,则利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息。
本发明还提供了一种基因对比的哈希查表设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的基因对比的哈希查表方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的基因对比的哈希查表方法的步骤。
本发明所提供的一种基因对比的哈希查表方法,包括:获取待比对基因序列的待匹配短序列对应的查表指令;其中,查表指令包括待匹配短序列的标识信息和查询目标;根据标识信息,获取查表指令对应的查表记录信息;其中,查表记录信息包括标识信息;判断查表记录信息中是否包括查询目标对应的查询结果;若是,则利用查表记录信息,获取查询结果;若否,则利用待匹配短序列的查询长度对应的哈希表,获取查询结果,并根据查询结果更新查表记录信息;
可见,本发明通过查表指令对应的查表记录信息的存储和更新,使得查表记录信息中包括查询目标对应的查询结果时,能够直接利用查表记录信息获取查询结果,减少了冗余查表操作,从而能够提升基因数据对比过程中的哈希查表过程的性能,降低了查表时间。此外,本发明还提供了一种基因对比的哈希查表装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中基因数据对比的哈希查表过程的示意图;
图2为本发明实施例所提供的一种基因对比的哈希查表方法的流程图;
图3为本发明实施例所提供的一种哈希表查询的状态跳转示意图;
图4为本发明实施例所提供的一种基因对比的哈希查表装置的结构框图;
图5为本发明实施例所提供的一种基因对比的哈希查表设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明实施例所提供的一种基因对比的哈希查表方法的流程图。该方法可以包括:
步骤101:获取待比对基因序列的待匹配短序列对应的查表指令;其中,查表指令包括待匹配短序列的标识信息和查询目标。
具体的,本步骤中的待匹配短序列可以为待比对基因序列中切分出的需要进行匹配的符合哈希表的查询长度(即len长度)的短序列。本步骤中的查表指令可以为控制处理器对待匹配短序列进行哈希查表匹配指令。
需要说明的是,本实施例是以待比对基因序列中的一个待匹配短序列的哈希查表过程为进行的展示,对于该待比对基因序列中的其他待匹配短序列的哈希查表过程和其他待比对基因序列中的待匹配短序列的哈希查表过程,可以采用与本实施例所提供的方法相同或相似的方式实现,本实施例对此不作任何限制。
可以理解的是,本实施例中查表指令中的待匹配短序列的标识信息可以为用于标识待比对基因序列的待匹配短序列的信息,查表指令中的查询目标可以为对待比对基因序列的待匹配短序列进行哈希查表匹配,所需查询的内容,如待匹配短序列对应的预测匹配位置(CAL)和/或待匹配短序列对应的预测匹配位置的出线次数(OCC,occurrence)。
步骤102:根据标识信息,获取查表指令对应的查表记录信息;其中,查表记录信息包括标识信息。
可以理解的是,本步骤中的查表指令对应的查表记录信息可以为预先设置的存储记录有待比对基因序列的待匹配短序列之前的哈希查表匹配结果(即曾经查询结果)的信息,即该查表记录信息与该待比对基因序列和该待匹配短序列相对应。
具体的,对于本步骤中查表指令对应的查表记录信息的具体内容,可以由设计人员根据实用场景和用户需求自行设置,如查表记录信息可以包括待匹配短序列的标识信息和曾经查询结果(如OCC和CAL);为了便于曾经查询结果的记录和使用,本实施例中可以将曾经查询结果划分为查表结束跳转状态和查表结束跳转状态对应的查表结果,即将现有的利用哈希表查询CAL的过程划分为多个依次跳转的状态,使得处理器可以利用查表记录信息中的之前查表结束时的状态(即查表结束跳转状态),便可确定查表结束跳转状态对应的查表结果中是否存储有当前的查表指令的查询目标对应的查询结果,并且在存储有当前的查表指令的查询目标对应的查询结果时,可以通过继续进行查表结束跳转状态的下一状态,在哈希表中查找当前的查表指令的查询目标对应的查询结果,进一步减少不必要的查表操作。
例如,利用哈希表查询CAL时,所使用的哈希表包括如图1所示的指向表(Point表)和预测匹配位置表(CAL表)时,如图3所示,本实施例中可以定义CAL查询过程分为初始状态(RESET_STATE)、出现次数状态(OCC_STATE)、预测匹配位置状态(CAL_STATE)和采纳状态(DIRTY_STATE)这四个状态对应的四个步骤;初始状态可以为初始未进行查询的状态,出现次数状态可以为查询获取了OCC未获取CAL的状态,预测匹配位置状态可以为查询获取了OCC以及CAL的状态,采纳状态可以为查询获取了OCC以及CAL列表并已经采纳的状态。使得每次查表指令的查询过程中,每次查询可以先根据状态和查询目标,直接返回相应查询结果或者跳转到下一个状态对应的查询操作进行查询,而多次执行同一个查询目标的查询下,可以直接返回相应查询结果而不需要重复查表,节省了大量查询时间;也就是说,查表结束跳转状态可以具体为初始状态、出现次数状态、预测匹配位置状态或采纳状态。
对应的,本实施例中可以处理器可以生成待比对基因序列和不同哈希表的查询长度对应的二维状态记录表,每个二维状态记录表可以待比对基因序列相应查询长度的待匹配短序列对应的查表记录信息,查表记录信息可以包括查表结束跳转状态(state)、查询到的CAL的列表(CALlist)、出现次数(OCC)、待匹配短序列在待比对基因序列中的起始位置(qb)和结束位置(qe)以及查询到的CAL在CAL表中的位置(即目标位置)。进一步的,本实施例中可以建哈希表的过程中对point表和CAL表进行排序处理,使得查表记录信息中的目标位置可以设置为查询到的CAL在CAL表中起始哈希位置(cb)和结束哈希位置(ce),相应的OCC可以为ce与cb的差。初始状态时state置为RESET_STATE,CALlist清空,OCC置零。
具体的,如图3所示,本实施例中利用point表和CAL表查询待匹配短序列对应的CAL的过程可以如下:
初始状态(RESET_STATE):对待比对基因序列的qb位置开始的len长度(即qe与qb之差)短串查询OCC,对短串进行hash计算生成keyR(即哈希值),利用keyR的高位查询对应的point表,获取CAL表查询范围(Start-End),分别从start和end两端利用CAL表按key低位进行排序的特性执行二分查找,直至搜索到CAL表项中连续key低位与keyR的低位相同的表项区间(cb-ce)并存储于二维状态记录表的查表记录信息。更新二维状态记录表中的查表记录信息:state置为OCC_STATE、cb、ce、OCC置为ce与cb之差,qe置为qb+len。查询目标包括OCC时,可以直接返回OCC,查询目标包括CAL时,可以跳转到OCC_STATE,继续查询CAL。
出现次数状态(OCC_STATE):对待比对基因序列的qb位置开始的len长度短串查询CAL时,利用查表记录信息从CAL表中提取cb位置直至ce位置的CAL,并执行相应的格式转化,执行整体拷贝操作到查表记录信息的CALlist,更新二维状态记录表中的查表记录信息:state置为CAL_STATE。对待比对基因序列的qb位置开始的len长度短串查询OCC时,直接返回查表记录信息中记录的OCC。
预测匹配位置状态(CAL_STATE):对待比对基因序列的qb位置开始的len长度短串查询OCC时,直接返回查表记录信息中记录的OCC;对待比对基因序列的qb位置开始的len长度短串查询CAL时,直接返回查表记录信息中记录的CAL;对待比对基因序列的qb位置开始的len长度短串查询CAL的结果满足要求,对其采纳,则更新查表记录信息:state置为DIRTY_STATE,表示该查表记录信息对应的查询结果已经被使用占用。
采纳状态(DIRTY_STATE):对任何查询直接返回无效(invalid)信息,表示该查表记录信息的对应的查询结果已经被使用占用。
具体的,标识信息包括待匹配短序列在待比对基因序列中的起始位置(qb)和结束位置(qe)时,本步骤中处理器可以根据从待比对基因序列对应的多个二维状态记录表中查找查询长度为qe与qb之差的二维状态记录表,并在该二维状态记录表中查找qe对应的查表记录信息。
步骤103:判断查表记录信息中是否包括查询目标对应的查询结果;若否,则进入步骤104;若是,则步骤105。
具体的,本步骤的目的可以为通过判断查表记录信息中是否包括查询目标对应的查询结果,确定查表指令对应的查表记录信息是否存储有查表指令的全部查询目标对应的查询结果,从而可以在查表记录信息存储有查表指令的全部查询目标对应的查询结果时,直接从查表记录信息获取查询结果,减少查询哈希表的操作。
具体的,本步骤中处理器可以根据查询目标和查表记录信息中的查表结束跳转状态,判断查表记录信息中是否包括查询目标对应的查询结果。例如查询目标包括CAL时,若查表结束跳转状态为初始状态或出现次数状态,则查表记录信息不包括查询目标对应的查询结果;若查表结束跳转状态为预测匹配位置状态或采纳状态,查表记录信息包括查询目标对应的查询结果。
步骤104:利用待匹配短序列的查询长度对应的哈希表,获取查询结果,并根据查询结果更新查表记录信息。
可以理解的是,本步骤的目的可以为在查表记录信息未存储有查表指令的全部查询目标对应的查询结果时,利用待比对基因序列的待匹配短序列的查询长度对应的哈希表进行查表操作,从而得到查表指令对应的查询结果,并通过更新查表记录信息,以使之后再获取相同的查表指令时能够利用从更新后的查表记录信息获取查询结果。
具体的,查表指令对应的查表记录信息中存储有查表结束跳转状态和查表结束跳转状态对应的查表结果时,处理器可以根据查表结束跳转状态和查表结果,利用待匹配短序列的查询长度对应的哈希表,获取查询结果,并根据查询结果更新查表记录信息。例如,哈希表包括指向表和预测匹配位置表时,查表结束跳转状态为初始状态、出现次数状态、预测匹配位置状态或采纳状态,查询目标为待匹配短序列对应的预测匹配位置(CAL)时,处理器可以在查表结束跳转状态为初始状态时,根据对待匹配短序列进行哈希计算的哈希值和指向表和预测匹配位置表,获取待匹配短序列对应的出现次数和出现次数对应的预测匹配位置表中的目标位置,并更新查表记录信息中的查表结束跳转状态和查表结果;其中,更新后的查表结束跳转状态为出现次数状态,更新后的查表结果包括出现次数和目标位置,目标位置为预测匹配位置表中的目标查找范围内哈希值的低位部分对应的哈希信息,目标查找范围为哈希值的高位部分匹配的指向表中的匹配内容对应的预测匹配位置表的范围;
在查表结束跳转状态为出现次数状态时,从预测匹配位置表中查询获取目标预测匹配位置,并更新查表记录信息中的查表结束跳转状态和查表结果;其中,更新后的查表结束跳转状态为预测匹配位置状态,更新后的查表结果包括目标预测匹配位置,目标预测匹配位置为查表结果中的目标位置对应的预测匹配位置;
在查表结束跳转状态为预测匹配位置状态时,确定目标预测匹配位置是否满足查表指令中的查询要求;若满足查询要求,则将预测匹配位置作为查询结果,并更新查表记录信息中的查表结束跳转状态;其中,更新后的查表结束跳转状态为采纳状态。
对应的,在建哈希表的过程中对point表和CAL表进行了排序处理时,上述根据对待匹配短序列进行哈希计算的哈希值和指向表和预测匹配位置表,获取待匹配短序列对应的出现次数和出现次数对应的预测匹配位置表中的目标位置,可以具体为对待匹配短序列进行哈希计算,得到哈希值;其中,哈希值包括高位部分和低位部分;查询指向表中高位部分对应的匹配内容;根据匹配内容,确定预测匹配位置表中的目标查找范围;从目标查找范围内查找与低位部分连续相同的哈希范围,将哈希范围的起始哈希位置(cb)和结束哈希位置(ce)作为目标位置,将结束哈希位置与起始哈希位置之差作为出现次数。
步骤105:利用查表记录信息,获取查询结果。
可以理解的是,本步骤的目的可以为在查表记录信息存储有查表指令的全部查询目标对应的查询结果时,利用查表记录信息直接得到查表指令对应的查询结果,从而避免了查表操作的过程。
具体的,查表指令对应的查表记录信息中存储有查表结束跳转状态和查表结束跳转状态对应的查表结果时,若查表结束跳转状态为初始状态、出现次数状态、预测匹配位置状态或采纳状态,则本步骤可以具体为在查询目标为OCC时,处理器在查表结束跳转状态为出现次数状态或预测匹配位置状态时,从查表记录信息中获取OCC;在查询目标为CAL时,处理器在查表结束跳转状态为预测匹配位置状态时,从查表记录信息中获取CAL;在查询目标为OCC和/或CAL时,处理器在查表结束跳转状态为采纳状态时,直接获取无效信息,以提示该查表记录信息的对应的查询结果已经被使用占用。
对应的,本步骤中在利用查表记录信息,获取查询结果后,也可以对查表记录信息进行更新,如在查表结束跳转状态为预测匹配位置状态时,确定目标预测匹配位置是否满足查表指令中的查询要求;若满足查询要求,则将预测匹配位置作为查询结果,并更新查表记录信息中的查表结束跳转状态;其中,更新后的查表结束跳转状态为采纳状态。
需要说明的是,由于hash算法的特性限制,基于hash的基因比对方法只能支持定长的hash查询,如若需要变长查询只能创建不同长度的hash表。由于hash空间巨大,不能无限制的创建不同长度的hash表,只能创建有限长度范围内的hash表供匹配查询。本实施例中在需要查询的从待比对基因序列切分的短序列(即查询短序列)的查询长度(即qb1~qe1)大于预设最长查询长度(支持最大hash范围的hash表的hash范围,MAX_HL)时,本实施例中处理器可以按预设步长(STEP)将查询短序列划分为多个查询长度为MAX_HL的目标查询短序列,并生成每个目标查询短序列各自对应的查表指令,以通过上述本实施例所提供的哈希查表得到每个目标查询短序列对应的查询结果。其中,划分的多个目标查询短序列中第一个目标查询短序列(即第一目标查询短序列)的起始位置可以为查询短序列的起始位置(qb1),结束位置可以为查询短序列的起始位置与预设最长查询长度之和(qb1+MAX_HL);第二个目标查询短序列(即第二目标查询短序列)的起始位置可以为查询短序列的起始位置与预设步长之和(qb1+STEP),结束位置可以为查询短序列的起始位置与预设步长和预设最长查询长度之和(qb1+STEP+MAX_HL);最后一个目标查询短序列的起始位置和结束位置可以分别为qb1+nSTEP和qe1(即qb1+nSTEP+MAX_HL)。
对应的,查询到第一目标查询短序列和第二目标查询短序列各自对应的查询结果后,本实施例还可以包括:利用预设步长,对第一目标查询短序列和第二目标查询短序列各自对应的查询结果中的预测匹配位置进行同一量化操作,得到结合查询短序列对应的预测匹配位置;其中,结合查询短序列的起始位置和结束位置分别为查询短序列的起始位置和查询短序列的起始位置与预设步长和预设最长查询长度之和;也就是分别比对第一目标查询短序列对应的CALlist1和第二目标查询短序列对应的CALlist2中不同CAL值进行统一量化操作,即进行CAL-qb1和CAL-qb1-STEP的操作,若结果值相同,可以认为两个CAL结果为同一CAL结果,从而可以将比对长度扩充为qb1+nSTEP+MAX_HL与qb1之差长度;之后依次将之后的目标查询短序列对应的CALlist与当前扩充后得到的CALlist进行统一量化操作,直至将比对长度扩充为qe1与qb1之差长度,得到最终量化结果相同的全部CAL结果。
也就是说,本实施例可以利用查询短序列对应的多个目标查询短序列的查询结果中的预测匹配位置(CAL)的拼接,得到查询长度大于预设最长查询长度的查询短序列对应的CAL,从而避免了支持更大hash范围的hash表的创建。
具体的,本步骤中预设步长(STEP)的具体数值,可以由设计人员自行设置,如按需选择范围为1~MAX_HL之间的任一值,其中预设步长的值越小,比对精度越高,但计算量会增加;反之则比对精度越低,但计算量会降低。
本实施例中,本发明实施例通过查表指令对应的查表记录信息的存储和更新,使得查表记录信息中包括查询目标对应的查询结果时,能够直接利用查表记录信息获取查询结果,减少了冗余查表操作,从而能够提升基因数据对比过程中的哈希查表过程的性能,降低了查表时间。
请参考图4,图4为本发明实施例所提供的一种基因对比的哈希查表装置的结构框图。该装置可以包括:
指令获取模块10,用于获取待比对基因序列的待匹配短序列对应的查表指令;其中,查表指令包括待匹配短序列的标识信息和查询目标;
记录获取模块20,用于根据标识信息,获取查表指令对应的查表记录信息;其中,查表记录信息包括标识信息;
判断模块30,用于判断查表记录信息中是否包括查询目标对应的查询结果;
记录查询模块40,用于若包括查询结果,则利用查表记录信息,获取查询结果;
哈希查询模块50,用于若不包括查询结果,则利用待匹配短序列的查询长度对应的哈希表,获取查询结果,并根据查询结果更新查表记录信息。
可选的,标识信息可以包括待匹配短序列在待比对基因序列中的起始位置和结束位置,查表记录信息还包括待匹配短序列对应的查表结束跳转状态和查表结束跳转状态对应的查表结果。
可选的,哈希查询模块50,可以包括:
状态哈希查询子模块,用于根据查表结束跳转状态和查表结果,利用待匹配短序列的查询长度对应的哈希表,获取查询结果,并根据查询结果更新查表记录信息。
可选的,哈希表包括指向表和预测匹配位置表时,查表结束跳转状态可以为初始状态、出现次数状态、预测匹配位置状态或采纳状态。
可选的,查询目标为待匹配短序列对应的预测匹配位置时,状态哈希查询子模块,可以包括:
初始状态单元,用于查表结束跳转状态为初始状态时,根据对待匹配短序列进行哈希计算的哈希值和指向表和预测匹配位置表,获取待匹配短序列对应的出现次数和出现次数对应的预测匹配位置表中的目标位置,并更新查表记录信息中的查表结束跳转状态和查表结果;其中,更新后的查表结束跳转状态为出现次数状态,更新后的查表结果包括出现次数和目标位置,目标位置为预测匹配位置表中的目标查找范围内哈希值的低位部分对应的哈希信息,目标查找范围为哈希值的高位部分匹配的指向表中的匹配内容对应的预测匹配位置表的范围;
出现次数状态单元,用于查表结束跳转状态为出现次数状态时,从预测匹配位置表中查询获取目标预测匹配位置,并更新查表记录信息中的查表结束跳转状态和查表结果;其中,更新后的查表结束跳转状态为预测匹配位置状态,更新后的查表结果包括目标预测匹配位置,目标预测匹配位置为查表结果中的目标位置对应的预测匹配位置;
预测匹配位置状态单元,用于查表结束跳转状态为预测匹配位置状态时,确定目标预测匹配位置是否满足查表指令中的查询要求;若满足查询要求,则将预测匹配位置作为查询结果,并更新查表记录信息中的查表结束跳转状态;其中,更新后的查表结束跳转状态为采纳状态。
可选的,初始状态单元,可以包括:
哈希计算子单元,用于对待匹配短序列进行哈希计算,得到哈希值;其中,哈希值包括高位部分和低位部分;
指向表查询子单元,用于查询指向表中高位部分对应的匹配内容;
范围确定子单元,用于根据匹配内容,确定预测匹配位置表中的目标查找范围;
查询子单元,用于从目标查找范围内查找与低位部分连续相同的哈希范围,将哈希范围的起始哈希位置和结束哈希位置作为目标位置,将结束哈希位置与起始哈希位置之差作为出现次数。
可选的,指令获取模块10,可以包括:
序列获取子模块,用于获取待比对基因序列的查询短序列;
切分生成子模块,用于若查询短序列的查询长度大于预设最长查询长度,则按照预设步长将查询短序列划分为多个目标查询短序列,并生成每个目标查询短序列各自对应的查表指令;其中,第一目标查询短序列的起始位置和结束位置分别为查询短序列的起始位置和查询短序列的起始位置与预设最长查询长度之和,第二目标查询短序列的起始位置和结束位置分别为查询短序列的起始位置与预设步长之和以及查询短序列的起始位置与预设步长和预设最长查询长度之和。
对应的,该装置还可以包括:
拼接模块,用于在查询到第一目标查询短序列和第二目标查询短序列各自对应的查询结果后,利用预设步长,对第一目标查询短序列和第二目标查询短序列各自对应的查询结果中的预测匹配位置进行同一量化操作,得到结合查询短序列对应的预测匹配位置;其中,结合查询短序列的起始位置和结束位置分别为查询短序列的起始位置和查询短序列的起始位置与预设步长和预设最长查询长度之和。
本实施例中,本发明实施例通过查表指令对应的查表记录信息的存储和更新,使得查表记录信息中包括查询目标对应的查询结果时,能够直接利用查表记录信息获取查询结果,减少了冗余查表操作,从而能够提升基因数据对比过程中的哈希查表过程的性能,降低了查表时间。
请参考图5,图5为本发明实施例所提供的一种基因对比的哈希查表设备的结构示意图。该设备1可以包括:
存储器11,用于存储计算机程序;处理器12,用于执行该计算机程序时实现如上述实施例所提供的基因对比的哈希查表方法的步骤。
设备1(如服务器)可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备1的内部存储单元,例如服务器的硬盘。存储器11在另一些实施例中也可以是设备1的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备1的应用软件及各类数据,例如:执行基因对比的哈希查表方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基因对比的哈希查表方法的程序的代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备1与其他电子设备之间建立通信连接。
可选地,该设备1还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备1中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-15的设备1,本领域技术人员可以理解的是,图5示出的结构并不构成对设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
此外,本发明实施例还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例所提供的基因对比的哈希查表方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种基因对比的哈希查表方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (5)
1.一种基因对比的哈希查表方法,其特征在于,包括:
获取待比对基因序列的待匹配短序列对应的查表指令;其中,所述查表指令包括所述待匹配短序列的标识信息和查询目标;
根据所述标识信息,获取所述查表指令对应的查表记录信息;其中,所述查表记录信息包括所述标识信息;
判断所述查表记录信息中是否包括所述查询目标对应的查询结果;
若是,则利用所述查表记录信息,获取所述查询结果;
若否,则利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息;
其中,所述标识信息包括所述待匹配短序列在所述待比对基因序列中的起始位置和结束位置,所述查表记录信息还包括所述待匹配短序列对应的查表结束跳转状态和所述查表结束跳转状态对应的查表结果;
所述利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息,包括:
根据所述查表结束跳转状态和所述查表结果,利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息;
其中,所述哈希表包括指向表和预测匹配位置表时,所述查表结束跳转状态为初始状态、出现次数状态、预测匹配位置状态或采纳状态;
所述查询目标为所述待匹配短序列对应的预测匹配位置时,所述根据所述查表结束跳转状态和所述查表结果,利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息,包括:
所述查表结束跳转状态为所述初始状态时,根据对所述待匹配短序列进行哈希计算的哈希值和所述指向表和所述预测匹配位置表,获取所述待匹配短序列对应的出现次数和所述出现次数对应的所述预测匹配位置表中的目标位置,并更新所述查表记录信息中的所述查表结束跳转状态和所述查表结果;其中,更新后的所述查表结束跳转状态为所述出现次数状态,更新后的所述查表结果包括所述出现次数和所述目标位置,所述目标位置为所述预测匹配位置表中的目标查找范围内所述哈希值的低位部分对应的哈希信息,所述目标查找范围为所述哈希值的高位部分匹配的所述指向表中的匹配内容对应的所述预测匹配位置表的范围;
所述查表结束跳转状态为所述出现次数状态时,从所述预测匹配位置表中查询获取目标预测匹配位置,并更新所述查表记录信息中的所述查表结束跳转状态和所述查表结果;其中,更新后的所述查表结束跳转状态为所述预测匹配位置状态,更新后的所述查表结果包括所述目标预测匹配位置,所述目标预测匹配位置为所述查表结果中的所述目标位置对应的预测匹配位置;
所述查表结束跳转状态为所述预测匹配位置状态时,确定所述目标预测匹配位置是否满足所述查表指令中的查询要求;若满足所述查询要求,则将所述预测匹配位置作为所述查询结果,并更新所述查表记录信息中的所述查表结束跳转状态;其中,更新后的所述查表结束跳转状态为所述采纳状态;
所述获取待比对基因序列的待匹配短序列对应的查表指令,包括:
获取所述待比对基因序列的查询短序列;
若所述查询短序列的查询长度大于预设最长查询长度,则按照预设步长将所述查询短序列划分为多个目标查询短序列,并生成每个所述目标查询短序列各自对应的查表指令;其中,第一目标查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置和所述查询短序列的起始位置与所述预设最长查询长度之和,第二目标查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置与所述预设步长之和以及所述查询短序列的起始位置与所述预设步长和所述预设最长查询长度之和;
对应的,查询到所述第一目标查询短序列和所述第二目标查询短序列各自对应的查询结果后,还包括:
利用所述预设步长,对所述第一目标查询短序列和所述第二目标查询短序列各自对应的查询结果中的预测匹配位置进行同一量化操作,得到结合查询短序列对应的预测匹配位置;其中,所述结合查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置和所述查询短序列的起始位置与所述预设步长和所述预设最长查询长度之和。
2.根据权利要求1所述的基因对比的哈希查表方法,其特征在于,所述根据对所述待匹配短序列进行哈希计算的哈希值和所述指向表和所述预测匹配位置表,获取所述待匹配短序列对应的出现次数和所述出现次数对应的所述预测匹配位置表中的目标位置,包括:
对所述待匹配短序列进行哈希计算,得到所述哈希值;其中,所述哈希值包括所述高位部分和所述低位部分;
查询所述指向表中所述高位部分对应的匹配内容;
根据所述匹配内容,确定所述预测匹配位置表中的所述目标查找范围;
从所述目标查找范围内查找与所述低位部分连续相同的哈希范围,将所述哈希范围的起始哈希位置和结束哈希位置作为所述目标位置,将所述结束哈希位置与所述起始哈希位置之差作为所述出现次数。
3.一种基因对比的哈希查表装置,其特征在于,包括:
指令获取模块,用于获取待比对基因序列的待匹配短序列对应的查表指令;其中,所述查表指令包括所述待匹配短序列的标识信息和查询目标;
记录获取模块,用于根据所述标识信息,获取所述查表指令对应的查表记录信息;其中,所述查表记录信息包括所述标识信息;
判断模块,用于判断所述查表记录信息中是否包括所述查询目标对应的查询结果;
记录查询模块,用于若包括查询结果,则利用所述查表记录信息,获取所述查询结果;
哈希查询模块,用于若不包括查询结果,则利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息;
其中,所述标识信息包括所述待匹配短序列在所述待比对基因序列中的起始位置和结束位置,所述查表记录信息还包括所述待匹配短序列对应的查表结束跳转状态和所述查表结束跳转状态对应的查表结果;
所述哈希查询模块,包括:
状态哈希查询子模块,用于根据所述查表结束跳转状态和所述查表结果,利用所述待匹配短序列的查询长度对应的哈希表,获取所述查询结果,并根据所述查询结果更新所述查表记录信息;
其中,所述哈希表包括指向表和预测匹配位置表时,所述查表结束跳转状态为初始状态、出现次数状态、预测匹配位置状态或采纳状态;
所述查询目标为所述待匹配短序列对应的预测匹配位置时,所述状态哈希查询子模块,包括:
初始状态单元,用于在所述查表结束跳转状态为所述初始状态时,根据对所述待匹配短序列进行哈希计算的哈希值和所述指向表和所述预测匹配位置表,获取所述待匹配短序列对应的出现次数和所述出现次数对应的所述预测匹配位置表中的目标位置,并更新所述查表记录信息中的所述查表结束跳转状态和所述查表结果;其中,更新后的所述查表结束跳转状态为所述出现次数状态,更新后的所述查表结果包括所述出现次数和所述目标位置,所述目标位置为所述预测匹配位置表中的目标查找范围内所述哈希值的低位部分对应的哈希信息,所述目标查找范围为所述哈希值的高位部分匹配的所述指向表中的匹配内容对应的所述预测匹配位置表的范围;
出现次数状态单元,用于在所述查表结束跳转状态为所述出现次数状态时,从所述预测匹配位置表中查询获取目标预测匹配位置,并更新所述查表记录信息中的所述查表结束跳转状态和所述查表结果;其中,更新后的所述查表结束跳转状态为所述预测匹配位置状态,更新后的所述查表结果包括所述目标预测匹配位置,所述目标预测匹配位置为所述查表结果中的所述目标位置对应的预测匹配位置;
预测匹配位置状态单元,用于在所述查表结束跳转状态为所述预测匹配位置状态时,确定所述目标预测匹配位置是否满足所述查表指令中的查询要求;若满足所述查询要求,则将所述预测匹配位置作为所述查询结果,并更新所述查表记录信息中的所述查表结束跳转状态;其中,更新后的所述查表结束跳转状态为所述采纳状态;
所述指令获取模块,包括:
序列获取子模块,用于获取所述待比对基因序列的查询短序列;
切分生成子模块,用于若所述查询短序列的查询长度大于预设最长查询长度,则按照预设步长将所述查询短序列划分为多个目标查询短序列,并生成每个所述目标查询短序列各自对应的查表指令;其中,第一目标查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置和所述查询短序列的起始位置与所述预设最长查询长度之和,第二目标查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置与所述预设步长之和以及所述查询短序列的起始位置与所述预设步长和所述预设最长查询长度之和;
对应的,所述基因对比的哈希查表装置还包括:
拼接模块,用于利用所述预设步长,对所述第一目标查询短序列和所述第二目标查询短序列各自对应的查询结果中的预测匹配位置进行同一量化操作,得到结合查询短序列对应的预测匹配位置;其中,所述结合查询短序列的起始位置和结束位置分别为所述查询短序列的起始位置和所述查询短序列的起始位置与所述预设步长和所述预设最长查询长度之和。
4.一种基因对比的哈希查表设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1或2所述的基因对比的哈希查表方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述的基因对比的哈希查表方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010922857.4A CN112131218B (zh) | 2020-09-04 | 2020-09-04 | 一种基因对比的哈希查表方法、装置、设备及存储介质 |
PCT/CN2021/103394 WO2022048284A1 (zh) | 2020-09-04 | 2021-06-30 | 一种基因对比的哈希查表方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010922857.4A CN112131218B (zh) | 2020-09-04 | 2020-09-04 | 一种基因对比的哈希查表方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131218A CN112131218A (zh) | 2020-12-25 |
CN112131218B true CN112131218B (zh) | 2022-05-10 |
Family
ID=73847297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010922857.4A Active CN112131218B (zh) | 2020-09-04 | 2020-09-04 | 一种基因对比的哈希查表方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112131218B (zh) |
WO (1) | WO2022048284A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131218B (zh) * | 2020-09-04 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 一种基因对比的哈希查表方法、装置、设备及存储介质 |
CN113114574B (zh) * | 2021-03-30 | 2023-04-25 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
CN115391284B (zh) * | 2022-10-31 | 2023-02-03 | 四川大学华西医院 | 基因数据文件快速识别方法、系统和计算机可读存储介质 |
CN116189897B (zh) * | 2023-04-24 | 2023-07-25 | 四川省医学科学院·四川省人民医院 | 一种基于时序变化关系的病毒癌症风险预测方法和系统 |
CN116383537B (zh) * | 2023-05-23 | 2023-09-08 | 飞狐信息技术(天津)有限公司 | 一种页面数据的预加载方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201205316A (en) * | 2010-07-28 | 2012-02-01 | Ind Tech Res Inst | Method for establishing multiple look-up tables and data acquisition method by using multiple look-up tables |
US20140006379A1 (en) * | 2012-06-29 | 2014-01-02 | International Business Machines Corporation | Efficient partitioned joins in a database with column-major layout |
CN109326325A (zh) * | 2018-07-25 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种基因序列比对的方法、系统及相关组件 |
CN111177476A (zh) * | 2019-12-05 | 2020-05-19 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN111312333A (zh) * | 2020-02-15 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种bwt查表性能改进方法、装置、设备和介质 |
CN111402958A (zh) * | 2020-03-13 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种建立基因比对表的方法、系统、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775622B1 (en) * | 2000-01-31 | 2004-08-10 | Zymogenetics, Inc. | Method and system for detecting near identities in large DNA databases |
CN105243297A (zh) * | 2015-10-09 | 2016-01-13 | 人和未来生物科技(长沙)有限公司 | 一种参考基因组上基因序列片段的快速比对定位方法 |
CN109885574B (zh) * | 2019-02-22 | 2020-05-05 | 广州荔支网络技术有限公司 | 一种数据查询方法及装置 |
CN112131218B (zh) * | 2020-09-04 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 一种基因对比的哈希查表方法、装置、设备及存储介质 |
-
2020
- 2020-09-04 CN CN202010922857.4A patent/CN112131218B/zh active Active
-
2021
- 2021-06-30 WO PCT/CN2021/103394 patent/WO2022048284A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201205316A (en) * | 2010-07-28 | 2012-02-01 | Ind Tech Res Inst | Method for establishing multiple look-up tables and data acquisition method by using multiple look-up tables |
US20140006379A1 (en) * | 2012-06-29 | 2014-01-02 | International Business Machines Corporation | Efficient partitioned joins in a database with column-major layout |
CN109326325A (zh) * | 2018-07-25 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种基因序列比对的方法、系统及相关组件 |
CN111177476A (zh) * | 2019-12-05 | 2020-05-19 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN111312333A (zh) * | 2020-02-15 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种bwt查表性能改进方法、装置、设备和介质 |
CN111402958A (zh) * | 2020-03-13 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种建立基因比对表的方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022048284A1 (zh) | 2022-03-10 |
CN112131218A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131218B (zh) | 一种基因对比的哈希查表方法、装置、设备及存储介质 | |
CN108255958B (zh) | 数据查询方法、装置和存储介质 | |
EP2924594A1 (en) | Data encoding and corresponding data structure in a column-store database | |
CN105988996B (zh) | 一种索引文件生成方法及装置 | |
US20130103655A1 (en) | Multi-level database compression | |
US9916314B2 (en) | File extraction method, computer product, file extracting apparatus, and file extracting system | |
US10224957B1 (en) | Hash-based data matching enhanced with backward matching for data compression | |
US20140025684A1 (en) | Indexing and searching a data collection | |
CN110532347B (zh) | 一种日志数据处理方法、装置、设备和存储介质 | |
CN107526746B (zh) | 管理文档索引的方法和设备 | |
US10657066B2 (en) | Method and device for storage management | |
CN112328548A (zh) | 一种文件检索方法及计算设备 | |
CN109815240A (zh) | 用于管理索引的方法、装置、设备和存储介质 | |
CN114817651B (zh) | 数据存储方法、数据查询方法、装置和设备 | |
US20220358178A1 (en) | Data query method, electronic device, and storage medium | |
CN113408660B (zh) | 图书聚类方法、装置、设备和存储介质 | |
CN111858581B (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
CN116150093B (zh) | 一种对象存储列举对象的实现方法及电子设备 | |
CN109857366B (zh) | 基于外存的插入排序方法、系统、设备及存储介质 | |
CN111402959A (zh) | 一种序列比对的方法、系统、设备及可读存储介质 | |
CN111414527A (zh) | 相似项目的查询方法、装置及存储介质 | |
CN112559451A (zh) | 一种数据查询方法、装置及其可读存储介质 | |
CN113065419B (zh) | 一种基于流量高频内容的模式匹配算法及系统 | |
CN112269784A (zh) | 一种基于硬件实现的哈希表结构以及插入、查询和删除方法 | |
CN114372071A (zh) | 一种表数据删除方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |