Sublinear Time Motif Discovery from Multiple Sequences

A natural probabilistic model for motif discovery has been used to experimentally test the quality of motif discovery programs. In this model, there are $k$ background sequences, and each character in a background sequence is a random character from an alphabet $\Sigma$. A motif $G=g_1g_2...g_m$ is a string of $m$ characters. Each background sequence is implanted a probabilistically generated approximate copy of $G$. For a probabilistically generated approximate copy $b_1b_2...b_m$ of $G$, every character $b_i$ is probabilistically generated such that the probability for $b_i\neq g_i$ is at most $\alpha$. We develop three algorithms that under the probabilistic model can find the implanted motif with high probability via a tradeoff between computational time and the probability of mutation. The methods developed in this paper have been used in the software implementation. We observed some encouraging results that show improved performance for motif detection compared with other softwares.


1
(log n) 2+µ of mutation for some fixed µ > 0, then motif can be recovered in (O( n √ h (log n) 7 2 + h 2 log 2 n), O(log n)) time, where n is the longest length of any input sequences, and h = min(|G|, n 2 5 ) The algorithm total time is sublinear if the motif length |G| is in the range [(log n) 7+µ , n (log n) 1+µ ]. This is the first sublinear time algorithm with rigorous analysis in this model.
(2) There exists a randomized algorithm such that there are positive constants c 0 , c 1 , and α that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most α of mutation, then motif can be recovered in (O( n 2 |G| (log n) O(1) ), O(log n)) time. (3) There exists a deterministic algorithm such that there are positive constants c 0 , c 1 , and α that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most α of mutation, then motif can be recovered in (O(n 2 (log n) O(1) ), O(log n)) time.
The methods developed in this paper have been used in the software implementation. We observed some encouraging results that show improved performance for motif detection compared with other softwares.
This paper focuses on the application of motif discovery to find conserved regions in a set of given DNA, RNA, or protein sequences. Such conserved regions may represent common biological functions or structures. Many performance measures have been proposed for motif discovery. Let C be a subset of 0-1 sequences of length n. The covering radius of C is the smallest integer r such that each vector in {0, 1} n is at a distance at most r from a string in C. The decision problem associated with the covering radius for a set of binary sequences is NP-complete [3]. The similar closest string and substring problems were proved to be NP-hard [3,11]. Some approximation algorithms have been proposed. Li et al. [14] gave an approximation scheme for the closest string and substring problems. The related consensus patterns problem is that given n sequences s 1 , · · · , s n , find a region of length L in each s i , and a string s of length L so that the total Hamming distance from s to these regions is minimized. Approximation algorithms for the consensus patterns problem were reported in [13]. Furthermore, a number of heuristics and programs have been developed [1,9,10,18,22].
In many applications, motifs are faint and may not be apparent when two sequences alone are compared but may become clearer when more sequences are compared together [7]. For this reason, it has been conjectured that comparing more sequences together can help with identifying faint motifs. This paper is a theoretical approach with a rigorous probabilistic analysis.
We study a natural probabilistic model for motif discovery. In this model, there are k background sequences and each character in the background sequence is a random character from an alphabet Σ. A motif G = g 1 g 2 . . . g m is a string of m characters. Each background sequence is implanted a probabilistically generated approximate copy of G. For a probabilistically generated approximate copy b 1 b 2 . . . b m of G, every character b i is probabilistically generated such that the probability for b i = g i , which is called a mutation, is at most α. This model was first proposed in [18] and has been widely used in experimentally testing motif discovery programs [1,9,10,22]. We note that a mutation in our model converts a character g i in the motif into a different character b i without probability restriction. This means that a character g i in the motif may not become any character b i in Σ − {g i } with equal probability.
We develop three algorithms that under the probabilistic model, one can find the implanted motif with high probability via a tradeoff between computational time and the probability of mutation. Each algorithm has the preprocessing phase and the voting phase. We use a pair of function (t 1 (n, k), t 2 (n, k)) to describe the computational complexity of motif detection algorithm, where n is the largest length of input sequence, and k is the number of sequences. Function t 1 (n, k) is the time complexity for the part for preprocessing, and t 2 (n, k) is the time complexity for recovering one character for motif after preprocessing. The total time is O(t 1 (n, k) + t 2 (n, k)|G|).
(1) There exists a randomized algorithm such that there are positive constants c 0 and c 1 that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most 1 (log n) 2+µ of mutation for some fixed µ > 0, then motif can be recovered in (O( n √ h (log n) 7 2 + h 2 log 2 n), O(log n)) time, where n is the longest length of any input sequences, and h = min(|G|, n 2 5 ) The algorithm total time is sublinear if the motif length |G| is in the range [(log n) 7+µ , n (log n) 1+µ ]. This is the first sublinear time algorithm with rigorous analysis in this model.
(2) There exists a randomized algorithm such that there are positive constants c 0 , c 1 , and α that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most α of mutation, then motif can be recovered in (O( n 2 |G| (log n) O(1) ), O(log n)) time. (3) There exists a deterministic algorithm such that there are positive constants c 0 , c 1 , and α that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most α of mutation, then motif can be recovered in (O(n 2 (log n) O(1) ), O(log n)) time.
The research in this model has been reported in [4,5,15]. In [4], Fu et al. developed an algorithm that needs the alphabet size to be a constant that is much larger than 4. In [5], our algorithm cannot handle all possible motif patterns. In [15], Liu et al. designed algorithm that runs in O(n 3 ) time and is lack of rigorous analysis about its performance. The motif recovery in this natural and simple model has not been fully understood and seems a complicated problem.
This paper presents two new randomized algorithms and one new deterministic algorithm. They make advancements in the following aspects: 1. The algorithms are much faster than those before. Our algorithms can even run in sublinear time. 2. They can handle any motif pattern. 3. The restriction for the alphabet size is as small as four, giving them potential applications in practical problems since gene sequences have an alphabet size 4. 4. All algorithms have rigorous proofs about their performances.
The entire Recover-Motif is described in Section 4.2. We analyze Algorithm Recover-Motif in Section 5.

