It is possible to obtain the exact probability of a particular subsequence by using a Markov chain representation of the problem. The specifics of how to construct the chain depend on the particular subsequence of interest, but I will give a couple of examples of how to do this.
Exact probability via Markov chain: Consider a discrete sequence of outcomes of $A,T,C,G$ where the outcomes in the sequence are exchangeable, and suppose we are interested in some substring of length $k$. For any given value of $n$, let $\mathscr{W}$ be the event that the substring of interest occurs, and let $\mathscr{H}_a$ be the event that the last $a$ outcomes are the first $a < k$ characters in the substring of interest (but no more than this). We use these events to give the following partition of $k+1$ possible states of interest:
$$\begin{matrix}
\text{State 0} & & & \bar{\mathscr{W}} \cap \mathscr{H_0}, \text{ } \text{ } \text{ } \\[6pt]
\text{State 1} & & & \bar{\mathscr{W}} \cap \mathscr{H_1}, \text{ } \text{ } \text{ } \\[6pt]
\text{State 2} & & & \bar{\mathscr{W}} \cap \mathscr{H_2}, \text{ } \text{ } \text{ } \\[6pt]
\text{State 3} & & & \bar{\mathscr{W}} \cap \mathscr{H_3}, \text{ } \text{ } \text{ } \\[6pt]
\vdots & & & \vdots \\[6pt]
\text{State }k-1 & & & \bar{\mathscr{W}} \cap \mathscr{H_{k-1}}, \\[6pt]
\text{State }k & & & \mathscr{W}. \quad \quad \quad \text{ } \text{ } \\[6pt] \\[6pt]
\end{matrix}$$
Since the sequence of outcomes is assumed to be exchangeable we have independent outcomes conditional on their respective probabilities $\theta_A + \theta_T + \theta_C + \theta_G = 1$. Your process of interest can be represented as a discrete-time Markov chains that begins in $\text{State 0}$ at $n=0$ and transitions according to a probability matrix that depends on the particular substring of interest. The transition matrix will always be a $(k+1) \times (k+1)$ matrix representing the probabilities of transition using the above states. If the substring of interest has not been reached then each transition can either bring you one step closer to the substring or it can set you back to a previous state that depends on the particular substring. Once the substring is reached, this is an absorbing state of the chain, representing the fact that the event of interest has occurred.
For example, if the substring of interest is $AAAAAA$ then the transition matrix is:
$$\mathbf{P} = \begin{bmatrix}
1-\theta_A & \theta_A & 0 & 0 & 0 & 0 & 0 \\[6pt]
1-\theta_A & 0 & \theta_A & 0 & 0 & 0 & 0 \\[6pt]
1-\theta_A & 0 & 0 & \theta_A & 0 & 0 & 0 \\[6pt]
1-\theta_A & 0 & 0 & 0 & \theta_A & 0 & 0 \\[6pt]
1-\theta_A & 0 & 0 & 0 & 0 & \theta_A & 0 \\[6pt]
1-\theta_A & 0 & 0 & 0 & 0 & 0 & \theta_A \\[6pt]
0 & 0 & 0 & 0 & 0 & 0 & 1. \\[6pt]
\end{bmatrix}$$
Contrarily, if the substring of interest is $ACTAGC$ then the transition matrix is:
$$\mathbf{P} = \begin{bmatrix}
1-\theta_A & \theta_A & 0 & 0 & 0 & 0 \\[6pt]
1-\theta_A-\theta_C & \theta_A & \theta_C & 0 & 0 & 0 & 0 \\[6pt]
1-\theta_A-\theta_T & \theta_A & 0 & \theta_T & 0 & 0 & 0 \\[6pt]
1-\theta_A & 0 & 0 & 0 & \theta_A & 0 & 0 \\[6pt]
1-\theta_A-\theta_C-\theta_G & \theta_A & \theta_C & 0 & 0 & \theta_G & 0 \\[6pt]
1-\theta_A-\theta_C & \theta_A & 0 & 0 & 0 & 0 & \theta_C \\[6pt]
0 & 0 & 0 & 0 & 0 & 0 & 1. \\[6pt]
\end{bmatrix}$$
As can be seen above, constructing the transition matrix requires attention to the particular substring. An incorrect outcome sets you back to a previous state in the string that depends on the particular substring of interest. Once the transition matrix is constructed, for a given value of $n$ the probability of having the substring in the chain is $\mathbb{P}(\mathscr{W} | n) = \{ \mathbf{P}^n \}_{0,k}$. (This probability is zero for all $n<k$.)
Programming this in R: You can program this as a function in R
by creating a function that generates the transition matrix for the Markov chain and an array of its powers up to some desired number of trials. You can then read the appropriate transition probability for the value of $n$ that is of interest. Here is an example of some code to do this:
#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
As you can see from this calculation, the probability of getting the substring $AAAAAA$ in $n=100$ tosses with equiprobable outcomes is $0.01732435$. This is just one example using a particular substring and a given number of trials, but it can be varied to obtain probabilities with respect to other substrings of interest.