当前位置: 首页 > 专利查询>同济大学专利>正文

一种用于在基因序列中快速搜索给定模式的方法技术

技术编号:16819407 阅读:39 留言:0更新日期:2017-12-16 12:56
本发明专利技术涉及一种用于在基因序列中快速搜索给定模式的方法,包括以下步骤:统计输入序列的背景分布;将各个给定模式的位置频率矩阵转换为PWM矩阵,计算PWM矩阵的阈值K;计算每个PWM矩阵的期望向量;计算每个PWM矩阵的预计算窗口位置;计算每个PWM矩阵的预计算窗口的总排列分值;计算每个PWM矩阵的匹配顺序向量;计算每个PWM矩阵的最大分值向量;通过滑动窗口扫描输入序列,匹配输入序列与各个PWM矩阵,得到匹配成功的结果向量。与现有技术相比,本发明专利技术面对多个序列模式匹配,不需要多次扫描和计算匹配,只需要依次搜索即可完成对所有模式的匹配,具有匹配速度快等优点。

A method for fast search of a given pattern in a gene sequence

The invention relates to a fast search algorithm for a given pattern in the gene sequence, which comprises the following steps: background statistical distribution of the input sequence; the position frequency matrix of every given pattern into PWM matrix, PWM matrix K threshold calculation; expectation vector calculation of each PWM matrix; PWM matrix is calculated for each pre computation window the position of each PWM matrix; calculation of pre calculated total score matching window arrangement; sequential vector is calculated for each PWM matrix; maximum score vector is calculated for each of the PWM matrix; sliding window scanning through the input sequence matching the input sequence and the PWM matrix, obtained successful results, vector. Compared with the existing technology, the invention faces multiple sequential pattern matching, does not need multiple scanning and computation matching, and only needs sequential search to complete all pattern matching, and has the advantages of fast matching speed and so on.