Notations and the Model of Sequence Generation
For a set A, ||A|| denotes the number of elements in A. Σ is an alphabet with ||Σ|| = t ≥ 2. For an integer n ≥ 0, Σ n is the set of sequences of length n with characters from Σ. For a sequence S = a 1 a 2 · · · a n , S[i] denotes the character a i , and S[i, j] denotes the substring a i · · · a j for 1 ≤ i ≤ j ≤ n. |S| denotes the length of the sequence S. We use ∅ to represent the empty sequence, which has length 0.
Let G = g 1 g 2 · · · g m be a fixed sequence of m characters. G is the motif to be discovered by our algorithm. A Θ α (n, G)-sequence has the form S = a 1 · · · a n 1 b 1 · · · b m a n 1 +1 · · · a n 2 , where n 2 +m ≤ n, each a i has probability 1 t to be equal to π for each π ∈ Σ, and b i has probability at most α not equal to g i for 1 ≤ i ≤ m, where m = |G|. ℵ(S) denotes the motif region b 1 · · · b m of S. A mutation converts a character g i in the motif into an arbitrary different character b i without probability restriction. This allows a character g i in the motif to change into any character b i in Σ − {g i } with even different probability. The motif region of S may start at an arbitrary or worst-case position in S. Also, a mutation may convert a character g i in the motif into an arbitrary or worst-case different character b i only subject to the restriction that g i will mutate with probability at most α.
A Ψ(n, G)-sequence has the form S = a 1 · · · a n 1 b 1 · · · b m a n 1 +1 · · · a n 2 , where n 2 + m ≤ n, each a i has probability 1 t to be equal to π for each π ∈ Σ, and there are at most O(1) characters b i not equal to g i for 1 ≤ i ≤ m and each mutation occurs at a random position of G, where m = |G|.
For two sequences S 1 = a 1 · · · a m and S 2 = b 1 · · · b m of the same length, let the relative Hamming

Brief Introduction to Algorithm
Every detection algorithm in this paper has two phases. The first phase is preprocessing so that the motif regions from multiple sequences can be aligned in the same column region. The second phase is to recover the motif via voting. We use a pair of function (t 1 (n, k), t 2 (n, k)) to describe the computational complexity of motif detection algorithm. Function t 1 (n, k) is the time complexity for the preprocessing phase and t 2 (n, k) is the time complexity for outputting one character for motif in the voting phase.
The motif G is a pattern unknown to algorithm Recover-Motif, and algorithm Recover-Motif will attempt to recover G from a series of Θ(n, G, α)-sequences generated by the probabilistic model.

Algorithm
The algorithm first detects a position that is close to the left motif boundary in a sequence. It finds such a position via sampling and collision between two sequences. After the rough left boundary a sequence is found, it is used to find the rough boundaries of the rest of the sequences. Similarly, we find those right boundaries of motif among the input sequences. The exact left boundary of each motif region will be detected in the next phase via voting. Each character of the motif is recovered by voting among all the characters at the same positions in the motif regions of input sequences.

Descriptions of Algorithm
Output:Planted motif in each sequence and consensus string Start: Randomly select sample points from each sequence both in Z 1 and Z 2 For each pair of sequences selected from Z 1 and Z 2 , Find the rough left and rough right boundaries. Improve rough boundaries. If motif boundaries of each sequence in Z 2 are not empty, Use Voting algorithm to get the planted motifs. End of Algorithm

An Example
We provide the following example for the brief idea of our algorithm. Let the following input strings be defined as below. We assume that the original motif is TTTTTAACGATTAGCS. The motif part is displayed with bold font, and the mutation characters in the motif region are displayed with small font.

Input Sequences
It contains two groups Z 1 : The above two strings are used to detect the initial motif region and use them to deal with the motif in the second group below.

Select Sample Points
Some sample points of two sequences in Z 1 are selected and marked.

Collision Detection
In this step, the left and right rough boundaries of two sequences will be marked. The following show the left collision, which happens nearby the left motif boundary and are marked by two overline T AT T and T T T T subsequences.
The following show the right collision, which happens nearby the right motif boundary and are marked by two overline T T AG subsequences.

Improving the Boundaries
In the early phase of the algorithm, we first detect a small piece of motif in S ′ 1 by comparing S ′ 1 and S ′ 2 . Assume "TATT" and "TTAG" are found in the left and right motif region of S ′ 1 respectively. The rough motif length will be calculated via the difference of the location first character 'T' of the first subsequence and the location of the last character 'G' of the second subsequence. The position marked by "A" is the rough left boundary of motif and the position marked by "T" is the rough right boundary of motif in S ′ 1 below.

Select Sample Points for the Sequences in Z 2
Some sample points near the motif boundaries of S ′ 1 are selected. S ′′ 1 = GT ACCAT GĠATṪAṪTAACGATTȦGĊSTȦGAGGACCT A. Sample points are selected in each sequence in Z 2 .
3.2.6. Collision Detection Between S ′ 1 with the Sequences in Z 2 Some sample points near the motif boundaries of S ′ 1 are selected. S ′′ 1 = GT ACCAT GĠATṪAṪTAACGATTȦGĊSTȦGAGGACCT A. Sample points are selected in each sequence in Z 2 .

Improving the Motif Boundaries for the Sequences in Z 2
After the collision with the sequences in Z 2 , we obtain the rough location of motifs of the sequences in Z 2 . Their motif boundaries for the sequences in Z 2 are improved. S ′′ 1 = GT ACCAT GGATTATTAACGATTAGCST AGAGGACCT A. The improved motif boundaries of the sequences in Z 2 are marked below.

Extracting the Motif Regions
The motif regions of the second group will be extracted. The original motif is recovered via voting at each column.

Recovering Motif via Voting
The original motif TTTTTAACGATTAGCS is recovered via voting at all columns. For example, the last S in the motif is recovered via voting among the characters S, S, S, A, S in the last column.

