CN105138534B - 基于fmd索引和快表的跨越式种子查找算法 - Google Patents
基于fmd索引和快表的跨越式种子查找算法 Download PDFInfo
- Publication number
- CN105138534B CN105138534B CN201510373462.2A CN201510373462A CN105138534B CN 105138534 B CN105138534 B CN 105138534B CN 201510373462 A CN201510373462 A CN 201510373462A CN 105138534 B CN105138534 B CN 105138534B
- Authority
- CN
- China
- Prior art keywords
- region
- indexes
- fmd
- fast table
- algorithm
- 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
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/20—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Biotechnology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Chemical & Material Sciences (AREA)
- Public Health (AREA)
- Biomedical Technology (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Operations Research (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于FMD索引和快表的跨越式种子查找算法,包括下述步骤:S0、构建数据库的FMD索引以及快表;S1、从快表中取出查询序列中长度为k的子序列的双区间;S2、这个步骤通过向后搜索算法,逐步找出k种子左边的匹配区域;S3、对步骤S2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域;S4、检查当前检测位置是否位于查询序列的尾部,如果是,则算法终止,否则,执行步骤S5;S5、将当前检测位置向前跳跃w‑k+1个位置,重复执行步骤S2‑S5,其中w是要查找的种子的长度。本发明提出的快表具有占用空间少、访问效率高的特点;在快表和FMD索引的基础上,本发明提出的种子查找算法能够快速地找出所有w种子的双区间。
Description
技术领域
本发明涉及生物序列数据库搜索的技术领域,特别涉及一种基于FMD索引和快表的跨越式种子查找算法。
背景技术
要搜索在生物序列数据库和查询序列之间长度至少为w的完全匹配的种子,现有的解决方案可以归为三类。
第一类算法对查询序列构建一个快表。该快表是一个Hash表,每个表项是一个线性链表,记录了一个长度为k的序列在查询序列中出现的所有位置。这类算法接着对数据库序列进行跨越式的扫描。跨越式的扫描指的是每隔w-k+1个位置就检测一次长度为k的子序列。检测过程包括通过快表找出这个子序列在查询序列中出现的位置,每个位置对应一个长度为k的种子,然后比较每个k种子的左右两边的区域,检查这个k种子是否包含在一个w种子种。这种种子查找算法被应用于MegaBLAST中。
第二类算法对数据库构建快表,这类快表也是一个Hash表,每个表项对应一个长度为k的短序列,典型的解决方案有两种。第一种解决方案以Indexed MegaBLAST为代表,对数据库每隔w-k+1个位置取出一个长度为k的子序列,将其位置加入相应的Hash表项中。算法然后检测查询序列中所有长度为k的子序列,找到k种子,然后通过方案一的做法,检查这些k种子是否包含在w种子中。第二种解决方案以BLAT为代表,取出数据库序列中所有互不重叠的长度为w的子序列,将其位置记录在相应的Hash表项中,然后检查查询序列的所有长度为w的子序列,在Hash表中找出其位置链表,链表中的每个位置对应一个w种子。
第三类解决方案对数据库建立FM索引或FMD索引,利用该索引查找长度至少为w的最大匹配区域。最大匹配区域指的是不能继续向左右两边延伸的一段完全匹配区域。序列比对软件Cushaw2用FM索引,从查询序列的第一个字符开始,每一步从右边添加一个字符,直到搜索结果为空集为止。算法接着从上一步停止的地方开始,继续上述过程。序列比对软件BWA-MEM利用FMD查找超级最大匹配,超级最大匹配也是最大匹配,但是它们在查询序列上的区段不能被其他最大匹配在查询序列上的区段覆盖。
上述第一种方案属于最初被提出的方案,也是这三类解决方案中效率最低的种子查找方案。第二种方案中,Indexed MegaBLAST在小型数据库和短查询序列上可以运行得很快,然而在大型数据库和长查询序列上,快表将会变得非常庞大,而且性能会急剧下降,以至于比MegaBLAST还要低效。BLAT不是精确的算法,它无法保证找出所有w种子。第三类解决方案虽然性能好,然而它们同样不能保证能够找出所有长度至少为w的种子,从而导致最终搜索精度的下降。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于FMD索引和快表的跨越式种子查找算法。
为了达到上述目的,本发明采用以下技术方案:
基于FMD索引和快表的跨越式种子查找算法,包括下述步骤:
S0、构建数据库FMD索引的快表,这个快表是一个Hash表,每一个表项对应一个长度为k的短序列,保存的是在FMD索引中搜索这个短序列所得到的双区间;
S1、计算查询序列中k子序列的Hash值,并从快表中取出其相应的长度为k的种子(简称K种子)的双区间;
S2、这个步骤通过向后搜索算法,逐步扩大k种子左边的匹配区域;
S3、对步骤S2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域;
S4、检查当前检测位置是否位于查询序列的尾部,如果是,则算法终止,否则,执行步骤S5;
S5、将当前检测位置向前跳跃w-k+1个位置,重复执行步骤S2-S5,其中w是要查找的种子的长度。
优选的,FMD索引具体为:
核酸序列的一个长度为k的子序列称为k子序列,查询序列与数据库序列之间的一段长度为w的完全匹配区段称为w种子,在数据库的FMD索引中搜索序列P,其搜索结果以双区间的形式表示,而双区间则由三个整数表示,给定核酸序列P的双区间和字符a,a为A、C、G、T中的其中一个,由向后搜索算法,可以得到aP的双区间;由向前搜索算法,可以得到Pa的双区间,双区间中元素的个数称为该区间的大小,它表示P在数据库中出现的次数,如果P的双区间为空区间,则表示P没有在数据库中出现。
优选的,所述快表的大小是固定的,每个字符只能是A、C、G、T中的一个,故该快表一个有4^k个表项。
优选的,所述步骤S2中,在向后搜索过程中,如果出现双区间缩小或者双区间为空的情况,就表明某些k种子向左扩展时遇到了不匹配的字符对,对缩小前的区间,算法还需要通过向前搜索算法找出其对应的种子右边的匹配部分,试图找出长度为w的种子。
优选的,所述步骤S3中,在向前搜索过程中,如果出现搜索区间为空的情况,就说明查询序列中的这段区域在数据库中不存在;否则的话,将得到查询序列中w子序列的双区间,算法将其作为结果输出。
优选的,所述步骤S5中,并不需要检测查询序列中所有的k子序列,相反,它只需每隔w-k+1个位置检测一次即可。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明提出的快表与现有的基于线性链表的快表的区别之处在于,基于线性链表的快表的大小会随着数据库的增长而增加,在大型数据库中,这种快表将占用非常大的存储空间,长的线性链表也会使得种子查找过程非常耗时。与基于FM索引构建的快表相比,本发明提出的快表保存的是短序列的双区间,而基于FM索引构建的快表保存的则是后缀数组区间。
2、本发明提出的种子查找算法与现有的算法相比,具有精度高、效率快的优势。传统的种子查找算法有的无法找出所有的w种子,无法保证搜索精度。有的虽然也采用了跨越式的扫描方式,但在大型数据库和长的查询序列下性能低下,它们只能逐个检查k种子是否包含在w种子中。
3、本发明提出的种子查找算法同样采用跨越式的扫描方式,但是它能够一次检查一批k种子是否包含在w种子中,这使得它具很好的性能优势。
附图说明
图1是本发明基于FMD索引和快表的跨越式种子查找算法的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例主要包括两个部分:基于FMD索引的快表和种子查找算法。构建快表针对的是上述背景技术中第二类算法所采用的快表的缺点。在这类算法中,快表的每个表项都是一个线性链表,这使得快表在大型数据库中将会占用非常巨大的存储空间。一些算法例如BLAT等,为了减少快表的大小从而采用索引部分短序列的方式,这会牺牲搜索精度。本发明的快表每个表项均保存一个双区间,每个双区间只需由三个数字表示,因此快表的大小是固定的,不会随着数据库的增长而发生变化。
种子查找算法针对的是上述第二、第三类算法中的缺点。这类算法中,IndexedMegaBLAST能够找出所有的w种子,但其在大型数据库下的效率不高,因为这时候线性链表会非常长,从而需要频繁地检查k种子是否包含在w种子种。其他算法为了提高效率从而采用了牺牲精度的方式,它们只能够找出部分的w种子。本发明的种子查找算法采用了第一类算法中的跨越式扫描方式,能够检查一批k种子是否包含在w种子中,这使得该算法精确的同时具有非常高的执行效率。
FMD索引是bidirectional FM-index的缩写,FM是提出FM索引的两个作者Ferragina Paolo和Manzini Giovanni的名字缩写。
在详细介绍这两个部分内容之前,本实施例先说明与FMD索引相关的信息。核酸序列的一个长度为k的子序列称为k子序列。查询序列与数据库序列之间的一段长度为w的完全匹配区段称为w种子。在数据库的FMD索引中搜索序列P,其搜索结果以双区间的形式表示,而双区间则由三个整数表示。给定核酸序列P的双区间和字符a(a为A、C、G、T中的其中一个),由向后搜索算法,可以得到aP的双区间;由向前搜索算法,可以得到Pa的双区间。双区间中元素的个数称为该区间的大小,它表示P在数据库中出现的次数。如果P的双区间为空区间,则表示P没有在数据库中出现。
本发明的基本流程如下所述:
S0、构建数据库的FMD索引以及快表;
S1、计算查询序列中长度为k的子序列的Hash值,并从快表中取出其相应的长度为k的种子(简称为k种子)的双区间;
S2、这个步骤通过向后搜索算法,逐步找出k种子左边的匹配区域;
S3、对步骤2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域;
S4、检查当前检测位置是否位于查询序列的尾部,如果是,则算法终止,否则,执行步骤S5;
S5、将当前检测位置向前跳跃w-k+1个位置,重复执行步骤S2-S5,其中w是要查找的种子的长度。
本发明中的快表是在核酸序列数据库的FMD索引的基础上构建的。它也是一个Hash表,每一个表项对应一个长度为k的短序列,保存的是在FMD索引中搜索这个短序列所得到的双区间。这种快表的大小是固定的。由于每个字符只能是A、C、G、T中的一个,因此快表一个有4^k个表项。利用这个快表,可以立刻得到查询序列中k子序列的双区间。
算法的第二部份是种子查找算法,其流程如图1所示,该算法以查询序列最开始的k子序列开始,逐步执行5个主要步骤。
算法的第一个步骤是图1中的S1部分,它计算k子序列的Hash值,并从快表中取出其相应的双区间。利用快表,不仅可以实现跨越式的扫描,还可以一次性得到k子序列的双区间,而不需要逐步利用向前或向后搜索算法,这节省了大量的时间。
算法的第二个主要步骤在图1中是S2部分。这个步骤通过向后搜索算法,逐步找出k种子左边的匹配区域。在向后搜索过程中,如果出现双区间缩小或者双区间为空的情况,就表明某些k种子向左扩展时遇到了不匹配的字符对。对缩小前的区间,算法还需要找出其对应的种子右边的匹配部分,试图找出长度为w的种子。
算法的第三个主要步骤对应图1中的S3部分,它对步骤2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域。在向前搜索过程中,如果出现搜索区间为空的情况,就说明查询序列中的这段区域在数据库中不存在;否则的话,将得到查询序列中w子序列的双区间,算法将其作为结果输出。
算法的第四个步骤为图1中的S4部分,这个步骤检查当前检测位置是否位于查询序列的尾部。如果是,则算法终止,否则的话,执行步骤5。
算法的第五个步骤在图1中是S5部分,它将当前检测位置向前跳跃w-k+1个位置,重复执行步骤二至步骤五,这就是所谓的跨越式扫描。跨越式扫描并不需要检测查询序列中所有的k子序列,相反,它只需每隔w-k+1个位置检测一次即可。这种跨越式的扫描方式在保证能够找到所有w种子的同时,也具有非常高的效率。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.基于FMD索引和快表的跨越式种子查找方法,包括下述步骤:
S0、构建数据库FMD索引的快表,这个快表是一个Hash表,每一个表项对应一个长度为k的子序列,保存的是在FMD索引中搜索这个子序列所得到的双区间;FMD索引具体为:
核酸序列的一个长度为k的子序列称为k子序列,查询序列与数据库序列之间的一段长度为w的完全匹配区段称为w种子,在数据库的FMD索引中搜索序列P,其搜索结果以双区间的形式表示,而双区间则由三个整数表示,给定核酸序列P的双区间和字符a,a为A、C、G、T中的其中一个,由向后搜索算法,可以得到aP的双区间;由向前搜索算法,可以得到Pa的双区间,双区间中元素的个数称为该区间的大小,它表示P在数据库中出现的次数,如果P的双区间为空区间,则表示P没有在数据库中出现;
S1、计算查询序列中k子序列的Hash值,并从快表中取出其相应的长度为k的种子的双区间;
S2、这个步骤通过向后搜索算法,逐步扩大k种子左边的匹配区域;
S3、对步骤S2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域;
S4、检查当前检测位置是否位于查询序列的尾部,如果是,则算法终止,否则,执行步骤S5;
S5、将当前检测位置向前跳跃w-k+1个位置,重复执行步骤S2-S5,其中w是要查找的种子的长度。
2.根据权利要求1所述的基于FMD索引和快表的跨越式种子查找方法,其特征在于,所述快表的大小是固定的,每个字符只能是A、C、G、T中的一个,故该快表一个有4^k个表项。
3.根据权利要求1所述的基于FMD索引和快表的跨越式种子查找方法,其特征在于,所述步骤S2中,在向后搜索过程中,如果出现双区间缩小或者双区间为空的情况,就表明某些k种子向左扩展时遇到了不匹配的字符对,对缩小前的区间,算法还需要通过向前搜索算法找出其对应的种子右边的匹配部分,试图找出长度为w的种子。
4.根据权利要求1所述的基于FMD索引和快表的跨越式种子查找方法,其特征在于,所述步骤S3中,在向前搜索过程中,如果出现搜索区间为空的情况,就说明查询序列中的这段区域在数据库中不存在;否则的话,将得到查询序列中w子序列的双区间,算法将其作为结果输出。
5.根据权利要求1所述的基于FMD索引和快表的跨越式种子查找方法,其特征在于,所述步骤S5中,并不需要检测查询序列中所有的k子序列,相反,它只需每隔w-k+1个位置检测一次即可。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510373462.2A CN105138534B (zh) | 2015-06-29 | 2015-06-29 | 基于fmd索引和快表的跨越式种子查找算法 |
US15/740,038 US20180174681A1 (en) | 2015-06-29 | 2016-06-27 | Leaping search algorithm for similar sub-sequences in character sequences and application thereof in searching in biological sequence database |
PCT/CN2016/087300 WO2017000859A1 (zh) | 2015-06-29 | 2016-06-27 | 字符序列相似子串的跨越式查找算法及其在生物序列数据库上的查找应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510373462.2A CN105138534B (zh) | 2015-06-29 | 2015-06-29 | 基于fmd索引和快表的跨越式种子查找算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138534A CN105138534A (zh) | 2015-12-09 |
CN105138534B true CN105138534B (zh) | 2018-08-03 |
Family
ID=54723884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510373462.2A Active CN105138534B (zh) | 2015-06-29 | 2015-06-29 | 基于fmd索引和快表的跨越式种子查找算法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180174681A1 (zh) |
CN (1) | CN105138534B (zh) |
WO (1) | WO2017000859A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138534B (zh) * | 2015-06-29 | 2018-08-03 | 中山大学 | 基于fmd索引和快表的跨越式种子查找算法 |
EP3364314B1 (en) * | 2017-02-15 | 2022-10-19 | QlikTech International AB | Methods and systems for indexing using indexlets |
CN111063394B (zh) * | 2019-12-13 | 2023-07-11 | 人和未来生物科技(长沙)有限公司 | 基于基因序列的物种快速查找及建库方法、系统和介质 |
CN114090840A (zh) * | 2020-08-24 | 2022-02-25 | 华为技术有限公司 | 序列查找方法、装置、设备及介质 |
CN112488526B (zh) * | 2020-12-01 | 2022-12-27 | 广东电网有限责任公司佛山供电局 | 一种工作票安全措施布施地点的正确性校验方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441620A (zh) * | 2008-11-27 | 2009-05-27 | 温州大学 | 基于近似串匹配距离的电子文本文档抄袭识别方法 |
CN101675430A (zh) * | 2007-05-01 | 2010-03-17 | 国际商业机器公司 | 用于近似串匹配的方法和系统 |
CN101763405A (zh) * | 2009-11-16 | 2010-06-30 | 陆嘉恒 | 基于同义词规则的近似字符串搜索技术 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5490258A (en) * | 1991-07-29 | 1996-02-06 | Fenner; Peter R. | Associative memory for very large key spaces |
US8527549B2 (en) * | 2010-02-22 | 2013-09-03 | Sookasa Inc. | Cloud based operating and virtual file system |
US20130091121A1 (en) * | 2011-08-09 | 2013-04-11 | Vitaly L. GALINSKY | Method for rapid assessment of similarity between sequences |
CN105138534B (zh) * | 2015-06-29 | 2018-08-03 | 中山大学 | 基于fmd索引和快表的跨越式种子查找算法 |
-
2015
- 2015-06-29 CN CN201510373462.2A patent/CN105138534B/zh active Active
-
2016
- 2016-06-27 US US15/740,038 patent/US20180174681A1/en not_active Abandoned
- 2016-06-27 WO PCT/CN2016/087300 patent/WO2017000859A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101675430A (zh) * | 2007-05-01 | 2010-03-17 | 国际商业机器公司 | 用于近似串匹配的方法和系统 |
CN101441620A (zh) * | 2008-11-27 | 2009-05-27 | 温州大学 | 基于近似串匹配距离的电子文本文档抄袭识别方法 |
CN101763405A (zh) * | 2009-11-16 | 2010-06-30 | 陆嘉恒 | 基于同义词规则的近似字符串搜索技术 |
Non-Patent Citations (1)
Title |
---|
BioIndex:一种生物序列相似性查询的高效索引;邱伯仁 等;《计算机应用与软件》;20091031;第26卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2017000859A1 (zh) | 2017-01-05 |
CN105138534A (zh) | 2015-12-09 |
US20180174681A1 (en) | 2018-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138534B (zh) | 基于fmd索引和快表的跨越式种子查找算法 | |
Zhao et al. | Efficient graph similarity joins with edit distance constraints | |
Ren et al. | Exploiting vertex relationships in speeding up subgraph isomorphism over large graphs | |
Jiang et al. | String similarity joins: An experimental evaluation | |
US8489611B2 (en) | Delta chunks and delta hashes | |
EP3622411B1 (en) | Incremental graph computations for querying large graphs | |
Zhao et al. | A partition-based approach to structure similarity search | |
US20150370838A1 (en) | Index structure to accelerate graph traversal | |
WO2021072874A1 (zh) | 基于双数组的位置查询方法、装置、计算机设备及存储介质 | |
Chen et al. | Efficiently evaluating skyline queries on RDF databases | |
Tang et al. | Efficient Processing of Hamming-Distance-Based Similarity-Search Queries Over MapReduce. | |
Gulzar et al. | A framework for evaluating skyline queries over incomplete data | |
Huang et al. | Fast algorithms for finding the common subsequence of multiple sequences | |
US10049164B2 (en) | Multidimensional-range search apparatus and multidimensional-range search method | |
CN100527134C (zh) | 多模式搜寻的方法与系统 | |
CN114372165A (zh) | 一种跳跃式连接的优化路径查询方法、装置、设备及存储介质 | |
CN103336963A (zh) | 一种图像特征提取的方法及装置 | |
CN111414527B (zh) | 相似项目的查询方法、装置及存储介质 | |
CN108509618B (zh) | 一种基于空间填充曲线的大数据多维数据索引方法 | |
CN110321346B (zh) | 一种字符串散列表实现方法和系统 | |
CN113495901B (zh) | 一种面向可变长数据块的快速检索方法 | |
CN112800067B (zh) | 范围查询方法、装置、计算机可读存储介质及电子设备 | |
KR101928819B1 (ko) | 관계형 데이터베이스의 조인 방법 | |
CN105808631A (zh) | 一种数据依赖的多索引哈希算法 | |
Karim et al. | An efficient approach to mining maximal contiguous frequent patterns from large DNA sequence databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Xu Yuesheng Inventor after: Chen Ying Inventor after: Ye Weicai Inventor after: Zhang Yongdong Inventor before: Xu Yuesheng Inventor before: Chen Ying Inventor before: Ye Weicai |
|
CB03 | Change of inventor or designer information |