A Fast Algorithm for Approximate String Matching on Gene Sequences
Approximate string matching is a fundamental and challenging problem in computer science, for which a fast algorithm is highly demanded in many applications including text processing and DNA sequence analysis. In this paper, we present a fast algorithm for approximate string matching, called FAAST. It aims at solving a popular variant of the approximate string matching problem, the k-mismatch problem, whose objective is to find all occurrences of a short pattern in a long text string with at most k mismatches. FAAST generalizes the well-known Tarhio-Ukkonen algorithm by requiring two or more matches when calculating shift distances, which makes the approximate string matching process significantly faster than the Tarhio-Ukkonen algorithm. Theoretically, we prove that FAAST on average skips more characters than the Tarhio-Ukkonen algorithm in a single shift, and makes fewer character comparisons in an entire matching process. Experiments on both simulated data sets and real gene sequences also demonstrate that FAAST runs several times faster than the Tarhio-Ukkonen algorithm in all the cases that we tested.
Unable to display preview. Download preview PDF.
- 1.Baeza-Yates, R., Gonnet, G.H.: A New Approach to Text Searching. Communication of the ACM 35(10) (1992)Google Scholar
- 5.El-Mabrouk, N., Crochemore, M.: Boyer-Moore strategy to efficient approximate string matching. In: Hirschberg, D.S., Meyers, G. (eds.) CPM 1996. LNCS, vol. 1075, pp. 24–38. Springer, Heidelberg (1996)Google Scholar
- 10.Valinsky, L., Scupham, A., Vedova, G.D., Liu, Z., Figueroa, A., Jampachaisri, K., Yin, B., Bent, E., Mancini-Jones, R., Press, J., Jiang, T., Borneman, J.: Oligonucleotide Fingerprinting of Ribosomal RNA Genes (OFRG). In: Kowalchuk, G.A., de Bruijn, F.J., Head, I.M., Akkermans, A.D.L., van Elsas, J.D. (eds.) Molecular Microbial Ecology Manual, 2nd edn., pp. 569–585. Kluwer Academic Publishers, Dordrecht (2004)Google Scholar