Our Results
We give an algorithm for the case with at most 1 (log n) 2+µ mutation rate. The performance of the algorithm is stated in Theorem 2. Theorem 2 implies Corollary 3 by selecting k = c 1 log n with some constant c 1 large enough.
Theorem 2. Assume that µ is a fixed number in (0, 1) and the alphabet size t is at least 4. There exists a randomized algorithm such that there is a constant c 0 that if the length of the motif G is at least c 0 log n, then given k independent Θ(n, G,  We give a randomized algorithm for the case with Ω(1) mutation rate. The performance of the algorithm is stated in Theorem 4. Theorem 4 implies Corollary 5 by selecting k = c 1 log n with some constant c 1 large enough..

Theorem 4.
Assume that the alphabet size t is at least 4. There exists a randomized algorithm such that there is a constant c 0 that if the length of the motif G is at least c 0 log n, then given k independent Θ(n, G, µ))-sequences, the algorithm outputs G ′ such that 1) with probability at most e −Ω(k) , |G ′ | = |G|, and 2) for each 1 ≤ i ≤ |G|, with probability at most e −Ω(k) , 3) with probability at most k n 3 , the algorithm Recover-Motif does not stop in where n is the longest length of any input sequences, and h = min(|G|, n 2 5 ).
Corollary 5. There exists a randomized algorithm such that there are positive constants c 0 , c 1 , and α that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most α of mutation, then motif can be recovered in (O( n 2 |G| (log n) O(1) ), O(log n)) time.
We give a deterministic algorithm for the case with Ω(1) mutation rate. The performance of the algorithm is stated in Theorem 6. Theorem 6 implies Corollary 7 by selecting k = c 1 log n with some constant c 1 large enough.
Theorem 6. Assume that the alphabet size t is at least 4. There exists a deterministic algorithm such that there is a constant c 0 that if the length of the motif G is at least c 0 log n, then given k independent Θ(n, G, µ))-sequences, algorithm runs in (O(n 2 (log n) O(1) + h 2 k), O(k)), and outputs G ′ such that 1) with probability at most e −Ω(k) , |G ′ | = |G|, and 2) for each 1 ≤ i ≤ |G|, with probability at most e −Ω(k) , 3) with probability at most k n 3 , the algorithm Recover-Motif does not stop in where n is the longest length of any input sequences, and h = min(|G|, n 2 5 ).

Corollary 7.
There exists a deterministic algorithm such that there are positive constants c 0 , c 1 , and α that if the alphabet size is at least 4, the number of sequences is at least c 1 log n, the motif length is at least c 0 log n, and each character in motif region has probability at most α of mutation, then motif can be recovered in (O(n 2 (log n) O(1) ), O(log n)) time.

Algorithm Recover-Motif
In this section, we give an unified approach to describe three algorithms. The performance of the algorithms is stated in the Theorems 2, 4, and 6. The description of Algorithm Recover-Motif is given at section 4.2. The analysis of the algorithm is given at section 5.

Some Parameters
Definition 8.
i. Constant x is selected to be 10. This parameter controls the failure probability of our algorithms to be at most 1 2 x .
ii. The size of alphabet is t that is at least 4.
iii. Select a constant ρ 0 ∈ (0, 1) to have inequality (1) iv. The constant ǫ ∈ (0, 1) is selected to satisfy The existence of ǫ follows from inequality (1). The constant ǫ is used to control the mutation in the motif area. It is a part of parameter β defined in item (xiv) of this definition.
v. Let c = e − ǫ 2 3 . The constant c is used to simply probabilistic bounds which are derived from the applications of Chernoff bounds (See Corollary 17).
xvi. We define the following Q 0 .
The parameter Q 0 used in Lemma 26 gives an upper bound of the probability that a Θ(n, G, α)-sequence S whose ℵ(S) will not be similar enough to the original motif G according to the conditions in Lemma 26.
xvii. Select constant d 0 such that xviii. Select constant xix. Select number u 2 such that Since only n is variable, we can make u 2 = O(log log n).

Description of Algorithm Recover-Motif
The algorithm is described in this section. Before presenting the algorithm, we define some notions.

Definition 9.
• Two sequences X 1 and X 2 are weak left matched if (1) both |X 1 | and |X 2 | are at least d 0 log n, • Two sequences X 1 and • Two sequences X 1 and X 2 are weak right matched if X R 1 and X R 2 are weak left matched, where X R = a n · · · a 1 is the inverse sequence of X = a 1 · · · a n .
• Two sequences X 1 and X 2 are right matched if X R 1 and X R 2 are left matched, where X R = a n · · · a 1 is the inverse sequence of X = a 1 · · · a n .
• Two sequences X 1 and X 2 are matched if X 1 and X 2 are both left and right matched.
Variable L will be controlled in the range L ∈ [(log n) 3+ǫ 1 , n 2 5 −ǫ 2 ] in our algorithm with high probability. We define the following functions that depend on L.
We would like to minimize the function ( n L M + L 2 ) log n. This selection can make the total time complexity sublinear.
Definition 11. For a Θ α (n, G) sequence S, define LB(S) to be the left boundary l of the motif region ℵ(S) in S, and RB(S) to be the right boundary r of the motif region ℵ(S) in S such that ℵ(S) = S[l, r].

Boundary-Phase of Algorithm Recover-Motif
The first phase of Algorithm Recover-Motif finds the rough motif boundaries of all input sequences. It first detects the rough motif boundaries of one sequence via comparing two input sequences. Then the rough boundaries of the first sequence is used to find the rough motif boundaries of other input sequences.
Three algorithms share most of the functions. We have a unified approach to describe them. A special variable "algorithm-type" selects one of the three algorithms, respectively. Definition 12. Let algorithm-type represent one of the three algorithm types, "RANDOMIZED-SUBLINEAR", "RANDOMIZED-SUBQUADRATIC", and "DETERMINISTIC-SUPERQUADRATIC".
Definition 13. Assume that A 1 is a set of positions in a Θ α (n, G) sequence S 1 and A 2 is a set of positions in a Θ α (n, G) sequence S 2 . If there is a position a 1 ∈ A 1 and a 2 ∈ A 2 such that for some position j with 1 ≤ j ≤ |G|, a 1 is the position of ℵ(S 1 )[j] in S 1 and a 2 is the position of ℵ(S 2 )[j] in S 2 , then A 1 and A 2 have a collision at (a 1 , a 2 ).
In the following function Collision-Detection, the parameter ω ≤ β is defined below in the three algorithms.
Input: a pair of Θ(n, G, α)-sequences S 1 and S 2 , U i is a set of locations in S i for i = 1, 2. Output: the left and right rough boundaries of two sequences. Let .

End of Collision-Detection
Function Point-Selection(S 1 , S 2 , L) will be defined differently in three different algorithms. It selects some positions from each interval of length L in both S 1 and S 2 .
Point-Selection(S, L, I) Input: a pair of Θ(n, G, α)-sequences S, a size parameter L of partition, and an interval of positions I in S.
Output: a set U of positions from S respectively. Steps: Sample M (L) random positions at every interval of size L derived in the above partition, and put them into U . Else Put every position of I into U 1 . If algorithm-type=DETERMINISTIC-SUPERQUADRATIC Put every position of I into U . Return U .

