An O(N2) algorithm for discovering optimal Boolean pattern pairs

Hideo Bannai, Heikki Hyyrö, Ayumi Shinohara, Masayuki Takeda, Kenta Nakai, Satoru Miyano

Research output: Contribution to journalArticlepeer-review

9 Citations (Scopus)


We consider the problem of finding the optimal combination of string patterns, which characterizes a given set of strings that have a numeric attribute value assigned to each string. Pattern combinations are scored based on the correlation between their occurrences in the strings and the numeric attribute values. The aim is to find the combination of patterns which is best with respect to an appropriate scoring function. We present an O(N2) time algorithm for finding the optimal pair of substring patterns combined with Boolean functions, where N is the total length of the sequences. The algorithm looks for all possible Boolean combinations of the patterns, e.g., patterns of the form p Λ ¬q, which indicates that the pattern pair Is considered to occur in a given string s, if p occurs in s, AND q does NOT occur in s. An efficient Implementation using suffix arrays is presented, and we further show that the algorithm can be adapted to find the best k-pattern Boolean combination in O(Nk) time. The algorithm is applied to mRNA sequence data sets of moderate size combined with their turnover rates for the purpose of finding regulatory elements that cooperate, complement, or compete with each other in enhancing and/or silencing mRNA decay.

Original languageEnglish
Pages (from-to)159-170
Number of pages12
JournalIEEE/ACM Transactions on Computational Biology and Bioinformatics
Issue number4
Publication statusPublished - Oct 2004

All Science Journal Classification (ASJC) codes

  • Biotechnology
  • Genetics
  • Applied Mathematics


Dive into the research topics of 'An O(N2) algorithm for discovering optimal Boolean pattern pairs'. Together they form a unique fingerprint.

Cite this