一种基于k-mer定位的三代序列比对算法制造技术

技术编号:37617838 阅读:12 留言:0更新日期:2023-05-18 12:09
本发明专利技术提供了一种基于k

【技术实现步骤摘要】
一种基于k

mer定位的三代序列比对算法


[0001]本专利技术涉及一种DNA基因序列处理方法,主要是一种基于k

mer定位的三代序列比对算法。

技术介绍

[0002]序列比对是序列分析的重要研究内容,也是后续生物信息挖掘的基础。第三代单分子测序(single molecule sequencing,SMS)技术产生的序列长,但错误率较高(~15%)。现有的大多数序列比对算法都是针对第二代测序技术产生的数据(序列短,错误率低),并不适用于处理三代序列数据,因此需要开发新的三代序列比对算法。目前,针对三代序列的比对方法主要包括基于哈希搜索种子的比对方法、基于BWT

FM索引的种子搜索比对方法及基于已有比对工具的种子搜索比对方法。各类方法各具优势但也存在一些局限性,普遍存在的问题是这些方法得到的比对结果都是局部序列比对,导致每个方法的比对灵敏度和比对覆盖率较低,且对测序误差较敏感。

技术实现思路

[0003]为了克服现有方法的不足,本专利技术提供基于k

mer定位和列降维带状打分的三代序列比对方法(简称smsMap比对方法)。
[0004]本专利技术目的在于针对三代序列长度长、错误率高,现有比对方法序列比对灵敏度较低、对测序误差鲁棒性差以及比对覆盖率较低等问题,提出一种基于k

mer定位和列降维带状打分(SMS sequence mapping,smsMap)的三代序列比对方法,该方法有较高的比对灵敏度和比对覆盖率,且对测序误差鲁棒性强,为第三代单分子测序数据分析提供有效技术保障。
[0005]为实现上述目的,本专利技术技术方案的基本思想是:针对基因组序列,首先提取基因组序列的所有k

mer子片段并对每个k

mer进行哈希转换得到哈希值,根据哈希值存储在基因组中的位置,构建基因组k

mer位置文库;然后,对于待比对序列,提取k

mer并通过基因组k

mer位置文库找到待比对序列每个k

mer在基因组中的位置,对待比对序列每个k

mer进行打分,衡量作为比对起始位置的可信度,根据得分最高的k

mer得到在待比对序列和基因组中的比对起始位置;最后,采用列降维带状打分得到上游序列对和下游序列对的比对结果,合并后完成整条序列的比对结果。
[0006]本专利技术基于k

mer定位和列降维带状打分三代序列比对方法包括如下步骤:
[0007]步骤1:构建基因组k

mer位置文库
[0008]基因组k

mer位置文库指的是存储基因组k

mer子片段位置的哈希表,首先提取基因组序列的所有k

mer子片段,然后采用哈希函数进行k

mer转换,并将k

mer在基因组中的位置存储到哈希表中,具体实现过程为:
[0009]1)根据k

mer大小(Γ)创建长度为4
Γ
的哈希表,即数组,用来存储相应k

mer在基因组中的位置;
[0010]2)提取基因组序列的所有k

mer,k

mer是指基因组序列中包含k个碱基的子片段,对于一条长度为L的基因组DNA序列,在k

mer长度为Γ的情况下,基因组所有k

mer个数为L

Γ+1;
[0011]3)对基因组序列第一个k

mer进行哈希转换,假设该k

mer(长度为Γ)可表示为:w=c1,c2,...,c
Γ
,其在哈希表中的存储地址可通过以下哈希函数计算得到:
[0012][0013]式中4
Γ

γ
是k

mer中第γ个位置上碱基(c
γ
)的权重,I(c
γ
)是索引函数,定义为:
[0014][0015]每个k

mer的哈希编码可看作是Γ位四进制数的一个转换,通过公式(1)计算基因组序列每个k

mer哈希值即为该k

mer在位置文库中的索引位置,然后将此k

mer在基因组中的位置存储到该索引下的数组中;
[0016]4)重复步骤3)计算基因组所有k

mer的哈希值并存储其在基因组中的位置,当存储完所有k

mer位置信息后,即为构建的基因组k

mer位置文库;
[0017]步骤2:定位比对起始位置
[0018]在定位比对起始位置阶段,首先提取待比对序列的所有k

mer;然后根据上一步构建的基因组k

mer位置文库找到待比对序列每个k

