CN110517728B - 一种基因序列比对方法及装置 - Google Patents
一种基因序列比对方法及装置 Download PDFInfo
- Publication number
- CN110517728B CN110517728B CN201910807357.3A CN201910807357A CN110517728B CN 110517728 B CN110517728 B CN 110517728B CN 201910807357 A CN201910807357 A CN 201910807357A CN 110517728 B CN110517728 B CN 110517728B
- Authority
- CN
- China
- Prior art keywords
- hash value
- sequence
- gene
- determining
- detected
- 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 315
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000002864 sequence alignment Methods 0.000 claims description 12
- 239000012634 fragment Substances 0.000 claims description 7
- 108010001267 Protein Subunits Proteins 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 108091028043 Nucleic acid sequence Proteins 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000002773 nucleotide Substances 0.000 description 2
- 125000003729 nucleotide group Chemical group 0.000 description 2
- 101150029062 15 gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biophysics (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明公开了一种基因序列比对方法及装置,可以根据待检测的基因序列生成第一哈希值序列;将第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定第一哈希值序列分别相对于各哈希值子序列的比对结果,比对结果为相同或不相同,其中,标准哈希值序列根据标准基因序列生成;根据比对结果确定第一数量和第二数量,根据第一数量和第二数量确定待检测的基因序列与标准基因序列的匹配程度,其中,各比对结果中为不相同的比对结果的数量为第一数量,各比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为第二数量。本发明通过各比对结果的数量,可以获得准确的待检测的基因序列与标准基因序列的匹配程度。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基因序列比对方法及装置。
背景技术
在当今的基因序列重测序领域,已有成熟的动态规划算法用于基因序列比对技术中,例如:BlasT和FASTA。通过动态规划算法,可以计算待检测的基因序列与标准基因序列的匹配程度。
然而,在现有动态规划算法的实际应用中,本领域的研究人员发现如果选择待检测的基因序列的长度过短,会导致动态规划算法计算出的待检测的基因序列与标准基因序列的匹配位置过多,为后续的过滤筛选增加计算难度。如果选择待检测的基因序列的长度过长,会导致动态规划算法计算出的待检测的基因序列在标准基因序列上获得的匹配位置不完整,降低计算出的匹配程度的精度。
因此,如何获得准确的待检测的基因序列与标准基因序列的匹配程度,成为相关技术人员亟需解决的技术问题。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种基因序列比对方法及装置,技术方案如下:
一种基因序列比对方法,包括:
根据待检测的基因序列生成第一哈希值序列;
将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;
根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。
可选的,所述第一哈希值序列中的每个哈希值均根据所述待检测的基因序列中的一个基因片段生成,各哈希值对应的基因片段不同;
所述根据待检测的基因序列生成第一哈希值序列,包括:
对所述待检测的基因序列进行分段,获得多个基因片段;
获得每个基因片段的哈希值;
根据各基因片段的哈希值获得第一哈希值序列。
可选的,所述哈希值子序列的获得过程包括:
确定第一字符数量为哈希值子序列的长度;
在所述标准哈希值序列中获得多组所述第一字符数量的连续字符,将获得的每组连续字符确定为一个哈希值子序列,各组连续字符各不相同。
可选的,所述根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,包括:
根据所述第一数量,确定不匹配初始参数的取值;
根据所述第二数量,确定不匹配系数;
将所述不匹配初始参数的取值乘以所述不匹配系数,获得不匹配参数的取值;
获得完全匹配的取值减去所述不匹配参数的取值的差值,将所述差值确定为匹配参数的取值;
根据所述匹配参数的取值确定所述待检测的基因序列与所述标准基因序列的匹配程度。
可选的,所述方法还包括:
当确定所述匹配程度达到预设匹配程度时,则确定比对结果为相同的第三数量是否大于第一阈值,如果是,则将所述待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,返回执行所述根据待检测的基因序列生成第一哈希值序列的步骤。
一种基因序列比对装置,包括:哈希值序列生成单元、比对结果确定单元和匹配程度确定单元,
所述哈希值序列生成单元,用于根据待检测的基因序列生成第一哈希值序列;
所述比对结果确定单元,用于将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;
所述匹配程度确定单元,用于根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。
可选的,所述第一哈希值序列中的每个哈希值均根据所述待检测的基因序列中的一个基因片段生成,各哈希值对应的基因片段不同;
所述哈希值序列生成单元,包括:基因片段获得子单元、哈希值获得子单元和哈希值序列获得子单元,
所述基因片段获得子单元,用于对所述待检测的基因序列进行分段,获得多个基因片段;
所述哈希值获得子单元,用于获得每个基因片段的哈希值;
所述哈希值序列获得子单元,用于根据各基因片段的哈希值获得第一哈希值序列。
可选的,所述比对结果确定单元包括:哈希值子序列长度确定子单元和哈希值子序列确定子单元,
所述哈希值子序列长度子确定单元,用于确定第一字符数量为哈希值子序列的长度;
所述哈希值子序列确定子单元,用于在所述标准哈希值序列中获得多组所述第一字符数量的连续字符,将获得的每组连续字符确定为一个哈希值子序列,各组连续字符各不相同。
可选的,所述匹配程度确定单元包括:不匹配初始参数确定子单元、不匹配系数确定子单元、不匹配参数获得子单元、匹配参数获得子单元和匹配程度确定子单元,
所述不匹配初始参数确定子单元,用于根据所述第一数量,确定不匹配初始参数的取值;
所述不匹配系数确定子单元,用于根据所述第二数量,确定不匹配系数;
所述不匹配参数获得子单元,用于将所述不匹配初始参数的取值乘以所述不匹配系数,获得不匹配参数的取值;
所述匹配参数获得子单元,用于获得完全匹配的取值减去所述不匹配参数的取值的差值,将所述差值确定为匹配参数的取值;
所述匹配程度确定子单元,用于根据所述匹配参数的取值确定所述待检测的基因序列与所述标准基因序列的匹配程度。
可选的,所述装置还包括:阈值比较单元,
所述阈值比较单元,用于当确定所述匹配程度达到预设匹配程度时,则确定比对结果为相同的第三数量是否大于第一阈值,如果是,则将所述待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,触发所述哈希值序列生成单元。
借由上述技术方案,本发明提供的一种基因序列比对方法及装置,可以根据待检测的基因序列生成第一哈希值序列;将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。本发明通过各比对结果的数量,可以获得准确的待检测的基因序列与标准基因序列的匹配程度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种基因序列比对方法的流程示意图;
图2示出了本发明实施例提供的K-mer分析原理的说明示意图;
图3示出了本发明实施例提供的另一种基因序列比对方法的流程示意图;
图4示出了本发明实施例提供的一种获得标准哈希值序列的流程示意图;
图5示出了本发明实施例提供的一种获得哈希值子序列的流程示意图;
图6示出了本发明实施例提供的另一种基因序列比对方法的流程示意图;
图7示出了本发明实施例提供的另一种基因序列比对方法的流程示意图;
图8示出了本发明实施例提供的一种基因序列比对装置的结构示意图;
图9示出了本发明实施例提供的另一种基因序列比对装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明实施例提供的一种基因序列比对方法,可以包括:
S100、根据待检测的基因序列生成第一哈希值序列。
具体的,待检测的基因序列可以是核苷酸序列。待检测的基因序列可以是初始基因序列通过K-mer分析,获得的多个包含K个碱基的基因子序列中的一个基因子序列。初始基因序列可以包括基因正链序列或基因反链序列。可以理解的是,基因可以存在双链,本发明实施例可以在双链中将其中一条单链确认为基因正链,则另一条单链为基因反链。本发明实施例也可以依照生物学领域的定义,将与RNA序列相同的单链确定为基因正链,与基因正链相对应的另一单链为基因反链。在本发明一可选的实施例中,初始基因序列的长度可以为101。为了便于理解K-mer分析,此处结合图2进行举例分析:若初始基因序列长度为L,K-mer长度为K,那么可以得到L-K+1个基因子序列。例如,当初始基因序列长度为21,K为7,则可以得到15个基因子序列。第一哈希值序列可以为对待检测的基因序列通过哈希算法计算生成的模糊哈希值序列,其中,该哈希算法可以包括模糊哈希(Fuzzy Hashing)算法。
可以理解的是,哈希值及哈希值序列为由英文字母和阿拉伯数字组成的长串字符,后续为了举例方便,通过固定长度的简化后长串字符代表哈希值及哈希值序列。
可选的,如图3所示,本发明实施例提供的另一种基因序列比对方法,所述第一哈希值序列中的每个哈希值均根据所述待检测的基因序列中的一个基因片段生成,各哈希值对应的基因片段不同。在此基础上,步骤S100可以包括:
S110、对所述待检测的基因序列进行分段,获得多个基因片段。
本发明实施例可以按照固定字节长度对待检测的基因序列进行分段,获得多个基因片段。
S120、获得每个基因片段的哈希值。
具体的,本发明实施例可以通过模糊哈希算法计算获得每个基因片段的哈希值。例如,基因片段abcdef的哈希值为N,则基因片段abcdef的下一个基因片段bcdefg的哈希值可以为N增加或减去基因片段bcdefg相对于基因片段abcdef的偏差变化量。
S130、根据各基因片段的哈希值获得第一哈希值序列。
本发明实施例可以将各基因片段的哈希值按照各基因片段的位置拼接为第一哈希值序列。例如,基因片段1的哈希值为79b578,基因片段1后的基因片段2的哈希值为896e23,则将基因片段1和基因片段2拼接的第一哈希值序列为79b578896e23。
S200、将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成。
标准基因序列可以包括标准基因正链序列和/或标准基因反链序列。需要注意的是,本发明实施例可以对基因正链和基因反链进行标识,若待检测的基因序列为基因正链序列,本发明实施例可以将该基因正链序列生成的第一哈希值序列与标准基因正链序列生成的标准哈希值序列进行比对。若待检测的基因序列为基因反链序列,本发明实施例可以将该基因反链序列生成的第一哈希值序列与标准基因反链序列生成的标准哈希值序列进行比对。若待检测的基因序列为基因正链序列和基因反链序列,本发明实施例可以将该基因正链序列生成的第一哈希值序列与标准基因正链序列生成的标准哈希值序列进行比对,将该基因反链序列生成的第一哈希值序列与标准基因反链序列生成的标准哈希值序列进行比对。需要注意的是,标准基因序列的长度大于待检测的基因序列的长度,即标准哈希值序列的长度大于第一哈希值序列的长度。
可选的,本发明实施例还可以提供一种获得标准哈希值序列的方法,如图4所示,包括:
S10、对标准基因序列进行分段,获得多个标准基因片段;
S11、获得每个标准基因片段的哈希值;
S12、根据各标准基因片段的哈希值获得标准哈希值序列。
步骤S10至S12的原理可参考步骤S110至S130,本发明实施例在此不作赘述。
可选的,如图5所示,本发明实施例中哈希值子序列的获得过程可以包括:
S20、确定第一字符数量为哈希值子序列的长度。
S21、在所述标准哈希值序列中获得多组所述第一字符数量的连续字符,将获得的每组连续字符确定为一个哈希值子序列,各组连续字符各不相同。
本发明实施例可以在所述标准哈希值序列中获得全部所述第一字符数量的连续字符。可选的,设第一字符数量为N,则本发明可以按照从标准哈希值序列头部的第一个字符到标准哈希值序列尾部的倒数第N个字符的顺序依次对这些字符进行如下处理:
将该哈希值及该字符之后的N-1个字符确定为一个哈希值子序列。
为了便于理解,此处通过举例进行说明:若第一字符数量为4,在标准哈希值序列abcdefg中获得的哈希值子序列为:abcd、bcde、cdef和defg。
本发明实施例可以对标准哈希值序列的各哈希值子序列创建哈希表,第一哈希值序列可以分别与哈希表中的各哈希值子序列进行比对,获得比对结果。
本发明实施例可以将第一哈希值序列与获得的标准哈希值序列中的各哈希值子序列中的至少一个哈希值子序列比对,比对过程可以包括:比对第一哈希值序列是否与该哈希值子序列相同,如果相同,则确定比对结果为相同,如果不相同,则确定比对结果为不相同,其中,比对结果为不相同包括增加、缺失和变更。
具体的,本发明实施例可以在第一哈希值序列与哈希值子序列的比对结果为不相同时,比对第一哈希值序列的长度与该哈希值子序列的长度:如果第一哈希值序列的长度大于该哈希值子序列的长度,则确定比对结果为增加,如果第一哈希值序列的长度小于该哈希值子序列的长度,则确定比对结果为缺失,如果第一哈希值序列的长度等于该哈希值子序列的长度,则确定比对结果为变更。增加、缺失和变更均记为一次比对结果为不相同的比对结果。
本发明实施例可以通过比对结果为相同的数量和比对结果为不相同的数量确定待检测的基因序列与标准基因序列的匹配程度,具体过程为步骤S300。
S300、根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。
为了便于理解相邻的哈希值子序列,此处通过举例进一步说明:若标准哈希值序列abcdefghijklnm中获得比对结果为相同的哈希值子序列为:abcd、bcde、cdef、defg、fghi、ijkl和jkln,则abcd、bcde、cdef和defg为比对结果为相同的相邻的哈希值子序列且相邻次数为4,ijkl和jkln也为比对结果为相同的相邻的哈希值子序列且相邻次数为2。第二数量的取值可以是最大的相邻次数,例如在上述例子中,第二数量的取值可以为2。第二数量的取值也可以是各相邻次数的平均值,例如在上述例子中,第二数量的取值可以为3。
如图6所示,本发明实施例提供的另一种基因序列比对方法,S300可以包括:
S310、根据所述第一数量,确定不匹配初始参数的取值。
具体的,各所述比对结果中为不相同的比对结果的数量为不匹配初始参数的取值。
S320、根据所述第二数量,确定不匹配系数。
具体的,本发明实施例可以根据第二数量的取值,确定与该第二数量对应的不匹配系数。第二数量的取值越大,则与该第二数量对应的不匹配系数越小。当第二数量的取值越大时,说明比对结果为不相同的比对结果越密集,待检测的基因序列与标准基因序列的匹配成功序列越长,所以本发明实施例可以当第二数量的取值越大,确定与该第二数量对应的不匹配系数越小。例如,当第二数量的取值为8时,与该第二数量对应的不匹配系数为0.6,当第二数量的取值为20时,与该第二数量对应的不匹配系数为0.23。
S330、将所述不匹配初始参数的取值乘以所述不匹配系数,获得不匹配参数的取值。
S340、获得完全匹配的取值减去所述不匹配参数的取值的差值,将所述差值确定为匹配参数的取值。
S350、根据所述匹配参数的取值确定所述待检测的基因序列与所述标准基因序列的匹配程度。
为了便于理解,此处通过举例进一步说明:若不匹配初始参数为20,不匹配系数为0.3,则不匹配参数的取值为6,若完全匹配的取值为100,则匹配参数的取值为94。完全匹配可以是第一哈希值序列分别相对于各哈希值子序列的比对结果均为相同。根据匹配参数的取值,可以评价匹配程度的高低。例如,当匹配参数的取值不小于90时,评价的匹配程度可以为高,当匹配参数的取值小于90且不小于80时,评价的匹配程度可以为较高,以此类推。可以理解的是,根据匹配参数的取值评价匹配程度可以由相关技术人员确定,本发明在此不作进一步的限定。
本发明实施例提供的一种基因序列比对方法,可以根据待检测的基因序列生成第一哈希值序列;将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。本发明通过各比对结果的数量,可以获得准确的待检测的基因序列与标准基因序列的匹配程度。
为了防止由于待检测的基因序列的长度过短而导致确定的匹配程度不准确的问题,如图7所示,本发明实施例提供的另一种基因序列比对方法,还可以包括:
S400、当确定所述匹配程度达到预设匹配程度时,则确定比对结果为相同的第三数量是否大于第一阈值,如果是,则将所述待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,返回执行所述根据待检测的基因序列生成第一哈希值序列的步骤。
可以理解的是,预设匹配程度可以是相关技术人员根据经验划定的待检测的基因序列的长度过短的警示值。例如,当匹配参数的取值为98,评价的匹配程度为过高时,则可能存在待检测的基因序列的长度过短的情况。
本发明实施例还可以确定匹配程度是否为最低匹配程度,当匹配程度为为最低匹配程度时,说明待检测的基因序列与标准基因序列匹配程度低,本发明实施例可以对该待检测的基因序列进行过滤处理。
在待检测的基因序列的长度可能过短的情况下,本发明实施例可以将比对结果为相同的第三数量与第一阈值进行比较,如果第三数量大于第一阈值,则说明待检测的基因序列的长度过短,获得的匹配程度不准确。此时,本发明实施例可以将待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,返回执行步骤S100。第一阈值可以是相关技术人员根据经验设置的,本发明实施例在此不作进一步的限定。
需要注意的是,第二基因序列为待检测序列所属的初始基因序列中的一个基因子序列。第二基因序列与待检测序列相邻,且第二基因序列在待检测序列之后。
可以理解的是,当第三数量小于于第一阈值时,本发明实施例可以认为获得的是准确的匹配程度。本发明实施例通过匹配程度达到预设匹配程度且第三数量小于第一阈值的条件,判断获得的匹配程度是否准确,如果不准确,则扩展待检测的基因序列的长度,直至以合理长度的待检测的基因序列,获得准确的匹配程度。
与上述方法实施例相对应,本发明实施例还提供一种基因序列比对装置,其结构如图8所示,包括:哈希值序列生成单元100、比对结果确定单元200和匹配程度确定单元300。
所述哈希值序列生成单元100,用于根据待检测的基因序列生成第一哈希值序列。
具体的,待检测的基因序列可以是核苷酸序列。待检测的基因序列可以是初始基因序列通过K-mer分析,获得的多个包含K个碱基的基因子序列中的一个基因子序列。初始基因序列可以包括基因正链序列或基因反链序列。可以理解的是,基因可以存在双链,本发明实施例可以在双链中将其中一条单链确认为基因正链,则另一条单链为基因反链。本发明实施例也可以依照生物学领域的定义,将与RNA序列相同的单链确定为基因正链,与基因正链相对应的另一单链为基因反链。在本发明一可选的实施例中,初始基因序列的长度可以为101。第一哈希值序列可以为对待检测的基因序列通过哈希算法计算生成的模糊哈希值序列,其中,该哈希算法可以包括模糊哈希(Fuzzy Hashing)算法。
可选的,所述第一哈希值序列中的每个哈希值均根据所述待检测的基因序列中的一个基因片段生成,各哈希值对应的基因片段不同。
所述哈希值序列生成单元100,包括:基因片段获得子单元、哈希值获得子单元和哈希值序列获得子单元。
所述基因片段获得子单元,用于对所述待检测的基因序列进行分段,获得多个基因片段。
本发明实施例可以按照固定字节长度对待检测的基因序列进行分段,获得多个基因片段。
所述哈希值获得子单元,用于获得每个基因片段的哈希值。
具体的,本发明实施例可以通过模糊哈希算法计算获得每个基因片段的哈希值。例如,基因片段abcdef的哈希值为N,则基因片段abcdef的下一个基因片段bcdefg的哈希值可以为N增加或减去基因片段bcdefg相对于基因片段abcdef的偏差变化量。
所述哈希值序列获得子单元,用于根据各基因片段的哈希值获得第一哈希值序列。
本发明实施例可以将各基因片段的哈希值按照各基因片段的位置拼接为第一哈希值序列。
所述比对结果确定单元200,用于将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成。
标准基因序列可以包括标准基因正链序列和/或标准基因反链序列。需要注意的是,本发明实施例可以对基因正链和基因反链进行标识,若待检测的基因序列为基因正链序列,本发明实施例可以将该基因正链序列生成的第一哈希值序列与标准基因正链序列生成的标准哈希值序列进行比对。若待检测的基因序列为基因反链序列,本发明实施例可以将该基因反链序列生成的第一哈希值序列与标准基因反链序列生成的标准哈希值序列进行比对。若待检测的基因序列为基因正链序列和基因反链序列,本发明实施例可以将该基因正链序列生成的第一哈希值序列与标准基因正链序列生成的标准哈希值序列进行比对,将该基因反链序列生成的第一哈希值序列与标准基因反链序列生成的标准哈希值序列进行比对。需要注意的是,标准基因序列的长度大于待检测的基因序列的长度,即标准哈希值序列的长度大于第一哈希值序列的长度。
可选的,本发明实施例还可以获得标准哈希值序列,其中:哈希值序列生成单元100,可以用于对标准基因序列进行分段,获得多个标准基因片段。
基因片段获得子单元,可以用于获得每个标准基因片段的哈希值。
哈希值序列获得子单元,可以用于根据各标准基因片段的哈希值获得标准哈希值序列。
获得标准哈希值序列的装置原理可参考前述哈希值序列生成单元100,本发明实施例在此不作赘述。
可选的,所述比对结果确定单元200可以用于获得哈希值子序列。
具体的,比对结果确定单元200可以包括:哈希值子序列长度确定子单元和哈希值子序列确定子单元。
所述哈希值子序列长度子确定单元,用于确定第一字符数量为哈希值子序列的长度。
所述哈希值子序列确定子单元,用于在所述标准哈希值序列中获得多组所述第一字符数量的连续字符,将获得的每组连续字符确定为一个哈希值子序列,各组连续字符各不相同。
本发明实施例可以在所述标准哈希值序列中获得全部所述第一字符数量的连续字符。可选的,设第一字符数量为N,则本发明可以按照从标准哈希值序列头部的第一个字符到标准哈希值序列尾部的倒数第N个字符的顺序依次对这些字符进行如下处理:
将该哈希值及该字符之后的N-1个字符确定为一个哈希值子序列。
为了便于理解,此处通过举例进行说明:若第一字符数量为4,在标准哈希值序列abcdefg中获得的哈希值子序列为:abcd、bcde、cdef和defg。
本发明实施例可以对标准哈希值序列的各哈希值子序列创建哈希表,第一哈希值序列可以分别与哈希表中的各哈希值子序列进行比对,获得比对结果。
本发明实施例可以将第一哈希值序列与获得的标准哈希值序列中的各哈希值子序列中的至少一个哈希值子序列比对,比对过程可以包括:比对第一哈希值序列是否与该哈希值子序列相同,如果相同,则确定比对结果为相同,如果不相同,则确定比对结果为不相同,其中,比对结果为不相同包括增加、缺失和变更。
具体的,本发明实施例可以在第一哈希值序列与哈希值子序列的比对结果为不相同时,比对第一哈希值序列的长度与该哈希值子序列的长度:如果第一哈希值序列的长度大于该哈希值子序列的长度,则确定比对结果为增加,如果第一哈希值序列的长度小于该哈希值子序列的长度,则确定比对结果为缺失,如果第一哈希值序列的长度等于该哈希值子序列的长度,则确定比对结果为变更。增加、缺失和变更均记为一次比对结果为不相同的比对结果。
本发明实施例可以通过比对结果为相同的数量和比对结果为不相同的数量确定待检测的基因序列与标准基因序列的匹配程度。
所述匹配程度确定单元300,用于根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。
可选的,所述匹配程度确定单元300可以包括:不匹配初始参数确定子单元、不匹配系数确定子单元、不匹配参数获得子单元、匹配参数获得子单元和匹配程度确定子单元。
所述不匹配初始参数确定子单元,用于根据所述第一数量,确定不匹配初始参数的取值。
具体的,各所述比对结果中为不相同的比对结果的数量为不匹配初始参数的取值。
所述不匹配系数确定子单元,用于根据所述第二数量,确定不匹配系数。
具体的,本发明实施例可以根据第二数量的取值,确定与该第二数量对应的不匹配系数。第二数量的取值越大,则与该第二数量对应的不匹配系数越小。当第二数量的取值越大时,说明比对结果为不相同的比对结果越密集,待检测的基因序列与标准基因序列的匹配成功序列越长,所以本发明实施例可以当第二数量的取值越大,确定与该第二数量对应的不匹配系数越小。
所述不匹配参数获得子单元,用于将所述不匹配初始参数的取值乘以所述不匹配系数,获得不匹配参数的取值。
所述匹配参数获得子单元,用于获得完全匹配的取值减去所述不匹配参数的取值的差值,将所述差值确定为匹配参数的取值。
所述匹配程度确定子单元,用于根据所述匹配参数的取值确定所述待检测的基因序列与所述标准基因序列的匹配程度。
本发明实施例提供的一种基因序列比对装置,可以根据待检测的基因序列生成第一哈希值序列;将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量。本发明通过各比对结果的数量,可以获得准确的待检测的基因序列与标准基因序列的匹配程度。
为了防止由于待检测的基因序列的长度过短而导致确定的匹配程度不准确的问题,如图9所示,本发明实施例提供的另一种基因序列比对装置,还可以包括:阈值比较单元400。
所述阈值比较单元400,用于当确定所述匹配程度达到预设匹配程度时,则确定比对结果为相同的第三数量是否大于第一阈值,如果是,则将所述待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,触发所述哈希值序列生成单元100。
可以理解的是,预设匹配程度可以是相关技术人员根据经验划定的待检测的基因序列的长度过短的警示值。
本发明实施例还可以确定匹配程度是否为最低匹配程度,当匹配程度为为最低匹配程度时,说明待检测的基因序列与标准基因序列匹配程度低,本发明实施例可以对该待检测的基因序列进行过滤处理。
在待检测的基因序列的长度可能过短的情况下,本发明实施例可以将比对结果为相同的第三数量与第一阈值进行比较,如果第三数量大于第一阈值,则说明待检测的基因序列的长度过短,获得的匹配程度不准确。此时,本发明实施例可以将待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,触发哈希值序列生成单元100。第一阈值可以是相关技术人员根据经验设置的,本发明实施例在此不作进一步的限定。
需要注意的是,第二基因序列为待检测序列所属的初始基因序列中的一个基因子序列。第二基因序列与待检测序列相邻,且第二基因序列在待检测序列之后。
可以理解的是,当第三数量小于于第一阈值时,本发明实施例可以认为获得的是准确的匹配程度。本发明实施例通过匹配程度达到预设匹配程度且第三数量小于第一阈值的条件,判断获得的匹配程度是否准确,如果不准确,则扩展待检测的基因序列的长度,直至以合理长度的待检测的基因序列,获得准确的匹配程度。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基因序列比对方法,其特征在于,包括:
根据待检测的基因序列生成第一哈希值序列;
将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;
根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量;
其中,所述根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,包括:
根据所述第一数量,确定不匹配初始参数的取值;
根据所述第二数量,确定不匹配系数;
将所述不匹配初始参数的取值乘以所述不匹配系数,获得不匹配参数的取值;
获得完全匹配的取值减去所述不匹配参数的取值的差值,将所述差值确定为匹配参数的取值;
根据所述匹配参数的取值确定所述待检测的基因序列与所述标准基因序列的匹配程度。
2.根据权利要求1所述的方法,其特征在于,所述第一哈希值序列中的每个哈希值均根据所述待检测的基因序列中的一个基因片段生成,各哈希值对应的基因片段不同;
所述根据待检测的基因序列生成第一哈希值序列,包括:
对所述待检测的基因序列进行分段,获得多个基因片段;
获得每个基因片段的哈希值;
根据各基因片段的哈希值获得第一哈希值序列。
3.根据权利要求1所述的方法,其特征在于,所述哈希值子序列的获得过程包括:
确定第一字符数量为哈希值子序列的长度;
在所述标准哈希值序列中获得多组所述第一字符数量的连续字符,将获得的每组连续字符确定为一个哈希值子序列,各组连续字符各不相同。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
当确定所述匹配程度达到预设匹配程度时,则确定比对结果为相同的第三数量是否大于第一阈值,如果是,则将所述待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,返回执行所述根据待检测的基因序列生成第一哈希值序列的步骤。
5.一种基因序列比对装置,其特征在于,包括:哈希值序列生成单元、比对结果确定单元和匹配程度确定单元,
所述哈希值序列生成单元,用于根据待检测的基因序列生成第一哈希值序列;
所述比对结果确定单元,用于将所述第一哈希值序列分别与标准哈希值序列中的各哈希值子序列进行比对,确定所述第一哈希值序列分别相对于各所述哈希值子序列的比对结果,所述比对结果为相同或不相同,其中,所述标准哈希值序列根据标准基因序列生成;
所述匹配程度确定单元,用于根据所述比对结果确定第一数量和第二数量,根据所述第一数量和所述第二数量确定所述待检测的基因序列与所述标准基因序列的匹配程度,其中,各所述比对结果中为不相同的比对结果的数量为所述第一数量,各所述比对结果中为相同的比对结果对应的各哈希值子序列中相邻的哈希值子序列的数量为所述第二数量;
其中,所述匹配程度确定单元包括:不匹配初始参数确定子单元、不匹配系数确定子单元、不匹配参数获得子单元、匹配参数获得子单元和匹配程度确定子单元,
所述不匹配初始参数确定子单元,用于根据所述第一数量,确定不匹配初始参数的取值;
所述不匹配系数确定子单元,用于根据所述第二数量,确定不匹配系数;
所述不匹配参数获得子单元,用于将所述不匹配初始参数的取值乘以所述不匹配系数,获得不匹配参数的取值;
所述匹配参数获得子单元,用于获得完全匹配的取值减去所述不匹配参数的取值的差值,将所述差值确定为匹配参数的取值;
所述匹配程度确定子单元,用于根据所述匹配参数的取值确定所述待检测的基因序列与所述标准基因序列的匹配程度。
6.根据权利要求5所述的装置,其特征在于,所述第一哈希值序列中的每个哈希值均根据所述待检测的基因序列中的一个基因片段生成,各哈希值对应的基因片段不同;
所述哈希值序列生成单元,包括:基因片段获得子单元、哈希值获得子单元和哈希值序列获得子单元,
所述基因片段获得子单元,用于对所述待检测的基因序列进行分段,获得多个基因片段;
所述哈希值获得子单元,用于获得每个基因片段的哈希值;
所述哈希值序列获得子单元,用于根据各基因片段的哈希值获得第一哈希值序列。
7.根据权利要求5所述的装置,其特征在于,所述比对结果确定单元包括:哈希值子序列长度确定子单元和哈希值子序列确定子单元,
所述哈希值子序列长度子确定单元,用于确定第一字符数量为哈希值子序列的长度;
所述哈希值子序列确定子单元,用于在所述标准哈希值序列中获得多组所述第一字符数量的连续字符,将获得的每组连续字符确定为一个哈希值子序列,各组连续字符各不相同。
8.根据权利要求5至7任一项所述的装置,其特征在于,还包括:阈值比较单元,
所述阈值比较单元,用于当确定所述匹配程度达到预设匹配程度时,则确定比对结果为相同的第三数量是否大于第一阈值,如果是,则将所述待检测的基因序列后的第二基因序列和所述待检测序列一起作为待检测序列,触发所述哈希值序列生成单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910807357.3A CN110517728B (zh) | 2019-08-29 | 2019-08-29 | 一种基因序列比对方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910807357.3A CN110517728B (zh) | 2019-08-29 | 2019-08-29 | 一种基因序列比对方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110517728A CN110517728A (zh) | 2019-11-29 |
CN110517728B true CN110517728B (zh) | 2022-04-29 |
Family
ID=68627868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910807357.3A Active CN110517728B (zh) | 2019-08-29 | 2019-08-29 | 一种基因序列比对方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110517728B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402956A (zh) * | 2020-02-28 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种序列比对方法、装置、设备、介质 |
CN111899791B (zh) * | 2020-06-17 | 2023-11-24 | 昆明理工大学 | 一种基于基因序列相似的病毒源头筛选方法 |
CN115910197B (zh) * | 2021-12-29 | 2024-03-22 | 上海智峪生物科技有限公司 | 基因序列处理方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243297A (zh) * | 2015-10-09 | 2016-01-13 | 人和未来生物科技(长沙)有限公司 | 一种参考基因组上基因序列片段的快速比对定位方法 |
CN107403075A (zh) * | 2017-08-02 | 2017-11-28 | 深圳市瀚海基因生物科技有限公司 | 比对方法、装置及系统 |
CN107798216A (zh) * | 2016-09-07 | 2018-03-13 | 中央研究院 | 采用分治法进行高相似性序列的比对方法 |
CN108985008A (zh) * | 2018-06-29 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种快速比对基因数据的方法和比对系统 |
-
2019
- 2019-08-29 CN CN201910807357.3A patent/CN110517728B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243297A (zh) * | 2015-10-09 | 2016-01-13 | 人和未来生物科技(长沙)有限公司 | 一种参考基因组上基因序列片段的快速比对定位方法 |
CN107798216A (zh) * | 2016-09-07 | 2018-03-13 | 中央研究院 | 采用分治法进行高相似性序列的比对方法 |
CN107403075A (zh) * | 2017-08-02 | 2017-11-28 | 深圳市瀚海基因生物科技有限公司 | 比对方法、装置及系统 |
CN108985008A (zh) * | 2018-06-29 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种快速比对基因数据的方法和比对系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110517728A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110517728B (zh) | 一种基因序列比对方法及装置 | |
JP6492239B2 (ja) | テキスト入力のためのシステム及び方法 | |
Eskin et al. | Finding composite regulatory patterns in DNA sequences | |
Firtina et al. | Hercules: a profile HMM-based hybrid error correction algorithm for long reads | |
JP2008243054A (ja) | 照合装置、照合方法および照合プログラム | |
EP2946272A2 (en) | Text input system and method | |
JP6200076B2 (ja) | システムから取得される測定値を評価する方法及びシステム | |
EP2133807A1 (en) | Homologous search system | |
JP4265296B2 (ja) | 変化点検出装置,変化点検出方法および変化点検出用プログラム | |
Hertzberg et al. | Finding motifs in promoter regions | |
WO2010013863A1 (en) | Method of detecting character string pattern at high speed using layered shift tables | |
CN106126670B (zh) | 运营数据排序处理方法及装置 | |
JPH09204310A (ja) | 判断規則修正装置と判断規則修正方法 | |
CN111627496A (zh) | 一种哈希表的压缩方法、系统及相关装置 | |
CN101034398A (zh) | 文档信息处理装置、文档信息处理方法和计算机可读介质 | |
Barton et al. | Linear-time computation of prefix table for weighted strings & applications | |
US8189931B2 (en) | Method and apparatus for matching of bracketed patterns in test strings | |
US20170270243A1 (en) | Method for finding associated positions of bases of a read on a reference genome | |
JP5781486B2 (ja) | シードの長さを考慮した塩基配列処理システム及び方法 | |
He et al. | Inference of RNA structural contacts by direct coupling analysis | |
JPH05257982A (ja) | 文字列認識方法 | |
KR102349023B1 (ko) | 뉴클레오티드 서열 변이의 빈도 분포 결정 | |
CN113901151A (zh) | 用于关系抽取的方法、装置、设备和介质 | |
CN112101468A (zh) | 一种在序列组合中判定异常序列的方法 | |
JP2019021037A (ja) | ソースコード評価装置、ソースコード評価方法及びソースコード評価プログラム |
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 |