【技术实现步骤摘要】
一种基于最长路径搜索的三代序列比对方法
[0001]本专利技术涉及一种
DNA
长序列处理方法,主要是基于最长路径搜索的三代序列比对方法
。
技术介绍
[0002]三代序指通过第三代
DNA
测序技术产生的序列,与二代测序序列相比,三代序列的序列长度长
、
错误率高
、
覆盖度低
。
三代序列比对是将三代测序数据与参考基因组进行比对,确定序列与参考基因组的相似性及位置
。
序列比对是序列分析的重要研究内容,也是后续生物信息挖掘的基础
。
现有的大多数序列比对方法都是针对第二代测序技术产生的数据
(
序列短,错误率低
)
,并不适用于处理三代序列数据,因此需要开发新的三代序列比对方法
。
目前,针对三代序列的比对方法主要包括基于哈希搜索种子的比对方法
、
基于文本压缩与索引的种子搜索比对方法及基于已有比对工具的种子搜索比对方法
。
各类方法各具优势但也存在一些局限性,普遍存在的问题是这些方法比对的灵敏度较低,且对测序误差较敏感
。
技术实现思路
[0003]为了克服现有方法的不足,本专利技术提供一种基于最长路径搜索的三代序列比对方法基于最长路径搜索的三代序列比对
。
[0004]本专利技术目的在于针对三代序列长度长
、
错误率高,现有比对方法序列比对灵敏度较低 >、
对测序误差鲁棒性差等问题,提出一种基于最长路径搜索的三代序列比对方法,该方法有较高的比对灵敏度和比对覆盖率,且对测序误差鲁棒性强,为第三代单分子测序数据分析提供有效技术保障
。
[0005]为实现上述目的,本专利技术技术方案的基本思想是:首先利用快速哈希表构建参考基因组序列的
k
‑
mer
位置索引信息,然后提取待比对序列的每个
k
‑
mer
,通过哈希函数转换,可方便快速查找待比对序列的
k
‑
mer
在基因组中的所有位置;将每个匹配的
k
‑
mer
看作网络节点,构建
k
‑
mer l
‑
邻域有向无环图;根据匹配的
k
‑
mer
在待比对序列中的位置信息,可以确定两个
k
‑
mer
是否有边相连及连边方向;建立完有向无环图后,先过滤掉孤立节点和规模较小的孤立网络,然后设计一种特定的动态打分策略,确定每个节点的前驱节点,从前驱节点中选取最大得分,并记录得分路径
。
得到每个节点的得分值后,选取得分值最大的节点,然后通过路径回溯即可得到最长路径
。
最长路径包含的所有节点可将待比对序列和参考基因组分成种子区域和非种子区域
。
对于非种子区域,采用传统的双序列比对方法进行比对,得到详细的碱基比对结果,最后与种子区域合并,得到整条序列的最终比对结果
。
[0006]本专利技术基于最长路径搜索的三代序列比对方法包括如下步骤:
[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][0014]每个
k
‑
mer
的哈希编码可看作是
Γ
位四进制数的一个转换,通过公式
(1)
计算基因组序列每个
k
‑
mer
哈希值即为该
k
‑
mer
在位置文库中的索引位置,然后将此
k
‑
mer
在基因组中的位置存储到该索引下的数组中;
[0015]4)
重复步骤
3)
计算基因组所有
k
‑
mer
的哈希值并存储其在基因组中的位置,当存储完所有
k
‑
mer
位置信息后,即为构建的基因组
k
‑
mer
位置文库;
[0016]步骤2:匹配
k
‑
mer
表示及修正
[0017]首先提取待比对序列的所有
k
‑
mer
;然后根据上一步构建的基因组
k
‑
mer
位置文库找到待比对序列每个
k
‑
mer
在基因组中出现的位置;然后对每个匹配的位置信息进行修正,这样可以使反向匹配节点的分布变化趋势与正向匹配节点的变化趋势一致;具体实现步骤如下:
[0018]1)
对于待比对序列
r
,提取
r
的所有
k
‑
mer
,然后通过公式
(1)
计算哈希值,即可找到该
k
‑
...
【技术保护点】
【技术特征摘要】
1.
一种基于最长路径搜索的三代序列比对方法,其特征在于,包括下述步骤:步骤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
在基因组中出现的位置;然后对每个匹配的位置信息进行修正,这样可以使反向匹配节点的分布变化趋势与正向匹配节点的变化趋势一致;具体实现步骤如下:
1)
对于待比对序列
r
,提取
r
的所有
k
‑
mer
,然后通过公式
(1)
计算哈希值,即可找到该
k
‑
mer
在基因组中的位置信息,序列
r
每个
k
‑
mer
及其在基因组中的位置可用一个四元组表示:
match
i
(pr,pg,dr,dg)(3)
式中
match
i
(pr)
表示第
i
个匹配在序列
r
中的位置,
match
i
(pg)
表示第
i
个匹配在参考基因组中的位置,
match
i
(dr)
和
match
i
(dg)
分别表示第
i
个匹配在序列
r
中和在参考基因组中的方向
(1
表示正向,0表示反向
)
;
2)
通过公式
(3)
找出序列
r
每个
k
‑
mer
的四元组信息后,用以下公式对反向匹配的
k
‑
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。