Exact biclustering algorithm for the analysis of large gene expression data sets
BMC Bioinformatics volume 13, Article number: A10 (2012)
Biclustering of gene expression data is used to discover groups of genes that are co-expressed over a subset of tested conditions. The objective is to maximize the detection of significant biclusters; to do so, most approaches employ a heuristic approximation in order to avoid a non-polynomial computational complexity.
Previous algorithms have focused on enabling the discovery of biologically relevant results within the scope of single studies, where data size and complexity are limited. New methods and algorithms are required in order to enable applications of biclustering to larger scale data sets that can span multiple experiments and that are potentially far more heterogenous.
The BiMax  algorithm uses a binary representation of the gene expression matrix that has been proven to discover enriched modules of biologically relevant genes in gene expression data. This model of biclustering allows for exact solutions, however, the BiMax algorithm performs best on a restricted size of input data. We can view the biclustering formulation of BiMax as the search for all maximal bicliques in a bipartite graph; where the nodes are genes or experiments and a connection between a gene and an experiment exists if the gene was significantly expressed in that experiment. We propose a new algorithm capable of enumerating all biclusters on such a graph. In order to solve the maximal biclique enumeration problem, we make use of the backtracking Bron-Kerbosch algorithm  for maximal clique enumeration. We have developed and successfully tested a new algorithm, the Bipartite Bron-Kerbosch algorithm, which uses similar principles to Bron-Kerbosch but traverses the bicliques on bipartite graphs. This approach enables the algorithm to explore all maximal bicliques without visiting branches of the search tree that contain previously discovered biclusters.
Our results, see Table 1, conclude that the new algorithm is significantly faster at bicluster exploration than BiMax, demonstrating a factor n improvement in running time (where n is proportional to the input data size). For instance, with input data of 800 genes and 800 experiments, BiMax solved for the over 500 thousand biclusters in just over three minutes whereas the Bipartite Bron-Kerbosch algorithm takes approximately 3 seconds.
Prelic A, Bleuler S, Zimmermann P, Wille A, Buhlmann P, Gruissem W, Hennig L, Thiele L, Zitzler E: A systematic comparison and evaluation of biclustering methods for gene expression data. Bioinformatics 2006, 22(9):1122–1129. 10.1093/bioinformatics/btl060
Bron C, Kerbosch J: Finding All Cliques of an Undirected Graph. Communications of the ACM 1973, 16(9):3.
About this article
Cite this article
Voggenreiter, O., Bleuler, S. & Gruissem, W. Exact biclustering algorithm for the analysis of large gene expression data sets. BMC Bioinformatics 13 (Suppl 18), A10 (2012). https://doi.org/10.1186/1471-2105-13-S18-A10