Il est possible d'obtenir la probabilité exacte d'une sous-séquence particulière en utilisant une représentation en chaîne de Markov du problème. Les détails de la façon de construire la chaîne dépendent de la sous-séquence particulière d'intérêt, mais je vais donner quelques exemples de la façon de procéder.
Probabilité exacte via la chaîne de Markov: considérons une séquence discrète de résultats de A , T, C, G où les résultats de la séquence sont échangeables, et supposons que nous soyons intéressés par une sous-chaîne de longueur k . Pour toute valeur donnée de n , disons W être le cas où la sous - chaîne d'intérêt se produit, et soit Hune être le cas où ces dernières une des résultats sont les premiers a < k caractères de la chaîne d'intérêt (mais pas plus que cela) . Nous utilisons ces événements pour donner la partition suivante de k + 1 états d'intérêt possibles:
État 0État 1État 2État 3⋮État k - 1État kW¯∩ H0, W¯∩ H1, W¯∩ H2, W¯∩ H3, ⋮W¯∩ Hk - 1,W.
Puisque la séquence des résultats est supposée être échangeable, nous avons des résultats indépendants conditionnels à leurs probabilités respectives θUNE+ θT+ θC+ θg= 1 . Votre processus d'intérêt peut être représenté comme une chaîne de Markov à temps discret qui commence dans l' État 0 à n = 0 et transite selon une matrice de probabilité qui dépend de la sous-chaîne particulière d'intérêt. La matrice de transition sera toujours a ( k + 1 ) × ( k + 1 )matrice représentant les probabilités de transition en utilisant les états ci-dessus. Si la sous-chaîne d'intérêt n'a pas été atteinte, chaque transition peut vous rapprocher de la sous-chaîne ou vous ramener à un état précédent qui dépend de la sous-chaîne particulière. Une fois la sous-chaîne atteinte, il s'agit d'un état absorbant de la chaîne, représentant le fait que l'événement d'intérêt s'est produit.
Par exemple, si la sous-chaîne d'intérêt est A A A A A A alors la matrice de transition est:
P = ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1 -θUNE1 -θUNE1 -θUNE1 -θUNE1 -θUNE1 -θUNE0θUNE0000000θUNE0000000θUNE0000000θUNE0000000θUNE0000000θUNE1.⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
Au contraire, si la sous-chaîne d'intérêt est UNECTA G C alors la matrice de transition est:
P = ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1 - θUNE1 - θUNE- θC1 - θUNE- θT1 - θUNE1- θUNE-θC-θg1 -θUNE-θC0θUNEθUNEθUNE0θUNEθUNE00θC00θC0000θT0000000θUNE0000000θ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