找到特定碱基对序列的可能性


10

考虑概率总是让我意识到自己在数数上有多糟糕...

考虑基本字母的序列,每个都可能出现。该序列包含特定感兴趣的碱基对长度的特定序列的概率是多少?一个n- [R ÑA,T,C, and Grn

有不同的(相等可能性)序列可能。在整个序列的开始处从感兴趣的序列开始;序列是可能的。我们可以在不同的位置开始感兴趣的序列。因此,我的答案是。4 ñ - - [R Ñ + 1 - - [R Ñ + 1 - - [R / 4 - [R4n4nrn+1r(n+1r)/4r

这个概率在增加,这对我来说很有意义。但是当时,该概率超过。但是那不可能。概率应在极限(接近我)范围内接近1,但不能超过该极限。n > 4 r + r 1nn>4r+r1

我认为我在重复计算。我想念什么?谢谢。

(仅供参考,而不是功课,只是准备考试的一个玩具示例。我的分子生物学家朋友提出了一个问题。)


这是正确的,不应超过一个,因为这将违反概率公理:books.google.com/…–
克里斯·西莫卡

1
模糊
主教

Answers:


5

让我们考虑一下这个问题的小版本,其中。五个字母组成的序列包含目标的机会是多少?这很容易:所有序列的都以该字符串开头,另一个以此字符串结尾,并且没有序列都以该字符串开头和结尾。因此,机会是。A C G T 4 4 4 4 2 × 4 4n=5ACGT44442×44

另一方面,的机会是多少?再一次,个序列以该字符串开头,相同比例以该字符串结尾,并且所有序列的都执行此操作。因此,根据包含-排除原理,答案为。4 4 4 5 2 × 4 44 5AAAA44452×4445

通常,答案取决于子字符串的结构。更具体地说,当您扫描字符串(从左到右)以获取,将忽略所有字符,直到看到该初始为止。在那之后,有三种可能:下一个字符是一个比赛,下一个是不匹配的,但不是(让你回到所述等待-AN-状态),或下一个是不匹配项,但它是,将您置于“刚锯状态。相反,请考虑搜索。假设您已经看到前缀Ç Ç Ç Ť Ç ģ Ç Ť Ç ģ Ç ç Ť ... Ç Ť ACGTACCAAAAACTACGACTAC。如果是下一个字符将匹配。当不匹配时,(i)使您进入最初的等待状态,(ii)让您注意,并且(iii)表示您已经看过,您已经到比赛的一半(并寻找第二个)。 相关的“结构”显然由目标中与目标前缀匹配的子字符串模式组成。 这就是为什么机会取决于目标字符串的原因。GCAACTACTA

我在“ 时间”答复中主张使用的FSA图被击中了一系列抛硬币中的头部和尾部图案,可以帮助您理解这种现象。


3

粗略近似为。您有可能您的序列不在特定位置发生,将其赋予位置数量的幂(错误地假设独立性),即而不是,这是未发生的近似值因此您需要从减去它。 ñ - - [R + 1 ñ - - [R 11(11/4r)nr+1nr+1nr1

精确的计算将取决于您要寻找的精确模式。 比更有可能不会发生。A T C G TAAAAAATCGT


也许这只是我,但在理解公式是如何构造方面似乎有点清晰。1(1(1/4)r)n(r1)

@JoeRocc-我怀疑这是个人原因。如果您从一本书的第页阅读到第400页,您是否阅读过400 300 + 1 = 101页或400 300 1 = 101页?300400400300+1=101400(3001)=101
亨利

不用担心,我只是凭直觉来解决问题。如果我们直观地得出一个公式是,试图解释给别人,然后,当我认为这是最好把它作为,而不是把它简化为一个- b + c 1 + d(尽管考虑起来肯定会更直观)。您的直觉在任何情况下都可能有所不同:)(a(b(c1+d)))ab+c1+d

2

您正在重复计算包含您的目标子序列数倍的序列,例如在位置A和位置B!= A处。这就是为什么您的错误概率可能超过1


做得太好了 !+1
Michael R. Chernick

1

通过使用问题的马尔可夫链表示,可以获得特定子序列的确切概率。如何构建链的细节取决于感兴趣的特定子序列,但是我将给出一些有关如何执行此操作的示例。


通过马尔可夫链的确切概率:考虑A,T,C,G的离散结果序列其中序列中的结果是可交换的,并且假设我们对长度为k子串感兴趣。对于n任何给定值,令W为感兴趣的子字符串出现的事件,令Ha为最后a结果为感兴趣的子字符串中的前a<k字符的事件(但不超过此数量) 。我们使用这些事件来给出以下k + 1的分区k+1 可能的关注状态:

State 0W¯H0,   State 1W¯H1,   State 2W¯H2,   State 3W¯H3,   State k1W¯Hk1,State kW.  

由于结果的序列被假定为可交换我们有独立的结果的条件在其各自的概率θA+θT+θC+θG=1。您感兴趣的过程可以被表示为离散时间马尔可夫链中开头State 0n=0根据依赖于感兴趣的特定子串的概率矩阵和过渡。转换矩阵将始终为(k+1)×(k+1)代表使用上述状态的转换概率的矩阵。如果尚未达到所需的子字符串,则每次转换都可以使您更接近该子字符串,或者可以将您设置回依赖于特定子字符串的先前状态。一旦到达子字符串,这就是链条的吸收状态,表示感兴趣的事件已经发生。

例如,如果感兴趣的子字符串是AAAAAA则转换矩阵为:

P=[1θAθA000001θA0θA00001θA00θA0001θA000θA001θA0000θA01θA00000θA0000001.]

相反,如果感兴趣的子字符串为ACTAGC则转换矩阵为:

P=[1θAθA00001θAθCθAθC00001θAθTθA0θT0001θA000θA001θAθCθGθAθC00θG01θAθCθA0000θC0000001.]

从上面可以看出,构造转换矩阵需要注意特定的子字符串。错误的结果会使您回到字符串中的先前状态,该状态取决于感兴趣的特定子字符串。一旦构造了转移矩阵,对于给定的n值,在链中具有子串的概率为P(W|n)={Pn}0,k。(对于所有n<k该概率为零。)


在R中进行编程:您可以R通过创建一个函数来将该函数编程为函数,该函数将生成马尔可夫链的转换矩阵及其功率的数组,直到某些所需的试验次数。然后,您可以读取感兴趣的ñ值的适当转移概率。这是一些执行此操作的代码示例:

#Create function to give n-step transition matrix for n = 1...N
#We will use the example of the substring of interest "AAAAAA"

#a is the probability of A
#t is the probability of T
#c is the probability of C
#g is the probability of G
#N is the last value of n
PROB <- function(N,a,t,c,g) { TOT <- a+t+c+g;
                              a <- a/TOT; 
                              t <- t/TOT; 
                              c <- c/TOT; 
                              g <- g/TOT; 

                              P <- matrix(c(1-a, a, 0, 0, 0, 0, 0,
                                            1-a, 0, a, 0, 0, 0, 0,
                                            1-a, 0, 0, a, 0, 0, 0,
                                            1-a, 0, 0, 0, a, 0, 0,
                                            1-a, 0, 0, 0, 0, a, 0,
                                            1-a, 0, 0, 0, 0, 0, a,
                                              0, 0, 0, 0, 0, 0, 1),
                                          nrow = 7, ncol = 7, 
                                          byrow = TRUE);
                              PPP <- array(0, dim = c(7,7,N));
                              PPP[,,1] <- P;
                              for (n in 2:N) { PPP[,,n] <- PPP[,,n-1] %*% P; } 
                              PPP }

#Calculate probability for N = 100 for equiprobable outcomes
N <- 100;
a <- 1/4;
t <- 1/4;
c <- 1/4;
g <- 1/4;
PROB(N,a,t,c,g)[1,7,N];

[1] 0.01732435

一个一个一个一个一个一个ñ=1000.01732435

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.