Dimungkinkan untuk memperoleh probabilitas pasti dari urutan tertentu dengan menggunakan representasi rantai Markov dari masalah. Rincian cara membangun rantai bergantung pada urutan minat tertentu, tetapi saya akan memberikan beberapa contoh cara melakukan hal ini.
Probabilitas yang tepat melalui rantai Markov: Pertimbangkan urutan hasil yang terpisah dari A,T,C,G mana hasil dalam urutan tersebut dapat dipertukarkan, dan anggaplah kami tertarik pada beberapa substring panjang k . Untuk setiap nilai yang diberikan dari n , biarkan W menjadi hal substring kepentingan terjadi, dan membiarkan Ha menjadi hal terakhir a hasil adalah yang pertama a<k karakter dalam substring bunga (tetapi tidak lebih dari ini) . Kami menggunakan acara ini untuk memberikan partisi k+1 kemungkinan status minat:
State 0State 1State 2State 3⋮State k−1State kW¯∩H0, W¯∩H1, W¯∩H2, W¯∩H3, ⋮W¯∩Hk−1,W.
Karena urutan hasil diasumsikan dapat ditukar, kami memiliki hasil independen yang tergantung pada probabilitas masing-masing θA+θT+θC+θG=1 . Proses minat Anda dapat direpresentasikan sebagai rantai Markov waktu diskrit yang dimulai pada State 0 pada n=0 dan transisi sesuai dengan matriks probabilitas yang tergantung pada substring tertentu yang diminati. Matriks transisi akan selalu menjadi ( k + 1 ) × ( k + 1 )matriks yang mewakili probabilitas transisi menggunakan status di atas. Jika substring yang menarik belum tercapai, maka setiap transisi dapat membawa Anda selangkah lebih dekat ke substring atau dapat membuat Anda kembali ke keadaan sebelumnya yang bergantung pada substring tertentu. Setelah substring tercapai, ini adalah kondisi penyerap rantai, mewakili fakta bahwa peristiwa menarik telah terjadi.
Misalnya, jika substring minat adalah A A A A A A maka matriks transisi adalah:
P = ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1 - θSEBUAH1 - θSEBUAH1 - θSEBUAH1 - θSEBUAH1 - θSEBUAH1 - θSEBUAH0θSEBUAH0000000θSEBUAH0000000θSEBUAH0000000θSEBUAH0000000θSEBUAH0000000θSEBUAH1.⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
A CTA G C
P = ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1 - θSEBUAH1 - θSEBUAH- θC1 - θSEBUAH- θT1 - θSEBUAH1 - θSEBUAH- θC- θG1 - θSEBUAH- θC0θSEBUAHθSEBUAHθSEBUAH0θSEBUAHθSEBUAH00θC00θC0000θT0000000θSEBUAH0000000θG000000θC1.⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
nP ( W| n)={ Pn}0 , kn < k
R
n
#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
A A A A A An = 1000,01732435