CN103810229A - 用于实施字符串搜索的系统、方法和计算机程序产品 - Google Patents

用于实施字符串搜索的系统、方法和计算机程序产品 Download PDF

Info

Publication number
CN103810229A
CN103810229A CN201310533497.9A CN201310533497A CN103810229A CN 103810229 A CN103810229 A CN 103810229A CN 201310533497 A CN201310533497 A CN 201310533497A CN 103810229 A CN103810229 A CN 103810229A
Authority
CN
China
Prior art keywords
character string
search
implement
string search
stored
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.)
Pending
Application number
CN201310533497.9A
Other languages
English (en)
Inventor
雅各布·潘塔莱奥尼
戴维·塔里亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN103810229A publication Critical patent/CN103810229A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biophysics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明提供了用于实施字符串搜索的系统、方法和计算机程序产品。在使用中,标识第一字符串和第二字符串。此外,利用第一字符串和第二字符串实施字符串搜索。

Description

用于实施字符串搜索的系统、方法和计算机程序产品
技术领域
本发明涉及字符串,并且更具体地,涉及实施字符串搜索。
背景技术
字符串搜索是现代计算技术的重要方面。例如,字符串搜索可用来实施web搜索、对大部分文本的数据库查询、基因组测序等等。然而,用于实施字符串搜索的当前技术已与各种限制相关联。
例如,用于实施字符串搜索的当前方法可能利用大量的存储器并可能花费相当多的时间和资源来实施。因此存在对解决与现有技术相关联的这些和/或其他问题的需求。
发明内容
提供了用于实施字符串搜索的系统、方法和计算机程序产品。在使用中,标识第一字符串和第二字符串。此外,利用第一字符串和第二字符串实施字符串搜索。
附图说明
图1示出根据一个实施例的、用于实施字符串搜索的方法。
图2示出根据另一实施例的、用于利用微小空间中的全文索引(FM-index)实施基因组测序的方法。
图3示出根据另一实施例的、用于利用经分区的表和经分区的读序段(read segment)实施基因组测序的方法。
图4示出其中可实现各种先前实施例的各种架构和/或功能性的示例性系统。
具体实施方式
图1示出根据一个实施例的、用于实施字符串搜索的方法100。如操作102所示,标识第一字符串和第二字符串。在一个实施例中,第一字符串可包括被实现为字节数组的字符序列。在另一实施例中,第一字符串可表示特定元素。例如,第一字符串可表示一个或多个网页的内容。在另一示例中,第一字符串可表示文本的大部分。
在又一示例中,第一字符串可表示基因组的全部或一部分。例如,第一字符串可表示组织的遗传信息的全部或一部分,并可包括基因和DNA、RNA的非编码序列等中的一个或多个。在另一实施例中,第一字符串可表示参考基因组(reference genome)。例如,第一字符串可表示数字核酸序列,代表基因的示例性集合。
此外,在一个实施例中,第二字符串可包括搜索字符串。例如,第二字符串可包括要在第一字符串内被搜索的字符串。在另一实施例中,第二字符串可表示基因组的全部或一部分。例如,第二字符串可表示读序(read)(例如从基因组内的特定位置读取的基因组的一部分)。在又一实施例中,第二字符串可表示与由第一字符串所表示的基因组分开的基因组的一部分。例如,第二字符串可表示经采样的基因组的一部分,并且第一字符串可表示与经采样的基因组不同的参考基因组的整体。在另一实施例中,第一字符串和第二字符串可通过从存储器读取第一字符串和第二字符串来标识。
进一步地,如操作104所示,利用第一字符串和第二字符串实施字符串搜索。在一个实施例中,实施字符串搜索可包括在第一字符串内实施针对第二字符串的搜索以确定第一字符串是否包含第二字符串。在另一实施例中,实施字符串搜索可包括比对第二字符串与第一字符串。
仍进一步地,在一个实施例中,实施字符串搜索可包括将第一字符串存储在数据结构内。例如,实施字符串搜索可包括将第一字符串存储在FM-index中。例如,第一字符串可基于Burrows-Wheeler变换来存储在经压缩的全文子字符串索引中。在另一实施例中,第一字符串可分区成子字符串,并且这种子字符串可存储在FM-index内。
并且,在一个实施例中,实施字符串搜索可包括将第一字符串存储在存储器中。例如,实施字符串搜索可包括将第一字符串存储在片上存储器中,将第一字符串存储在随机存取存储器(RAM)中等。在另一实施例中,实施字符串搜索可包括将第二字符串分成多个部分。例如,实施字符串搜索可包括将第二字符串分成多个非重叠段。
此外,在一个实施例中,实施字符串搜索可包括在存储第一字符串的数据结构内实施针对第二字符串的多个部分中的每一个的一个或多个查找(例如搜索等)以确定第二字符串的多个部分中的每一个是否存储在数据结构内。在另一实施例中,实施字符串搜索可包括基于一个或多个查找确定第一字符串和第二字符串之间的差异。
此外,在一个实施例中,当实施字符串搜索时可使用过滤器(例如在存储第一字符串的数据结构上实施针对第二字符串的一个或多个查找之前等)。例如,布隆过滤器(Bloom filter)(例如节省空间的概率型数据结构)可用来测试第二字符串是否位于存储第一字符串的数据结构内。在另一示例中,如果过滤器指示第二字符串不位于存储第一字符串的数据结构内,那么可不在数据结构上实施针对第二字符串的一个或多个查找。
仍进一步地,在一个实施例中,实施字符串搜索可包括将第一字符串存储在哈希表(例如使用哈希函数将键(key)映射到相关联值的数据结构等)内。在另一实施例中,实施字符串搜索可包括将存储第一字符串的哈希表分区成多个段。在又一实施例中,实施字符串搜索可包括将多个段中的每一个分类。例如,多个段中的每一个可被排序,使得对于一个或多个因素邻近的段比不邻近的段更类似。在另一示例中,多个段中的每一个可与多个预定的类中的一个相关联。
并且,在一个实施例中,实施字符串搜索可包括构建多个新哈希表,其中每个新哈希表与预定的类相关联。在另一实施例中,实施字符串搜索可包括将与特定类相关联的全部段存储在与该特定类相关联的新哈希表中。在又一实施例中,新哈希表可小于其中存储第一字符串的哈希表。
此外,在一个实施例中,实施字符串搜索可包括将第二字符串分区成多个子字符串。在另一实施例中,实施字符串搜索可包括将多个子字符串分类。例如,多个子字符串中的每一个可被排序,使得对于一个或多个因素邻近的子字符串比不邻近的子字符串更类似。在另一示例中,多个子字符串中的每一个可与多个预定的类(例如,与存储多个段的新哈希表相关联的多个预定的类等)中的一个相关联。在又一实施例中,可使用基数排序将多个子字符串中的每一个与多个预定的类中的一个相关联。
进一步地,在一个实施例中,实施字符串搜索可包括将新哈希表中的一个加载到存储器中。例如,新哈希表中的一个可被加载到片上存储器、随机存取存储器(RAM)等中。在另一实施例中,实施字符串搜索可包括标识与经加载的哈希表相关联的类,并标识与该类相关联的一个或多个子字符串。在又一实施例中,实施字符串搜索可包括在加载到存储器中的新哈希表内实施针对第二字符串的一个或多个子字符串中的每一个的一个或多个查找(例如,搜索等)以确定第二字符串的多个子字符串中的每一个是否存储在新哈希表内。
仍进一步地,在一个实施例中,多个新哈希表中的每一个可被加载到与不同处理器相关联的存储器中,并且每个不同处理器可利用与其特定新哈希表的类相关联的一个或多个子字符串,在哈希表上实施字符串搜索。通过该方式,可由多个处理器并行地实施字符串搜索。此外,可减少实施字符串搜索必需的存储器数量。进一步地,可通过在较小数量的较快存储器中实施字符串搜索来增加性能。
现在将关于前述框架根据用户意愿可以或可以不采用其实现的各种可选架构和特征来阐述更多示例性信息。应特别注意的是,阐述下面的信息是出于示例性目的并且不应视为以任何方式加以限制。任何下面的特征可以可选地与所描述的其他特征合并或将其排除。
图2示出根据另一实施例的、用于利用FM-index实施基因组测序的方法200。作为选项,可在图1的功能性的上下文中实行方法200。然而当然,可在任何期望的环境中实现方法200。还应注意的是,可在本描述期间应用前述限定。
如操作202所示,标识经采样的基因组和参考基因组。在一个实施例中,参考基因组可包括数字核酸序列,代表基因的示例性集合。在另一实施例中,经采样的基因组可包括经采样用于与参考基因组比较的数字核酸序列。
此外,如操作204所示,从经采样的基因组产生读序。在一个实施例中,可通过从经采样的基因组内的位置读取来产生读序。进一步地,如操作206所示,参考基因组存储在FM-index中。在一个实施例中,将参考基因组存储在FM-index中可包括确定用于参考基因组的多个子字符串。例如,FM-index可构造在用于参考基因组的m=20连续碱基(contiguousbases)的全部可能的子字符串之上。
仍进一步地,在一个实施例中,参考基因组可存储在存储器中的FM-index中。例如,参考基因组可存储在片上存储器中的、随机存取存储器(RAM)等中的FM-index中。并且,如操作208所示,比对读序与存储在FM-index中的参考基因组。在一个实施例中,比对读序与参考基因组可包括将读序分成非重叠段。例如,读序可被分成每m个碱基对的n/m个非重叠段。
此外,在一个实施例中,比对读序与参考基因组可包括实施针对FM-index中的每个段的查找。通过该方式,将FM-index用来存储参考基因组可最小化存储参考基因组必需的存储数量。进一步地,存取参考基因组的速度可增加。
仍进一步地,在一个实施例中,当比对读序与参考基因组时可使用布隆过滤器。例如,可在查找中使用布隆过滤器以确定每个段是否位于FM-index中。在另一示例中,如果布隆过滤器查找不返回段在FM-index内的结果(例如,如果布隆过滤器查找针对段是否定的等等),那么针对该段的FM-index查找可被避免。通过该方式,可加快、并可更高效地实施读序与参考基因组的比对。
并且,在一个实施例中,可利用可扩展核苷酸比对程序(scalablenucleotide alignment program,SNAP)实施比对。参见例如(Zaharia等人的)“DNA Sequence Alignment with SNAP”,在此通过援引的方式对其全文加以合并。
图3示出根据另一实施例的、利用经分区的表和经分区的读序段实施基因组测序的方法300。作为选项,可在图1-2的功能性的上下文中实行方法300。然而当然,可在任何期望的环境中实现方法300。还应注意的是,可在本描述期间应用前述限定。
如操作302所示,标识经采样的基因组和参考基因组。此外,如操作304所示,从经采样的基因组产生读序。进一步地,如操作306所示,参考基因组存储在表中。在一个实施例中,将参考基因组存储在表中可包括确定用于参考基因组的多个子字符串。例如,表(例如哈希表、FM-index等)可构造在用于参考基因组的m=20连续碱基的全部可能的子字符串之上。
仍进一步地,如操作308所示,参考基因组存储在其中的表被分区。在一个实施例中,将表分区可包括将表分成多个较小的表。在另一实施例中,将表分区可包括将参考基因组分成段。
并且,如操作310所示,经分区的表被分类。在一个实施例中,较小的表中的每一个可根据p碱基对的集合(例如[2,8]中的p,并且其中集合可由第一p碱基对来形成或是p个定位的特定集合等)来分类,并可构造4^p个不同的表,一个针对段的每一类。
此外,如操作312所示,从经采样的基因组产生的读序被分区。在一个实施例中,将读序分区可包括将读序分成多个部分。进一步地,如操作314所示,与经分类的经分区的表相对应地将经分区的读序分类。在一个实施例中,读序的每一部分中可根据p碱基对的集合(例如[2,8]中的p,并且其中集合可由第一p碱基对来形成或是p个定位的特定集合等)来分类。
在另一实施例中,每个经分区的读序部分可与较小的表中的一个共享分类,使得每个经分区的读序具有唯一对应的较小的表。在又一实施例中,经分区的读序部分可通过使用基数排序采用线性复杂度O(N*p)来分类,其中N是段的数目。
在另一实施例中,经分区的表可包括FM-index,并且FM-index内的参考基因组的段的定位可用来对它们加以分类。例如,FM-index内的参考基因组的段可被分区成映射到FM-index中的不同间隔[j,k]的部分,并且可针对每个部分构建单独的哈希表。在另一实施例中,可使用一个或多个FM-index遍历步骤来分类经分区的读序部分,直到与读序部分相关联的搜索范围足够小到仅触及一或二个部分。
仍进一步地,如操作316所示,根据分类来比对经分区的读序与经分区的表。在一个实施例中,每个经分区的读序部分可与和经分区的读序部分共享分类的相对应的较小的表比对。在另一实施例中,比对经分区的读序与经分区的表可包括在相对应的较小的表中实施针对每个经分区的读序部分的查找。
通过该方式,在具有小数量的快速存储器的处理器架构上,较小的表可逐一地加载到存储器中。此外,在具有数个处理器的平台上,每个处理器可通过仅加载与经分区的读序部分共享分类的相对应的较小的表来处理经分区读序部分的不同分类。
图4示出其中可实现各种先前实施例的各种架构和/或功能性的示例性系统400。如所示,提供了系统400,包括连接到通信总线402的至少一个主机处理器401。系统400还包括主存储器404。控制逻辑(软件)和数据存储在可采用随机存取存储器(RAM)形式的主存储器404中。
系统400还包括图形处理器406和显示器408,即计算机监视器。在一个实施例中,图形处理器406可包括多个着色器模块、光栅模块等。前述模块中的每一个实际上可置于单个半导体平台上以形成图形处理单元(GPU)。
在本描述中,单个半导体平台可以指基于单一半导体的集成电路或芯片。应注意的是,术语单个半导体平台还可以指具有增加的连接性的多芯片模块,其仿真片上操作,并在对常规中央处理单元(CPU)和总线实现方案的利用上进行大量改进。当然,各种模块还可根据用户意愿分开安置或以半导体平台的各种组合的方式安置。还可通过可包括(但不限于)现场可编程门阵列(FPGA)的可重新配置的逻辑来实现系统。
系统400还可包括二级存储410。二级存储410包括例如硬盘驱动器和/或表示软盘驱动器、磁带驱动器、压缩光盘驱动器等的可移动存储驱动器。可移动存储驱动器以众所周知的方式从可移动存储单元读取和/或写入到可移动存储单元。
计算机程序或计算机控制逻辑算法可存储在主存储器404和/或二级存储410中。这种计算机程序当被执行时使能系统400实施各种功能。存储器404、存储410和/或任何其他存储是计算机可读介质的可能的示例。
在一个实施例中,可在主机处理器401、图形处理器406、具有主机处理器401和图形处理器406二者的至少部分能力的集成电路(未示出)、芯片集(即设计为作为实施相关功能的单元来工作和销售的集成电路组等)和/或就其而言的任何其他集成电路的上下文中实现各种先前图的架构和/或功能性。
仍然,可在通用计算机系统、电路板系统、专用于娱乐目的的游戏控制台系统、专用系统和/或任何其他期望的系统的上下文中实现各种先前图的架构和/或功能性。例如,系统400可采取台式计算机、膝上型计算机和/或任何其他类型的逻辑的形式。仍然,系统400可采取各种其他设备的形式,包括但不限于个人数字助理(PDA)设备、移动电话设备、电视机等。
进一步地,虽然未示出,但系统400可耦连到网络[例如电信网络、局域网络(LAN)、无线网络、诸如互联网的广域网(WAN)、点对点网络、有线网络等]以用于通信目的。
虽然上文已描述各种实施例,但应理解的是,仅通过示例而非限制的方式将其加以呈现。因此,优选实施例的宽度和范围不应被上文所述的任何示例性实施例所限制,而仅应根据下面的权利要求和其等同物加以限定。