End of Point-Selection
Improve-Boundaries(S 1 , a l , a r , S 2 , f l , f r , L) Input: a Θ(n, G, α)-sequence S 1 with rough left and right boundaries a l and a r , a Θ(n, G, α)sequences S 2 with rough left and right boundaries f l and f r , and the rough distance L to the nearest motif boundary from those rough boundaries.
Output: improved rough left and right boundaries for both S 1 and S 2 . Steps:

End of Improve-Boundaries
Initial-Boundaries(S 1 , S 2 ) Input: a pair of Θ(n, G, α)-sequences S 1 and S 2 Output: rough left boundary roughLeft S 1 of S 1 , right boundary roughRight S 1 of S 1 , rough left boundary roughLeft S 2 of S 2 , and right boundary roughRight S 2 of S 2 . Steps: End of Motif-Length-And-Boundaries

Extract-Phase of Algorithm Recover-Motif
After a set of motif candidates W is produced from Boundary-Phase of algorithm Recover-Motif, we use this set to match with another set of input sequences to recover the hidden motif by voting.
Match(G l , G r , S i ) Input: a motif left part G l (which can be derived from the rough left boundary of an input sequence S), a motif right part G r , a sequence S ′′ i from the group Z 2 , with known rough left and right boundaries.
Output: either a rough motif region of S ′′ i , or an empty sequence which means the failure in extracting the motif region ). If both a and b are found and their rough left boundaries and rough right boundaries. Steps:

End of Extract
The following is Extract-Phase of algorithm Recover-Motif. It extracts the motif regions of another set Z 2 of input sequences.
Extract-Phase(S ′ , Z 2 ): Input S ′ is an input sequence with known roughLeft S ′ and roughRight S ′ for its rough left and right boundaries respectively, and Z 2 = {S ′′ 1 , · · · , S ′′ k 2 } is a set of input sequences.
Output: a sequence G ′ , which is derived by voting on every position of the input sequences.
Steps: For each j = 1, · · · , m let a j be the most frequent character among G ′′ The entire algorithm is described below. We maintain the size of Z 1 and Z 2 to be roughly equal, which implies Steps: Preprocessing Part: is not empty Then go to Voting Part. Voting Part:

Analysis of Algorithm
The correctness of the algorithm will be proved via a series of Lemmas in Sections 5.2 and 5.3. Section 5.2 is for Boundary-Phase and Section 5.3 is for Extract-Phase. Furthermore, Section 5.3 gives some lemma for the two randomized algorithms and Section 5.5 gives the proof for the deterministic algorithm.

Review of Some Classical Results in Probability
Some well known results in classical probability theory are listed. The readers can skip this section if they understand them well. The inclusion of these results make the paper self-contained.
• For a list of events • For two independent events A and B, Pr t for all positive real number t. This is called Markov inequality.
The analysis of our algorithm employs the Chernoff bound [17] and Corollary 17 below, which can be derived from it (see [14]).
. Then for any δ > 0, We follow the proof of Theorem 14 to make the following version of Chernoff bound so that it can be used in our algorithm analysis.

Proof:
Let y be an arbitrary positive real number. By the definition of expectation, we have E(e yX i ) = Pr(X i = 1)e y + Pr(X i = 0). Since the function f (x) = xe y + (1 − x) is increasing for all y > 0 and Pr(X i = 1) ≤ p, we have E(e yX i ) ≤ pe y + (1 − p). We have the following inequalities: = ( e (e y −1) e y(1+δ) ) pn .

Analysis of Boundary-Phase of Algorithm Recover-Motif
Lemma 18 shows that with only small probability, a sequence can match a random sequence. It will be used to prove that when two substrings in two different Θ(n, G, α)-sequences are similar, they are unlikely not to coincide with the motif regions in the two Θ(n, G, α)-sequences, respectively.
Lemma 18. Assume that X 1 and X 2 are two independent sequences of the same length and that every character of X 2 is a random character from Σ. Then i. if 1 ≤ |X 1 | = |X 2 | < v, then the probability that X 1 and X 2 are matched is ≤ 1 t |X 1 | (t = ||Σ||); and ii. the probability for diff(X 1 , X 2 ) ≤ β is at most e − ǫ 2 |X 1 |

