生物信息学?

这是USDC线上公开课程的同步笔记。

第一讲 基因中的隐藏信息

1.1 复制起始位置?

如何找出 DNA 中隐藏的信息?联想到我们概率论中学到的用概率破解密码的方法,我们可以考虑从找到重复次数最多的子串入手。

先考虑这样一个问题:

给定一个字符串 S,找出其中出现次数最多的且长度为 k 的子串

显然有 \(\mathcal O(|S|^2 k)\)暴力做法,也不难想到可以通过哈希乃至后缀自动机等优化方法。(我忘了后缀自动机怎么搞的了所以这里是口胡的)

DNA 聚合酶在启动时需要一种叫做 dnaA 的蛋白质,dnaA与复制起源的一个短区域(约9 bp,称为 dnaA box)。为了效率 dnaA box 应该比较多,所以统计是有意义的。

1.2

当我们找出所有 k-mers 的结果时,如何确定谁是可能的 dnaA box? 事实上,我们很有可能发现有些 k-mers 是互补的,而它们就是可能的 dnaA box。

课程中提到了可以用 Ori-Finder 这个软件来直接帮助确定。

现在新问题来了:我们实际上是在约 500bp 的起始复制区域里找的 k-mers,如果起始复制区域未知,我们又要如何在长度可能上百万的基因序列中确定哪段是起始区呢?

那我们只好滑动窗口,寻找 DNA 序列中哪一段有频繁出现很多次单词的区间。

我们给出一个形式化的定义:

一个 k-mer 组成一个 (l, t)-簇(clump),若存在一个长度为 l 的子串,这个 k-mer 在其中至少出现过 t 次

于是我们可以提出另一个问题:

给出序列和 k,l,t,请找出所有 组成 (l,t) 簇的 k-mers

得出的结果非常多。怎么办?我们来求助于生物知识。

1.3

posted @ 2024-11-21 13:57  FourteenObsidians  阅读(0)  评论(0编辑  收藏  举报