CN103810229A - 用于实施字符串搜索的系统、方法和计算机程序产品 - Google Patents
用于实施字符串搜索的系统、方法和计算机程序产品 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004590 computer program Methods 0.000 title claims abstract description 7
- 238000005070 sampling Methods 0.000 description 10
- 108090000623 proteins and genes Proteins 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 4
- 108091028043 Nucleic acid sequence Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 150000007523 nucleic acids Chemical group 0.000 description 2
- 239000002773 nucleotide Substances 0.000 description 2
- 125000003729 nucleotide group Chemical group 0.000 description 2
- 108091032973 (ribonucleotides)n+m Proteins 0.000 description 1
- 108091026890 Coding region Proteins 0.000 description 1
- 108020004414 DNA Proteins 0.000 description 1
- 241000218636 Thuja Species 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000002864 sequence alignment Methods 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/24—Querying
- G06F16/245—Query processing
-
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
-
- 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
-
- 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
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document 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所述的系统,其中所述处理器经由总线耦连到存储器。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122222A (zh) * | 2017-04-20 | 2017-09-01 | 深圳大普微电子科技有限公司 | 一种字符串的搜索系统及方法 |
Families Citing this family (14)
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)
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)
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 |
-
2012
- 2012-11-01 US US13/666,884 patent/US8943091B2/en active Active
-
2013
- 2013-10-17 DE DE102013221125.2A patent/DE102013221125A1/de active Granted
- 2013-10-28 TW TW102138941A patent/TWI506462B/zh active
- 2013-10-31 CN CN201310533497.9A patent/CN103810229A/zh active Pending
Patent Citations (3)
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)
Title |
---|
孙德才 等: ""基于匹配区域特征的相似字符串匹配过滤算法"", 《计算机研究与发展》 * |
Cited By (2)
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 |