Claims (20)

1.一种方法,包括:
标识第一字符串和第二字符串;以及
利用所述第一字符串和所述第二字符串实施字符串搜索。
2.根据权利要求1所述的方法,其中所述第一字符串表示一个或多个网页的内容。
3.根据权利要求1所述的方法,其中所述第一字符串表示基因组的全部或一部分。
4.根据权利要求1所述的方法,其中所述第一字符串表示参考基因组。
5.根据权利要求1所述的方法,其中所述第二字符串包括要在所述第一字符串内被搜索的字符串。
6.根据权利要求1所述的方法,其中所述第二字符串表示与由所述第一字符串所表示的基因组分开的基因组的一部分。
7.根据权利要求1所述的方法,其中实施所述字符串搜索包括比对所述第二字符串与所述第一字符串。
8.根据权利要求1所述的方法,其中实施所述字符串搜索包括将所述第一字符串存储在FM-index中。
9.根据权利要求1所述的方法,其中实施所述字符串搜索包括将所述第一字符串存储在随机存取存储器(RAM)中。
10.根据权利要求1所述的方法,其中实施所述字符串搜索包括在存储所述第一字符串的数据结构内实施针对所述第二字符串的多个部分中的每一个的一个或多个查找以确定所述第二字符串的所述多个部分中的每一个是否存储在所述数据结构内。
11.根据权利要求1所述的方法,其中当实施所述字符串搜索时使用过滤器。
12.根据权利要求1所述的方法,其中布隆过滤器用来测试所述第二字符串是否位于存储所述第一字符串的数据结构内。
13.根据权利要求1所述的方法,其中实施所述字符串搜索包括将所述第一字符串存储在哈希表内。
14.根据权利要求13所述的方法,其中实施所述字符串搜索包括将存储所述第一字符串的所述哈希表分区成多个段。
15.根据权利要求14所述的方法,其中实施所述字符串搜索包括将所述多个段中的每一个分类。
16.根据权利要求15所述的方法,其中所述多个段中的每一个与多个预定的类中的一个相关联。
17.根据权利要求16所述的方法,其中实施所述字符串搜索包括构建多个新哈希表,其中每个新哈希表与预定的类相关联。
18.一种具体化在计算机可读介质上的计算机程序产品,包括:
用于标识第一字符串和第二字符串的代码;以及
用于利用所述第一字符串和所述第二字符串实施字符串搜索的代码。
19.一种系统,包括:
处理器,用于标识第一字符串和第二字符串,并且利用所述第一字符串和所述第二字符串实施字符串搜索。
20.根据权利要求19所述的系统,其中所述处理器经由总线耦连到存储器。
CN201310533497.9A 2012-11-01 2013-10-31 用于实施字符串搜索的系统、方法和计算机程序产品 Pending CN103810229A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/666,884 US8943091B2 (en) 2012-11-01 2012-11-01 System, method, and computer program product for performing a string search
US13/666,884 2012-11-01

