Finding significant matches of position weight matrices in linear time.
Position weight matrices are an important method for modeling signals or motifs in biological sequences, both in DNA and protein contexts. In this paper, we present fast algorithms for the problem of finding significant matches of such matrices. Our algorithms are of the online type, and they generalize classical multipattern matching, filtering, and superalphabet techniques of combinatorial string matching to the problem of weight matrix matching. Several variants of the algorithms are developed, including multiple matrix extensions that perform the search for several matrices in one scan through the sequence database. Experimental performance evaluation is provided to compare the new techniques against each other as well as against some other online and index-based algorithms proposed in the literature. Compared to the brute-force O(mn) approach, our solutions can be faster by a factor that is proportional to the matrix length m. Our multiple-matrix filtration algorithm had the best performance in the experiments. On a current PC, this algorithm finds significant matches (p = 0.0001) of the 123 JASPAR matrices in the human genome in about 18 minutes.
Department of Information Engineering, Università degli Studi di Padova, via Gradenigo 6/b, 35131 Padova, Italy. cinzia.pizzi@dei.unipd.it
Cinzia
C
Pizzi
Pasi
P
Rastas
Esko
E
Ukkonen
D000465:Algorithms; D019295:Computational Biology / Q000379:methods*; D004247:DNA / Q000737:chemistry; D006801:Humans; D010363:Pattern Recognition, Automated / Q000379:methods*; D011506:Proteins / Q000737:chemistry; D017422:Sequence Analysis, DNA / Q000379:methods*; D020539:Sequence Analysis, Protein / Q000379:methods*
D011506:Proteins; D004247:DNA