【技术实现步骤摘要】
一种基于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)的三代序列比对方法,该方法有较高的比对灵 ...
【技术保护点】
【技术特征摘要】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。