Publications (1)

Publication Number Publication Date
CN103810229A true CN103810229A (zh) 2014-05-21

Family

ID=50489981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310533497.9A Pending CN103810229A (zh) 2012-11-01 2013-10-31 用于实施字符串搜索的系统、方法和计算机程序产品

Country Status (4)

Country Link
US (1) US8943091B2 (zh)
CN (1) CN103810229A (zh)
DE (1) DE102013221125A1 (zh)
TW (1) TWI506462B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122222A (zh) * 2017-04-20 2017-09-01 深圳大普微电子科技有限公司 一种字符串的搜索系统及方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361327B1 (en) * 2012-12-28 2016-06-07 Emc Corporation Rolling bloom filter for data with retention policy
CN105765559B (zh) * 2013-09-09 2019-03-05 尤奈特戴克斯公司 交互式案件管理系统
EP3235010A4 (en) 2014-12-18 2018-08-29 Agilome, Inc. Chemically-sensitive field effect transistor
US9859394B2 (en) 2014-12-18 2018-01-02 Agilome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10020300B2 (en) 2014-12-18 2018-07-10 Agilome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US10006910B2 (en) 2014-12-18 2018-06-26 Agilome, Inc. Chemically-sensitive field effect transistors, systems, and methods for manufacturing and using the same
US9618474B2 (en) 2014-12-18 2017-04-11 Edico Genome, Inc. Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids
US9857328B2 (en) 2014-12-18 2018-01-02 Agilome, Inc. Chemically-sensitive field effect transistors, systems and methods for manufacturing and using the same
US10216748B1 (en) * 2015-09-30 2019-02-26 EMC IP Holding Company LLC Segment index access management in a de-duplication system
WO2017201081A1 (en) 2016-05-16 2017-11-23 Agilome, Inc. Graphene fet devices, systems, and methods of using the same for sequencing nucleic acids
CN113227997A (zh) * 2018-10-23 2021-08-06 辉达公司 使用多个gpu对散列表有效且可扩展地构建和探测
TWI719537B (zh) * 2019-07-16 2021-02-21 國立清華大學 文字比對方法、系統及其電腦程式產品
JP7327100B2 (ja) * 2019-11-15 2023-08-16 富士フイルムビジネスイノベーション株式会社 データ管理システム、データ管理装置及びデータ管理プログラム
CA3220792A1 (en) 2021-06-28 2023-01-05 Christian Felix Burckert N-hamming distance search and n-hamming distance search index

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1598821A (zh) * 2004-09-07 2005-03-23 东南大学 基于特征的基因组序列数据库的搜索方法
US20120084311A1 (en) * 2010-09-30 2012-04-05 Aisin Aw Co., Ltd. Search support device, search support method and computer-readable storage medium
US20120254218A1 (en) * 2011-04-01 2012-10-04 Microsoft Corporation Enhanced Query Rewriting Through Statistical Machine Translation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736308A (en) * 1984-09-06 1988-04-05 Quickview Systems Search/retrieval system
US5497488A (en) * 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
US5485373A (en) * 1993-03-25 1996-01-16 Taligent, Inc. Language-sensitive text searching system with modified Boyer-Moore process
JP2960340B2 (ja) * 1995-10-20 1999-10-06 富士ゼロックス株式会社 データ検索方法及び装置
GB9819183D0 (en) * 1998-09-04 1998-10-28 Int Computers Ltd Multiple string search method
US6738779B1 (en) * 2001-02-21 2004-05-18 Telecom Italia S.P.A. Apparatus for and method of multiple parallel string searching
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7406458B1 (en) * 2002-09-17 2008-07-29 Yahoo! Inc. Generating descriptions of matching resources based on the kind, quality, and relevance of available sources of information about the matching resources
TWI235300B (en) * 2003-07-24 2005-07-01 Fu-Ren Liou Management method for integrating network content and digital files

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1598821A (zh) * 2004-09-07 2005-03-23 东南大学 基于特征的基因组序列数据库的搜索方法
US20120084311A1 (en) * 2010-09-30 2012-04-05 Aisin Aw Co., Ltd. Search support device, search support method and computer-readable storage medium
US20120254218A1 (en) * 2011-04-01 2012-10-04 Microsoft Corporation Enhanced Query Rewriting Through Statistical Machine Translation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙德才 等: ""基于匹配区域特征的相似字符串匹配过滤算法"", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122222A (zh) * 2017-04-20 2017-09-01 深圳大普微电子科技有限公司 一种字符串的搜索系统及方法
CN107122222B (zh) * 2017-04-20 2019-02-19 深圳大普微电子科技有限公司 一种字符串的搜索系统及方法

