生物信息学中的字符串挖掘
在生物信息学里,字符串挖掘有着重要的地位,尤其是在处理重复序列相关问题时。下面将详细介绍几种不同类型的重复序列以及独特子序列、缺失词的识别方法。
重复相关问题分类
在生物信息学中,重复相关问题可以分为以下几类:
| 重复类型 | 细分类型 |
| ---- | ---- |
| 串联重复 | 可变长度、固定长度 |
| 分散重复 | 近似、精确 |
| 独特子序列 | - |
| 重复相关问题 | 近似、精确 |
如果重复片段彼此相邻,就称为串联重复。形式上,对于字符串 $S$,若其子串能写成 $!!$(其中 $!$ 为非空字符串),则该子串就是串联重复。例如,字符串 $S = gagctagagcg$ 中的子串 $agag$ 就是串联重复,这里 $! = ag$。
识别分散重复
识别精确固定长度重复
此部分主要关注固定长度 $k$ 的重复或重复对的识别,即找出所有满足 $j_1 - i_1 + 1 = k$ 的重复 $! = S[i_1::j_1]$。
- 暴力方法 :列举所有重复的暴力方法是,取 $S$ 中长度为 $k$ 的每个子串,然后从左到右扫描 $S$,查看该子串是否在其他位置出现。由于有 $O(n)$ 个子串,每次扫描需要 $O(nk)$ 时间(包括字符比较),所以暴力方法的时间复杂度为 $O(kn^2)$。使用更高级的精确模式匹配算法,扫描阶段的运行时间可减少到 $O(k + n)$,但整体运行时间仍为 $O(n^2 + kn)$,仍是二次方时间复
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