mer在基因组中出现的位置;进而计算待比对序列每个k

mer作为比对起始位置的可信度得分值,最后找出得分值最大的k

mer,即可得到在待比对序列和基因组中的位置信息,作为比对的起始位置;具体实现步骤如下:
[0019]1)对于待比对序列r,提取r的所有k

mer,然后通过公式(1)计算哈希值,即可找到该k

mer在基因组中的位置信息,序列r每个k

mer及其在基因组中的位置可用一个三元组表示:
[0020][0021]式中i表示序列r中第i个k

mer,是序列r第i个k

mer在基因组中第l个匹配的位置,L
i
是序列r第i个k

mer在基因组中匹配的总个数,是的修正位置,即序列r第i个k

mer在基因组中的位置减去在序列r中的位置;
[0022]2)通过公式(3)找出序列r每个k

mer的三元组信息后,定义每个修正位置的可信度得分函数用来度量相应k

mer作为比对起始位置的可信度,计算公式为:
[0023][0024][0025]式中Θ是序列r匹配到基因组中的k

mer个数,L
j
是序列r第j个k

mer在基因组中匹配的总个数,函数δ为指示函数,L(r)是序列r的容错长度,定义为:
[0026]L(r)=0.2len(r)
ꢀꢀꢀ
(6)
[0027]式中len(r)是序列r的长度。
[0028]3)根据公式(4)计算序列r中每个(i=1,2,L,Θ,l=1,2,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于k

mer定位的三代序列比对算法,其特征在于,包括下述步骤:步骤1:构建基因组k

mer位置文库基因组k

mer位置文库指的是存储基因组k

mer子片段位置的哈希表,首先提取基因组序列的所有k

mer子片段,然后采用哈希函数进行k

mer转换,并将k

mer在基因组中的位置存储到哈希表中,具体实现过程为:1)根据k

mer大小(Γ)创建长度为4
Γ
的哈希表,即数组,用来存储相应k

mer在基因组中的位置;2)提取基因组序列的所有k

mer,k

mer是指基因组序列中包含k个碱基的子片段,对于一条长度为L的基因组DNA序列,在k

mer长度为Γ的情况下,基因组所有k

mer个数为L

Γ+1;3)对基因组序列第一个k

mer进行哈希转换,假设该k

mer(长度为Γ)可表示为:w=c1,c2,...,c
Γ
,其在哈希表中的存储地址可通过以下哈希函数计算得到:式中4
Γ

γ
是k

mer中第γ个位置上碱基(c
γ
)的权重,I(c
γ
)是索引函数,定义为:每个k

mer的哈希编码可看作是Γ位四进制数的一个转换,通过公式(1)计算基因组序列每个k

mer哈希值即为该k

mer在位置文库中的索引位置,然后将此k

mer在基因组中的位置存储到该索引下的数组中;4)重复步骤3)计算基因组所有k

mer的哈希值并存储其在基因组中的位置,当存储完所有k

mer位置信息后,即为构建的基因组k

mer位置文库;步骤2:定位比对起始位置在定位比对起始位置阶段,首先提取待比对序列的所有k

mer;然后根据上一步构建的基因组k

mer位置文库找到待比对序列每个k

mer在基因组中出现的位置;进而计算待比对序列每个k

mer作为比对起始位置的可信度得分值,最后找出得分值最大的k

mer,即可得到在待比对序列和基因组中的位置信息,作为比对的起始位置;具体实现步骤如下:1)对于待比对序列r,提取r的所有k

mer,然后通过公式(1)计算哈希值,即可找到该k

mer在基因组中的位置信息,序列r每个k

mer及其在基因组中的位置可用一个三元组表示:式中i表示序列r中第i个k

mer,是序列r第i个k

mer在基因组中第l个匹配的位置,L
i
是序列r第i个k

mer在基因组中匹配的总个数,是的修正位置,即序列r第i个k

mer在基因组中的位置减去在序列r中的位置;2)通过公式(3)找出序列r每个k

mer的三元组信息后,定义每个修正位置的可信度得分函数用来度量相应k

mer作为比对起始位置的可信度,计算公式为:
式中Θ是序列r匹配到基因组中的k

mer个数,L
j
是序列r第j个k

mer在基因组中匹配的总个数,函数δ为指示函数,L(r...

【专利技术属性】
技术研发人员:卫泽刚
申请(专利权)人:宝鸡文理学院
类型:发明
国别省市:

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

1