Also Published As

Publication number Publication date
TWI506462B (zh) 2015-11-01
US8943091B2 (en) 2015-01-27
DE102013221125A1 (de) 2014-05-08
US20140122509A1 (en) 2014-05-01
TW201439795A (zh) 2014-10-16

Similar Documents

Publication Publication Date Title
CN103810229A (zh) 用于实施字符串搜索的系统、方法和计算机程序产品
US20240096450A1 (en) Systems and methods for adaptive local alignment for graph genomes
Chen et al. High speed BLASTN: an accelerated MegaBLAST search tool
US10381106B2 (en) Efficient genomic read alignment in an in-memory database
Schbath et al. Mapping reads on a genomic sequence: an algorithmic overview and a practical comparative analysis
Zhao et al. G-BLASTN: accelerating nucleotide alignment by graphics processors
EP2829990B1 (en) Image search device, image search method, program, and computer-readable storage medium
JP4976578B1 (ja) 画像検索装置およびプログラム
US8725734B2 (en) Sorting multiple records of data using ranges of key values
Ling et al. Design and implementation of a CUDA-compatible GPU-based core for gapped BLAST algorithm
EP2833275B1 (en) Image search device, image search method, program, and computer-readable storage medium
EP2804115B1 (en) Index scan device and index scan method
Layer et al. Binary Interval Search: a scalable algorithm for counting interval intersections
EP2759952A1 (en) Efficient genomic read alignment in an in-memory database
CN113449187A (zh) 基于双画像的产品推荐方法、装置、设备及存储介质
CN112735528A (zh) 一种基因序列比对方法及系统
Li et al. Pairwise sequence alignment for very long sequences on GPUs
CN112733551A (zh) 文本分析方法、装置、电子设备及可读存储介质
US9008974B2 (en) Taxonomic classification system
Sadiq et al. NvPD: novel parallel edit distance algorithm, correctness, and performance evaluation
Li et al. FastPval: a fast and memory efficient program to calculate very low P-values from empirical distribution
Wei et al. WMSA: a novel method for multiple sequence alignment of DNA sequences
Vineetha et al. SPARK-MSNA: Efficient algorithm on Apache Spark for aligning multiple similar DNA/RNA sequences with supervised learning
CN111651625A (zh) 图像检索方法、装置、电子设备及存储介质
US10867134B2 (en) Method for generating text string dictionary, method for searching text string dictionary, and system for processing text string dictionary

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140521