【技术实现步骤摘要】
一种用于在基因序列中快速搜索给定模式的方法
本专利技术涉及基因序列的生物信息学分析技术,尤其是涉及一种用于在基因序列中快速搜索给定模式的方法。
技术介绍
基因组是通过随机突变积累和多样化功能需求的选择来进化的。对于存活时间短和有较大种群数的物种(例如:细菌),这种强烈的选择力能够进化出高度优化基因组、密集性基因以及伴随非功能序列微不足道的开销:这会令原核生物基因的预测变得相对简单起来。相比之下,拥有更长的存活时间和较少种群数的物种基因组(例如:脊椎动物),它们积累了海量的遗传物质,而这些遗传物质中较多数是在不受选择机制下出现的。超过一半的人类基因组是在逆转录转座子因子、DNA转座子和其它种类重复的序列。功能性序列和调控因子只占脊椎动物其基因组中很少的一部分,这让它们的鉴别变得很困难。大部分的脊椎动物基因被内含子给打断,填满了在较大程度上受低约束限制的物质;长的内含子在建模上显得尤为困难。同对非编码转录的建模相同,识别可变剪接需要更加复杂的算法来实现。对于计算生物学,从头开始的脊椎动物基因预测是一项非常具有挑战性的任务。在DNA和其它生物序列中,这些匹配可以使用统计模型PWM矩阵来表示,如转录因子绑定位点。当前的测序技术已经使得在很短的时间内将一个完整基因序列排好序变得可能。下一代测序技术将只需要1000美元就可以在不到一天的时间里完成对人类基因组的测序。许多其它基因组也会被测序并且进行高质量的拼接,这包括果蝇、老鼠、鸡、黑猩猩、狗、猪、猫、马、奶牛和斑马鱼。随着DNA和蛋白质基因序列数据库的指数增长,权重矩阵也可以被合成(如:TRANSFAC、PRINTS、BLOCKS、JASPAR数据库),即使现在的相关硬件设备的计算速度非常快了,在如此庞大的基因数据集上寻找相关的统计模型,典型的为转录因子绑定位点,是一件非常困难的事。在这样的背景下,开发出在权重矩阵PWM和序列之间的快速搜索匹配技术显得异常重要。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种用于在基因序列中快速搜索给定模式的方法。本专利技术的目的可以通过以下技术方案来实现:一种用于在基因序列中快速搜索给定模式的方法,包括以下步骤:S1、统计输入序列的背景分布;S2、将各个给定模式的位置频率矩阵转换为PWM矩阵,根据设定的P值计算PWM矩阵的阈值K;S3、根据步骤S1得到的背景分布计算每个PWM矩阵的期望向量;S4、根据设定的用于预先匹配的预计算窗口的大小和步骤S3得到的期望向量,计算每个PWM矩阵的预计算窗口位置;S5、根据步骤S4得到的预计算窗口位置和预计算窗口的大小,计算每个PWM矩阵的预计算窗口的总排列分值;S6、根据步骤S4得到的预计算窗口位置和步骤S3得到的期望向量,计算每个PWM矩阵的匹配顺序向量;S7、根据步骤S6得到的匹配顺序向量计算每个PWM矩阵的最大分值向量;S8、通过滑动窗口扫描输入序列,根据阈值K、预计算窗口总排列分值、匹配顺序向量和最大分值向量,匹配输入序列与各个PWM矩阵,得到匹配成功的结果向量。所述背景分布包括输入序列中各字符所占的比率,所述PWM矩阵的行数等于字符的种类数,列数等于给定模式的位置频率矩阵的列数。所述步骤S2中根据设定的P值计算PWM矩阵的阈值K具体包括:根据P值确定PWM矩阵可匹配的序列数量y,对PWM矩阵的所有种类字符生成的长度为该PWM矩阵长度的所有排列组合序列,计算每个序列在该PWM矩阵中的分值并按降序排序,将第y个序列的分值作为阈值K。所述步骤S3中每个PWM矩阵的期望向量包括PWM矩阵每一列的期望值Lj:其中,Lj表示PWM矩阵的第j列匹配失败的期望值,a表示某种类字符,M(j,a)表示PWM矩阵中的第j列的字符a对应的数值,qa表示字符a在输入序列中出现的频率,A表示PWM矩阵中所有种类字符的集合。所述步骤S4具体包括:设m表示PWM矩阵的列数,n表示预计算窗口的大小,若m小于等于n,则直接将PWM矩阵的预计算窗口位置置1;若m大于n,则计算PWM矩阵中从第k列位置开始的n列期望值的和:其中,Lj表示PWM矩阵的第j列匹配失败的期望值,在求得的m-n+1个期望和中,选出最大的期望和所对应的起始列的位置作为PWM矩阵的预计算窗口位置。所述步骤S5具体包括:S51、PWM矩阵的列数大于预计算窗口的大小时,设PWM矩阵的预计算窗口位置为第r列,计算PWM矩阵中除去从第r列开始的n列后剩余每列的最大值的和T,其中,n表示预计算窗口的大小;S52、将PWM矩阵中的所有种类字符排列组合成长度为n的序列得到xn个不同的总排列,其中,x表示字符的种类数;S53、计算每个总排列在每个PWM矩阵中的分值S:其中,al表示某个总排列中的第l个字符,M(l+r-1,al)表示PWM矩阵中l+r-1列上字符al的值;S54、如果S+T≥K,则记录总排列的分值S、对应的PWM矩阵的标记和True的布尔值,否则记录分值0、对应的PWM矩阵的标记和False的布尔值;S55、PWM矩阵的列数小于给定的预计算窗口大小时,将n值取为PWM矩阵的列数值,再按照步骤S51~S54计算PWM矩阵的预计算窗口的总排列分值。所述步骤S6具体包括:在PWM矩阵的期望向量中,除去以预计算窗口位置为起点的宽度为预计算窗口大小的部分,将剩余列的期望值和其所在的PWM矩阵的列位置一一配对,将这些列位置按照其对应的期望值大小降序排列后作为该PWM矩阵的匹配顺序向量。所述步骤S7具体包括:按照从后向前的顺序依次累加匹配顺序向量中每个列位置对应PWM矩阵该列中的最大值,匹配顺序向量所有列位置得到的最大值的累加和组成该PWM矩阵的最大分值向量。所述步骤S8具体包括:通过长度等于预计算窗口的大小的滑动窗口按照1位的滑动步长扫描输入序列,将每个滑动窗口子序列依次匹配各个PWM矩阵的所有总排列,对其中布尔值为True的PWM矩阵根据其阈值K、预计算窗口总排列分值、匹配顺序向量和最大分值向量进一步匹配该PWM矩阵的其余部分,记录匹配成功的序列信息和PWM矩阵的信息,得到匹配成功的结果向量。所述对其中总排列布尔值为True的PWM矩阵根据其阈值K、预计算窗口总排列分值、匹配顺序向量和最大分值向量进一步匹配PWM矩阵的其余部分具体包括:设输入序列中匹配PWM矩阵总排列的布尔值为True的部分的起始位置为第rr列,取出该PWM矩阵的预计算窗口位置wp、匹配顺序向量Vmatch和最大分值向量Smatch,计算从匹配顺序向量第一位开始每位的分值与阈值K的差Ri:其中,S表示该总排列在该PWM矩阵的分值,Vmatch(g)表示匹配顺序向量在位置g的值,Smatch(i)表示最大分值向量在位置i的值,其中,1≤i≤p,p表示最大分值向量的长度,Seq(rr+Vmatch(g)-wp)表示输入序列中位置为rr+Vmatch(g)-wp的字符,M(Vmatch(g),Seq(rr+Vmatch(g)-wp))表示PWM矩阵中第Vmatch(g)列字符Seq(rr+Vmatch(g)-wp)的值,如果匹配某一位时Ri为负数,则停止该PWM矩阵下一位的匹配,匹配另一个总排列布尔值为True的PWM矩阵;否则继续匹配该PWM矩阵的匹配顺序向量的下一个位置本文档来自技高网
...
一种用于在基因序列中快速搜索给定模式的方法