Proof:
The two statements are proved as follows. Statement i: For every character X 2 [j] with 1 ≤ j < v, the probability is 1 t that X 2 [j] = X 1 [j]. Statement ii: For every character X 2 [j] with 1 ≤ j ≤ |X 2 |, the probability is 1 t for X 2 [j] to equal X 1 [j]. If diff(X 1 , X 2 ) ≤ β, the two sequences X 1 and X 2 are identical at least (1 − β)|X 1 | positions, but the expected number of positions where the two sequences are identical is 1 t |X 1 |. The probability for diff(X 1 , 3 |X 1 | by Corollary 17, and Definitions 8 and 9. Lemma 19 shows that with small probability, an input Θ α (n, G) sequence contains motif region that has many mutations. Lemma 19. With probability at most c y 1−c , a Θ α (n, G) sequence S changes more than β 2 t characters in its first left t motif region ℵ(S) for some t with y ≤ t ≤ |G|, where c = e − ǫ 2 3 .

Proof:
Every character in the ℵ(S) region has probability at most α to mutate. We know that |ℵ(S)| = |G| ≥ d. By Corollary 17, with probability at most e − ǫ 2 3 t , a sequence S in Z 1 has more than (α + ǫ)t mutations (recall the setting for β at Definition 9) among the first left t characters.
The total is ∞ t=y e − ǫ 2 3 t = c y 1−c . Lemma 20 shows that Improve-Boundaries() has good chance to improve the accuracy of rough motif boundaries. ii. With probablity at most 2c v 1−c + 2(v+u)c v+u iii. Improve-Boundaries(S 1 , L S 1 , R S 1 , S 2 , L S 2 , R S 2 , L) runs in O(L 2 log n) time.

Proof:
We need a bound for the following inequality: We also have the closed form for the function f (x) = e θjx 1−e θx , which implies Let θ = ln a and x = 1. We have ∞ i=j ia i = ja j −(j−1)a j+1 (1−a) 2 Statement i. By Lemma 19, with probability at most 2 c v 1−c , one of the left motif first y characters region of S i will change β 2 y characters. Therefore, with probability at most For a pair of positions p in S 1 and q in S 2 , without loss generality, assume that p has larger distance to the left boundary LB(S 1 ) of S 1 than q to the left boundary LB(S 2 ) of S 2 . Let v + y be the distance from p to the left boundary LB(S 1 ) of S 1 .
By Lemma 18, the probability is at most c v+y that there will be a match. There are at most (v + y) cases for q. With probability is at most For the cases that one position is in random region and has distance more than d 0 log n with the left boundary, the probability is at most P 3 = n 2 c d 0 log n < 1 5·2 x n by inequality (14). Therefore, we have total probability at most Statement ii. One can also provide a symmetric analogous proof for this statement. Statement iii. The computation time easily follows from the implementation of Improve-Boundaries(S 1 , L S 1 , R S 1 , S 2 , L S 2 , R S 2 ).

Proof:
It follows from Lemma 20.

Lemma 22.
Assume that with probability p < 0.5, each S ′ 2i−1 has its rough boundaries On the other hand, the probability is at most p, So, this lemma follows from Corollary 17. For a Θ(n, G, α)-sequence S, we often obtain its left rough boundary with roughLeft S ≤ LB(S). Some times its exactly left boundary may be miss in the algorithm.

Definition 24.
• A Θ(n, G, α)-sequence S contains a left half stable motif region 3 and m = |G| as defined in Definition 8 and Section 2, respectively.
where G ′ = ℵ(S) and m = |G|. • A Θ(n, G, α)-sequence S contains a stable motif region ℵ(S) satisfying the following conditions: ( • The rough boundaries for all sequences S ′′ i ∈ Z 2 are computed via (L S , R S , Then with probability at most e − ǫ 2 k 2 3 , there are more than (2(ς(n)

Proof:
According to the condition of this lemma, with probability at most P 1 = ς(n), . For a fix pattern from S, by Lemma 18, with probability at most ∞ y=v+u c y = c v+u 1−c , it has distance more than v + u to the true left boundary. As we need to deal with v + u 1 possible patterns from S, with probability at most P 2,l = With probability at most P 3,l = c v 1−c , S ′′ i does not contain a left half stable motif region by Lemma 19. Similarly, with probability at most P 3,r = c v 1−c , S ′′ i does not contain a right half stable motif region. Let P 3 = P 3,l + P 3,r .
Although S is involved to search the left boundary with all other sequences. The non-missing condition is to let each sequence do not change too many characters in the motif region. Therefore, this is an independent event for each sequence. It is safe to use Chernoff bound to deal with it. With probability at most P = e − ǫ 2 k 2 3 , the are more than (P 1 + P 2 + P 3 + ǫ)k 2 sequences

Analysis of Extract-Phase and Voting-Phase of Algorithm Recover-Motif
Lemma 26 shows that with high probability, the left and last parts of the motif region in a Θ(n, G, α)-sequence do not change much.
Lemma 26. With probability at most Q 0 , a Θ(n, G, α)-sequence S does not contain a stable motif region.
Lemma 28 shows that with high probability, Extract-Phase of algorithm Recover-Motif extracts the correct motif regions from the sequences in Z 1 . It uses G ′′ to match ℵ(S) in another sequences S. The parameter R gives a small probability that the matched region between G ′′ and S is not in ℵ(S).
i. Assume that G l and G r are fixed sequences of length d 0 log n. Let S be a Θ(n, G, α)-sequence with M ∈ Match(G l , G r , S) and let w 0 be the number of characters of M that are not in the region of ℵ(S). Then the probability is at most R that w 0 ≥ 1, where R is defined in Definition 8.
ii. The probability is at most Q 0 that given a Θ(n, G, α)-sequence S, Match(G L , G R , S) = ∅.

Proof:
Assume that w 0 ≥ 1. Let w be the number of characters outside of ℵ(S) on the left of M , and let w ′ be the number of characters outside of ℵ(S) on the right of M . Clearly, w 0 = w + w ′ . Since w 0 ≥ 1, either w ≥ 1 or w ′ ≥ 1. See Figure 1. Without loss of generality, we assume w ≥ 1.
Statement i: There are two cases. Case (a): 1 ≤ w < v. By Lemma 18, the probability for this case is at most 1 t for a fixed w. The total probability for this case By Lemma 18, the probability is at most e − ǫ 2 3 w for a fixed w. The total probability for v ≤ w is at most ∞ w=v e − ǫ 2 3 w = c v 1−c . The probability analysis is similar when w ′ ≥ 1. Therefore, the probability for this case is at most R = ( 1 t−1 + c v 1−c ) for w 0 ≥ 1. Statement ii: By Lemma 26, with probability at most Q 0 , S does not contain a stable motif region. Therefore, we have probability at most Q 0 that given a random Θ(n, G, α)-sequence S, Lemma 29 shows that we can use G l and G r to extract most of the motif regions for the sequences in Z 2 if G ′ = G L (recall that G L is defined right after Lemma 26).
Lemma 29. Assume that G l and G r are two sequences of length d 0 log n, and G i = Match(G l , G r , S ′′ i ) for S ′′ i ∈ Z 2 = {S ′′ 1 , · · · , S ′′ k 2 } and i = 1, · · · , k 2 (recall that each sequence G i is either an empty sequence or a sequence of the length |G l |).
i. If G l = G L , G r = G R , and there are no more than yk 2 (y ∈ [0, 1]) sequences S ′′ i with , then the probability is at most e − ǫ 2 k 2 3 that there are more than (Q 0 + y + ǫ)k 2 sequences G i with G i = ∅.

Proof:
Recall that sequence G 1L is selected right after Lemma 26. Statement i: By Lemma 28, for every S ′′ i ∈ Z 2 , the probability is at most Q 0 that S ′′ i does not contain a stable motif region ℵ(S ′′ i ). By Corollary 17, we have probability at most e − ǫ 2 k 2 3 that there are more than (Q 0 + y + ǫ)k 2 sequences G i with G i = ∅.
• Given two sequences G r and G r , define • For a Θ α (n, G) sequence S, define G S,L to be the ℵ(S)[1, d 0 log n], which is the leftmost subsequence of length d 0 log n in the motif region of S.
• For a Θ α (n, G) sequence S, define G S,R to be the ℵ(S)[m − d 0 log n + 1, m], which is the rightmost subsequence of length d 0 log n in the motif region of S, where m = |G| = |ℵ(S)|.
the condition iv of Lemma 31 Lemma 31. Assume that we have the following conditions: i. For each L with 0 < L ≤ |G| 2 , with probability at most ς 1 (n), iii. The inequality (P 0 + Q 0 ) < c 0 holds for some constant c 0 < 1, where Q 0 is defined at equation (13) and Then the algorithm generates a set of at most k 2 subsequences for voting and votes a sequence G ′ such that (1)  Before proving Lemma 28, we note that both ς 1 (n) and ς 2 (n) is at most 1 2 x n 3 for all of the three algorithms.
They will be proved by Lemma 40 and Lemma 41 for the case algorithm-type=RANDOMIZED-SUBLINEAR, Lemma 43 and Lemma 44 for the case algorithm-type=RANDOMIZED-SUBQUADRATIC, and Lemma 47 for the case algorithm-type=DETERMINISTIC-SUPERQUADRATIC.
By Lemma 26, with probability at most Q 0 , a Θ α (n, G) sequence does not contain a stable motif region. Therefore, with probability at most P 1 = (P 0 + Q 0 ) k 1 , the following statement is false.
By Lemma 25, with probability at most P 2 = e − ǫ 2 k 2 3 , there are more than (2(ς 2 (n) + In other words, with probability at most P 2 , the following statement is false: (ii) There are no more than . Assume that Statement (ii) is true. By Lemma 29, with probability at most P 3 = c k 2 , the following statement is false.
(iii) M (G L , G R ) contains at most (Q 0 + V 0 + ǫ)k 2 empty sequences. We start from the rough left boundary roughLeft 1 of S 1 to match the other left boundaries of S ′′ i for i = 1, · · · , k 2 . There are totally at most 2(v + u 1 ) candidates to consider. By Lemma 29, if M (G l , G r ), which consists k 2 matched regions, has at most (Q 0 + V 0 + ǫ)k 2 empty sequences, then it has more than (R + ǫ)k 2 from non-motif regions with probability at most After the pattern is fixed, those events in the matching are considered to be independent each other. This is why we can apply the Chernoff bound to deal with them. So, the probability is at most P 4 , the following statement is false.
Definition 32. A function T (x, y) : N × N → N is monotonic if it is monotonic on both variables. If for arbitrary positive constants c 1 and c 2 , T (c 1 x, c 2 y) ≤ cT (x, y) for some positive constant c, then T (x, y) is slow.

Proof:
The function Initial-Boundaries()is executed k 1 times. According to the condition that with probability at most ϕ(n), the function does not stop Initial-Boundaries(.) does not stop when L ≤ |G|/4, we have the fact that with probability at most k 1 ϕ(n), one of those executions of Initial-Boundaries(.) does not stop when L ≤ |G|/4.
In the rest of the proof, we assume that all executions of Initial-Boundaries(.) stops when L ≤ |G|/4.
When L = O(h), we detect rough left and right motif boundaries and run Improve-Boundaries(), which takes O(h 2 log n) time. It takes O( i 0 i=1 (T (n, s(n, n 2 i n 2/5 )) + g(n, n 2 i n 2/5 ) + h 2 log n) time to run Initial- (t(n, s(n, n 2 i n 2/5 )) + g(n, n 2 i n 2/5 ) + k 1 h 2 log n) time to run Initial-Boundaries(S ′ 2i−1 , S ′ 2i ) one time for all pairs (S ′ 2i−1 , S ′ 2i ) in Z 1 . It takes k 2 (t(n, f (n, |G|)) + h 2 log n) time to find the rough boundaries for all sequences in Z 2 with a fixed sequence S from Z 1 by executing the for loop "For each S ′′ j ∈ Z 2 " in the algorithm Recover-Motif. It takes k 1 k 2 (t(n, f (n, |G|)) + h 2 log n) time to find the rough boundaries for all sequences in Z 2 via all sequences S ′ 2i−1 from Z 1 through for loop "For each S ′′ j ∈ Z 2 " in the algorithm Recover-Motif.
Recall that parameters v and u 1 are constants, and u 2 is O(log log n). Calling Match(G l , G r , S ′′ i ) takes O((v + u 2 ) log n) time for each S ′′ i ∈ Z 2 . The total times for calling Match(G l , G r , S ′′ i ) is O(k 1 k 2 (v + u 1 )(v + u 2 ) log n) = O(k 1 k 2 (log n)(log log n)).
The voting part takes O(k 2 ) time for executing voting for recovering one character in motif.

Randomized Algorithms for Motif Detection
In this section, we present two randomized algorithms for motif detection. The first one is a sublinear time algorithm that can handle 1 (log n) 2+µ mutation, and the second one is a super-linear time algorithm that can handle Ω(1) mutation. They also share some common functions. Assume that x 1 , · · · , x m are m random elements in S. Then with probability at most ||U || m 1 ( ||V ||+m 1 n ) m , the list x 1 , · · · , x m contains at most m 1 different elements from U (in other words, ||{ x 1 , · · · , x m } ∩ U || ≤ m 1 ).

Proof:
For a subset S ′ ⊆ S with |S ′ | = m 1 , the probability is at most ( m 1 n ) m that all elements x 1 , · · · , x m are in S ′ . For every subset X ⊆ S with |X| ≤ m 1 , there exists another subset S ′ ⊆ S such that |S ′ | = m 1 . We have that Pr There are ||U || m 1 subsets of U with size m 1 . We have the probability at most ||U || m 1 ( ||V ||+m 1 n ) m that x 1 , · · · , x m contains at most m 1 different elements in U .
Lemma 36. Let δ be the same as that in Lemma 34. Let β be a constant in (0, 1) and c = 1 − β 2 . Let m 1 ≤ δcm ln βn and m ≤ n 1−ǫ for some fixed ǫ > 0. Let S 1 and S 2 be two sets of n elements with |S 1 ∩ S 2 | ≥ βn and C be a set of size |C| ≤ γm 1 for some constant γ ∈ (0, 1). Then for all large n, with probability is at most x m } and B = {y 1 , · · · , y m } are two sets, which may have multiplicities, of m random elements from S 1 and S 2 , respectively.

Proof:
In the entire proof of this lemma, we always assume that n is sufficiently large. We are going to give an upper bound about the probability that B does not contain any element in A − C. For each element y i ∈ B, with probability at most 1 − m 1 n that y i is not in A. Therefore, the probability is at most (1 − ||A||−||C|| n ) m that B does not contain any element in A − C. By Lemma 35, the probability is at most βn

Proof:
By Theorem 16, with probability at most P 1 = 2 −αL (let δ = 2), there are more than 3αL mutation in an interval of length L. Therefore, with probability at most 2 −αL = e −(log n) 1+Ω(1) , there are more than 3αL log n positions are damaged. Therefore, each random position in an interval of length L has at most probability 3αL log n L = 3α log n to be damaged. Since α = ( , and (L S 1 , R S 1 , L S 2 , R S 2 ) =Collision-Detection(S 1 , U 1 , S 2 , , U 2 ). Then i. With probability at most 1 2 x n 3 , the left rough boundary L S 1 has at most 2L distance from LB(S 1 ) and the left rough boundary L S 2 has at most 2L distance from LB(S 2 ).
ii. With probability at most 1 2 x n 3 , the right rough boundary R S 1 has at most 2L distance from RB(S 1 ); and the right boundary of R S 2 has at most 2L distance from RB(S 2 ).

Proof:
We prove the following two statements which imply the lemma.
i. With probability at most 1 2 x n 3 , there is no intervals A i from S 1 and B j from S 2 such that (1) |A i (S 1 , ℵ(S 1 )) ∩ B j (S 2 , ℵ(S 2 ))| is at least L 2 ; (2) the left boundary of S 1 has at most 2L distance from A i ; (3) the left boundary of S 2 has at most 2L distance from B j ; and (4) there is collision between the sampled positions in A i and B j .
ii. With probability at most 1 2 x n 3 , there is no intervals A i from S 1 and B j from S 2 such that (1) |A i (S 1 , ℵ(S 1 )) ∩ B j (S 2 , ℵ(S 2 ))| is at least L 2 ; (2) the right boundary of S 1 has at most 2L distance from A i ; (3) the right boundary of S 2 has at most 2L distance from B j ; and (4) there is collision between the sampled positions in A i and B j .
We only prove the statement i. The proof for statement ii is similar to that for statement i. Note that L goes down by half each cycle in the algorithm. Assume that L satisfies the condition of this lemma.
Select A i from S 1 and B j from S 2 to be the first pair of intervals with ||A i (S 1 , ℵ(S 1 )) ∩ B j (S 2 , ℵ(S 2 ))|| ≥ L 2 . It is easy to see that such a pair exists and both have distance from the left boundary with distance at most 2L. This is because when an leftmost interval of length L is fully inside the motif region of the first sequence, we can always find the second interval from the second sequence with intersection of length at least L ii. With probability at most 1 2 x n 3 , the right rough boundary R S 1 has at most |G|/4 distance from RB(S 1 ); and the right boundary of R S 2 has at most |G|/4 distance from RB(S 2 ).

Proof:
For two sequences S 1 and S 2 , it is easy to see that there a common position in both motif regions of the two sequences such that there is no mutation in the next d 0 log n characters with high probability. This is because that mutation probability is small.
We have similar P r = P r,1 + P r,2 = e −(log n) 1+Ω(1) probability for the right side for more than ((5αd 0 log n) |G| Proof: Statement i. The parameter ω RANDOMIZED−SUBLINEAR is set to be 0 in the Collision-Detection. It follows from the time complexity of bucket sorting, which is described in standard algorithm textbooks.
Statements ii and iii. They follows from the implementation of Point-Selection(). Statement iv. It follows from the choice of Point-Selection(.) for the sublinear time algorithm at Recover-Motif(.).
Statement v. It follows from Lemma 41, Lemma 40, Lemma 33 and Statements i, ii, and iii, and iv.
We give the proof for Theorem 2. Proof: [Theorem 2] The computational time part of this theorem follows from Lemma 42.
By inequality (12), the condition (iii) of Lemma 31 is satisfied. By inequality (11), we know that the condition (iv) of Lemma 31 can be satisfied. The failure probability part of this theorem follows from Lemma 20, and Lemma 31 by using the fact that k 1 , k 2 , and k are of the same order (see equation (18)).

Randomized Algorithm for Ω(1) Mutation Rate
In this section, we give an algorithm for the case with Ω(1) mutation rate. The performance of the algorithm is stated in Theorem 4.
ii. With probability at most 1 2 x n 3 , the right rough boundary R S 1 has at most 2L distance from RB(S 1 ); and the right boundary of R S 2 has at most 2L distance from RB(S 2 ).

Proof:
We prove the following two statements which imply the lemma.
i. With probability at most 1 2 x n 3 , there is no intervals A i from S 1 and B j from S 2 such that (1) ||A i (S 1 , ℵ(S 1 )) ∩ B j (S 2 , ℵ(S 2 ))|| is at least L 2 ; (2) The left boundary of S 1 has at most 2L distance from A i ; (3) The left boundary of S 2 has at most 2L distance from B j ; and (4) There is collision between the sampled positions in A i and B j .
ii. With probability at most 1 2 x n 3 , there is no intervals A i from S 1 and B j from S 2 such that (1) (2) The right boundary of S 1 has at most 2L distance from A i ; (3) The right boundary of S 2 has at most 2L distance from B j ; and (4) There is collision between the sampled positions in A i and B j .
We only prove the statement i. The proof for statement ii is similar. Note that L goes down by half each cycle in the algorithm. Assume that L 0 satisfies the condition of this lemma, and let L = L 0 happen in the algorithm.
Select A i from S 1 and B j from S 2 to be the first pair of intervals with ||A i (S 1 , ℵ(S 1 )) ∩ B j (S 2 , ℵ(S 2 ))|| ≥ L 2 . It is easy to see that such a pair exists and both have distance from the left boundary with distance at most 2L. This is because when an leftmost interval of length L is fully inside the motif region of the first sequence, we can always find the second interval from the second sequence with intersection of length at least L 2 . Replace m by M (L), m 1 by M 1 (L) (see Definition 10), and n by L to apply Lemma 36. We do not consider any damaged position in this algorithm, therefore, let C be empty. With probability at most o( 1 2 x n 3 ), there is no intersection A i from S 1 and B j from S 2 .
Lemma 44. Let U 1 and U 2 contain all positions of the input sequences S 1 and S 2 , respectively. Assume (L S 1 , R S 1 , L S 2 , R S 2 ) =Collision-Detection(S 1 , U 1 , S 2 , , U 2 ). Then i. With probability at most 1 2 x n 3 , the left rough boundary L S 1 has at most d 0 log n distance from LB(S 1 ) and the left rough boundary L S 2 has at most d 0 log n distance from LB(S 2 ).
ii. With probability at most 1 2 x n 3 , the right rough boundary R S 1 has at most d 0 log n distance from RB(S 1 ); and the right rough boundary of R S 2 has at most d 0 log n distance from RB(S 2 ).

Proof:
For two sequences S 1 and S 2 , let ℵ(S a ) be the subsequence S a [i a , j a ] for a = 1, 2. By Corollary 17, with probability at most P l = 2c d 0 log n ≤ 2 5·2 x n 3 (see inequality 8 at Definition 14), there are more than (α + ǫ)d 0 log n mutations in S a [i a , i a + d 0 log n − 1] for a = 1, 2.
In this case, every position in the two sequences S 1 and S 2 is selected by Point-Selection(S 1 , S 2 ). With probability at most P l , the left boundary position is missed during the matching. We have similar P r to miss the right boundary.
Assume that p 1 and p 2 are two positions of S 1 and S 2 respectively. If one of two positions is outside the motif region and has more than d 0 log n distance to the motif boundary, with probability at most c −d 0 log n ≤ 1 5·2 x n 3 (see inequality 8 at Definition 14) for them to match that requires diff(Y 1 , Y 2 ) ≤ β by Lemma 18, where Y a is a subsequence S a [p a , p a + d 0 log n − 1] for a = 1, 2.
ii. With probability at most 1 2 x n 3 , the right rough boundary R S 1 has at most d 0 log n distance from RB(S 1 ); and the right boundary of R S 2 has at most d 0 log n distance from RB(S 2 ).

Proof:
In this case, every position in the two sequences S 1 and S 2 is selected by Point-Selection(S 1 , S 2 ). It follows from Lemma 44. v. With probability at most k 2 x n 3 , the algorithm Recover-Motif does not stop in (O(k( n 2 |G| (log n) O(1) + h 2 log n)), O(k)) time.

Proof:
Statement i. The parameter ω RANDOMIZED−SUBLINEAR is set to be β in the Collision-Detection. It follows from the time complexity of brute force method.
Statements ii and iii. They follows from the implementation of Point-Selection(). Statement iv. It follows from the choice of Point-Selection(.) for the sublinear time algorithm at Recover-Motif(.). Statement iv. It follows from Lemma 44, Lemma 45, Lemma 33, and Statements i, ii, and iii.
We give the proof for Theorem 6. Proof: [Theorem 4] The computational time part of this theorem follows from Lemma 46.
By inequality (12), the condition (iii) of Lemma 31 is satisfied. By inequality (11), we know that the condition (iv) of Lemma 31 can be satisfied. The failure probability part of this theorem follows from Lemma 20, and Lemma 31 by using the fact that k 1 , k 2 , and k are of the same order (see equation (18)).

Deterministic Algorithm for Ω(1) Mutation Rate
In this section, we give a deterministic algorithm for the case with Ω(1) mutation rate. The performance of the algorithm is stated in Theorem 6.

Conclusions
We develop an algorithm that under the probabilistic model. It finds the implanted motif with high probability if the alphabet size is at least 4, the motif length is in [(log n) 7+µ , n (log n) 1+µ ] and each character in motif region has probability at most 1 (log n) 2+µ of mutation. The motif region can be detected and each motif character can be recovered in sublinear time. A sub-quadratic randomized algorithm is developed to recover the motif with Ω(1) mutation rate. A quadratic deterministic algorithm is developed to recover the motif with Ω(1) mutation rate. It is interesting problem if there is an algorithm to handle the case for the alphabet of size 3. A more interesting problem is to extend the algorithm to handle larger mutation probability. In the first experiment, we tested our algorithm on several sets of simulated data, which are all generated from our probability model with a small mutation rate. All input sets contain 20 or 15 sequences, each of length is 600 or 500 base pair. And each bp of all the simulated gene sequences was generated independently with the same occurrence probability. A motif with a length of 15 or 12 was randomly planted to each input sequence. The number of iterations is between 10 and 30. The minimum Hamming distances between the results and consensus are recorded. In the second experiment,we tested our algorithm on real sets of sequences, which are obtained from SCPD. SCPD contains a large number of gene data and transcription factors of yeast. For each set of gene sequences that are regulated by the same motif, we chose 1000bp as the length of input gene sequence. In order to make comparisons among several existed motif finding methods, we also tested Gibbs, MEME, Info-Gibbs and Consensus in our experiment to show the difference of their performance. Here are the specific experimental results:

Analysis
In the first experiment, we tested our algorithm on 4 sets of simulated sequences. From our experimental results, we find that the accuracy of our algorithm for finding motif in simulated data is nearly 100%. The accuracies of the experiments in simulated data sets are satisfactory. Our algorithm can get the results within several minutes. From the second experimental results, we find that our algorithm is able to find the real motifs from given gene sequences in little time. Our algorithm shows higher speed than other four motif finding methods, because an initial motif pattern is first extracted from comparing two sequences in the first stage of our algorithm. In addition, unlike Gibbs sampling and EM methods, our algorithm could avoid some extra time consuming computations, such as the calculations of likelihoods. According to this feature, we use the consensus string of the voting operation obtained from the result of last iteration as a new starting pattern to program, and continue doing voting until there is no further improvement. Experimental results show that if we set the number of iterations to be large enough, the program could give more accurate results in reasonable time. Besides, in order to detect unknown motifs in sequences, our program also provides several possible motifs existed in specific sequences, and the average mismatch numbers of motifs that is greatly lower than other four methods.

Future works
Compared with other tested motif finding methods, we could find that the voting algorithm has advantages in some aspects, but there are still some improvements could be done on this algorithm. As we know, though a set of sequences may have the consensus, but each motif in sequence may has mutations, and the length of each motif could also be different. So the two factors increase the difficulties in finding unknown motifs. In the future, we plan to improve the efficiency of voting algorithm by studying other motif finding methods, such as MEME, a combination may be made between voting algorithm and MEME so that voting algorithm could have better performance in finding unknown motifs.