使用随机读取查找基因组覆盖率

时间:2011-12-08 00:58:53

标签: algorithm bioinformatics genome

感谢您查看我的问题。我正在努力解决这个家庭作业问题。

  

考虑通过随机读取对基因组进行测序的问题。如果G是   整个序列的长度,L是读取的长度,n是   读数的数量,则覆盖范围定义为nL / G.现在,如果我们想要的话   50%的原始长序列至少被一个覆盖   片段,我们需要多少覆盖?

我阅读了Lander-Waterman http://www.genetics.wustl.edu/bio5488/lecture_notes_2005/Lander.htm模型来理解这个概念。但是没有得到如何解决这个问题。我认为将给定的50%视为概率,将y视为1(来自泊松分布的那个)并计算λ(即覆盖范围)。但我认为我没有走上正轨。我认为将y视为1是因为问题说原始长序列的50%被至少一个片段覆盖,这意味着这些碱基至少测序一次。

我可能错了。

专家可以指导我。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果你把它视为一个连续的问题(因为,n很大而L远小于G),并假设每次读取的位置是完全随机的,那么每次额外读取浪费的可能性与现有的覆盖范围。这导致以下数学:

d(coverage)/d(n) = (L/G) * (1 - coverage)

由于这是家庭作业,我将把解决方案作为练习留给读者。 (我想指出,这是一个罕见的实际使用微积分来解决CS问题的情况8 ^)


求解上述等式,从n = 0处的coverage = 0开始,得到:

   ln(1 - coverage) = - (L/G) * n
-> coverage = 1 - exp(- (L/G) * n)

作为现实检查,请注意这是您应该看到的:如果您的采样是真正随机的,G的未覆盖部分应该以指数方式衰减,就像放射性元素一样。

答案 1 :(得分:1)

我认为你到目前为止还没有离开。当我读到它时,y = 1意味着碱基被“读取一次”而不是“至少一次”。您需要计算P(y = 1)+ P(y = 2)+ ...的概率为0.5的覆盖率,等于......