【技术保护点】
一种用于在基因序列中快速搜索给定模式的方法,其特征在于,包括以下步骤:S1、统计输入序列的背景分布;S2、将各个给定模式的位置频率矩阵转换为PWM矩阵,根据设定的P值计算PWM矩阵的阈值K;S3、根据步骤S1得到的背景分布计算每个PWM矩阵的期望向量;S4、根据设定的用于预先匹配的预计算窗口的大小和步骤S3得到的期望向量,计算每个PWM矩阵的预计算窗口位置;S5、根据步骤S4得到的预计算窗口位置和预计算窗口的大小,计算每个PWM矩阵的预计算窗口的总排列分值;S6、根据步骤S4得到的预计算窗口位置和步骤S3得到的期望向量,计算每个PWM矩阵的匹配顺序向量;S7、根据步骤S6得到的匹配顺序向量计算每个PWM矩阵的最大分值向量;S8、通过滑动窗口扫描输入序列,根据阈值K、预计算窗口总排列分值、匹配顺序向量和最大分值向量,匹配输入序列与各个PWM矩阵,得到匹配成功的结果向量。

【技术特征摘要】
1.一种用于在基因序列中快速搜索给定模式的方法,其特征在于,包括以下步骤:S1、统计输入序列的背景分布;S2、将各个给定模式的位置频率矩阵转换为PWM矩阵,根据设定的P值计算PWM矩阵的阈值K;S3、根据步骤S1得到的背景分布计算每个PWM矩阵的期望向量;S4、根据设定的用于预先匹配的预计算窗口的大小和步骤S3得到的期望向量,计算每个PWM矩阵的预计算窗口位置;S5、根据步骤S4得到的预计算窗口位置和预计算窗口的大小,计算每个PWM矩阵的预计算窗口的总排列分值;S6、根据步骤S4得到的预计算窗口位置和步骤S3得到的期望向量,计算每个PWM矩阵的匹配顺序向量;S7、根据步骤S6得到的匹配顺序向量计算每个PWM矩阵的最大分值向量;S8、通过滑动窗口扫描输入序列,根据阈值K、预计算窗口总排列分值、匹配顺序向量和最大分值向量,匹配输入序列与各个PWM矩阵,得到匹配成功的结果向量。2.根据权利要求1所述的一种用于在基因序列中快速搜索给定模式的方法,其特征在于,所述背景分布包括输入序列中各字符所占的比率,所述PWM矩阵的行数等于字符的种类数,列数等于给定模式的位置频率矩阵的列数。3.根据权利要求1所述的一种用于在基因序列中快速搜索给定模式的方法,其特征在于,所述步骤S2中根据设定的P值计算PWM矩阵的阈值K具体包括:根据P值确定PWM矩阵可匹配的序列数量y,对PWM矩阵的所有种类字符生成的长度为该PWM矩阵长度的所有排列组合序列,计算每个序列在该PWM矩阵中的分值并按降序排序,将第y个序列的分值作为阈值K。4.根据权利要求1所述的一种用于在基因序列中快速搜索给定模式的方法,其特征在于,所述步骤S3中每个PWM矩阵的期望向量包括PWM矩阵每一列的期望值Lj:其中,Lj表示PWM矩阵的第j列匹配失败的期望值,a表示某种类字符,M(j,a)表示PWM矩阵中的第j列的字符a对应的数值,qa表示字符a在输入序列中出现的频率,A表示PWM矩阵中所有种类字符的集合。5.根据权利要求4所述的一种用于在基因序列中快速搜索给定模式的方法,其特征在于,所述步骤S4具体包括:设m表示PWM矩阵的列数,n表示预计算窗口的大小,若m小于等于n,则直接将PWM矩阵的预计算窗口位置置1;若m大于n,则计算PWM矩阵中从第k列位置开始的n列期望值的和:其中,Lj表示PWM矩阵的第j列匹配失败的期望值,在求得的m-n+1个期望和中,选出最大的期望和所对应的起始列的位置作为PWM矩阵的预计算窗口位置。6.根据权利要求5所述的一种用于在基因序列中快速搜索给定模式的方法,其特征在于,所述步骤S5具体包括:S51、PWM矩阵的列数大于预计算窗口的大小时,设PWM矩阵的预计算窗口位置为第r列,计算PWM矩阵中除去从第r列开始的n列后剩余每列的最大值的和T,其中,n表示预计算窗口的大小;S52、将PWM矩阵中的所有种类字符排列组合成长度为n的序列得到xn个不同的总排列,其中,x表示字符的种类数;S...

【专利技术属性】
技术研发人员:黄德双高良心朱麟
申请(专利权)人:同济大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1