基因重复水平的富集分析

机器算法验证 广义线性模型 列联表 渔民精确测试 遗传学 生物信息学
2022-03-29 04:40:34

生物学背景

随着时间的推移,一些植物物种倾向于复制它们的整个基因组,从而获得每个基因的额外拷贝。由于这种设置的不稳定性,这些基因中的许多随后被删除,基因组重新排列并稳定下来,准备再次复制。这些复制事件与物种形成和入侵事件有关,理论认为复制有助于植物更快地适应新环境。

羽扇豆属开花植物,以有史以来最快的物种形成事件之一入侵安第斯山脉,更重要的是,它的基因组中的重复拷贝似乎比最密切相关的属 Baptisia 还要多。

现在是数学问题:

羽扇豆属成员和巴蒂西亚属成员的基因组已被测序,提供了每个物种约 25,000 个基因的原始数据。通过查询已知功能的基因数据库,我现在对基因可能执行的功能有了“最佳猜测”——例如,Gene1298 可能与“果糖代谢、盐胁迫反应、冷胁迫反应”有关。我想知道,如果 Baptisia 和 Lupinus 之间发生了重复事件,基因丢失是否随机发生,或者执行特定功能的基因是否更有可能被保留或删除。

我有一个脚本,它将输出如下所示的表格。L * 是与功能相关的所有羽扇豆基因的计数。L 1+ 是与存在至少一个重复拷贝的功能相关的羽扇豆基因的计数。我可以让它产生 L 2+、L 3+ 等,尽管由于排序过程,L 1+ 比 L 2+ 可靠得多。

Function            | L *  | L 1+ | B *  | B 1+ |
fructose metabolism | 1000 | 994  | 1290 | 876  |
salt stress         | 56   | 45   | 90   | 54   |
etc.

我想做的是测试,对于每个基因功能,在羽扇豆和巴蒂西亚中,是否有更多或更少的重复基因比纯粹偶然预期的要多,以及羽扇豆在观察到的比例上是否与巴蒂丝不同。

迄今为止我拥有的最好的东西

以前对不同物种的研究使用富集分析、Fisher 精确检验和多次抽样的 FDR 校正,对每一行进行应急测试。

对此进行改进会很好;我不确定这听起来是不是最好的方法。

Glen_b 建议使用 GLM 来分析数据;我在 JMP8 中玩过 GLM,这很有趣,但我承认我并没有真正理解它们。

也就是说,我现在正在尝试使用 R。

我用这个做什么?

这原本应该是我在大学里做的一个短期研究项目的一部分,但现在已经发展成为一个巨大的基因组注释项目。为什么?因为生物信息学很酷。能够获取一串 A、T、C 和 G 并用它来推断数百万年前发生的事件的信息是惊人的。

不用说,我不会尝试提交任何友好提供的答案作为我自己的工作。如果我在提交的作品中使用此处建议的方法,我很乐意在论文中包含一个致谢。

2个回答

虽然我同意 Fisher 的测试(或类似的东西)可能是这里最自然的方法,但是这个怎么样:

  1. 对于每个独特的基因,您可以确定 L 和 B 中重复数的差异
  2. 通过这种差异对基因进行排序。现在,显示物种之间差异最大的基因将位于您列表的顶部。
  3. 将基因集富集测试应用于基因的有序列表。例如,您可以使用我的包tmod中的修改后的 Fisher 方法,您必须为此定义您的基因集(它应该非常简单)。请注意,Fisher 方法与 Fisher 检验无关。

修改后的 Fisher 检验(由在本文中首次描述它的作者称为 CERNO )将任何有序的基因列表作为输入,只要您可以将它们分组到一些有用的类别中。

这种方法的优点是,除了 p 值之外,您还可以轻松计算富集的影响大小并将其可视化(例如,作为有序基因列表上的 ROC 曲线)。这让你更好地了解你观察到的东西对你研究的生物学有多大的影响。

正如你所说,你在问两个不同的问题。

问题 1“对于给定的基因功能,L*/L1+ 与 B*/B1+ 的比率是不同的”

正如您之前发现的那样,使用Fisher 使用跨行数据的精确检验可能会最好地回答这个问题。

问题2“是比率:存在单个拷贝的基因/存在多个拷贝的基因,基因功能之间的差异?”

我认为这也可能最好用费舍尔的精确检验来回答。您将测试基因功能 1 的 L*/L1+ 与基因功能 2 的 L*/L1+ 的比率。然后是基因功能 1 与基因功能 3,等等。

这组问题中的任何一个都无法解决它们是否被维护/删除的速度比预期的快,只是偶然地,它们是否以彼此不同的速率被删除/维护。要知道它们是否以不同于偶然的速率被删除/维护,您需要知道许多仅受偶然影响的 DNA 区域的单拷贝/多拷贝的比率。如果你能找到这样的区域,你最终会得到一个“功能组”,其中功能是“无”。然后,您将按照我在问题 2 中描述的相同方式将其与您的其他基因功能组进行比较。