生物信息学中的字符串挖掘
1. 唯一子串计算
对于较小的情况,可直接通过查找表报告对应空条目的子串。对于较大的 d 值,可利用后缀树扩展计算唯一子串的算法:
- 设 v 为后缀树中的节点,uv 是从根节点到 v 节点路径上的边标签连接得到的子串。
- 若 |uv| < d,则通过计算所有可能的字符串 w ∈ Σ|w| 并将其附加到 uv 上,生成所有满足 |uvw| = d 且 uvw ∉ S 的子串 uvw。
2. 近似重复计算
计算近似重复可使用局部比对算法,将序列与其自身进行比对。Smith 和 Waterman 算法可直接用于查找近似重复,但该算法时间复杂度为 O(n²),对于长序列不可行。为克服这一问题,引入了启发式算法以更快地计算近似重复。
3. 重复约束
3.1 出现次数约束
在生物信息学的许多应用中,对报告的重复或重复对的数量设置约束是有益的。以下聚焦于设置报告重复数量的上限约束,并引入稀有和不频繁最大重复对的定义:
- 定义 3 :设 (l, p1, p2) 表示一个重复对 ((p1, p1 + l - 1)(p2, p2 + l - 1)),给定阈值 t ∈ N。若字符串 w = S[p1::p1 + l - 1] = S[p2::p2 + l - 1] 在 S 中最多出现 Rw ≤ T 次,则最大重复对 (l, p1, p2) 在 S 中称为稀有。
- 定义 4 :设 (l, p1₁, p1₂); … ; (l, pr₁, pr₂) 是最大重复对,且 w = S[p1
超级会员免费看
订阅专栏 解锁全文
1126

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



