A novel biclustering algorithm of binary microarray data: BiBinCons and BiBinAlter

The biclustering of microarray data has been the subject of a large research. No one of the existing biclustering algorithms is perfect. The construction of biologically significant groups of biclusters for large microarray data is still a problem that requires a continuous work. Biological validation of biclusters of microarray data is one of the most important open issues. So far, there are no general guidelines in the literature on how to validate biologically extracted biclusters. In this paper, we develop two biclustering algorithms of binary microarray data, adopting the Iterative Row and Column Clustering Combination (IRCCC) approach, called BiBinCons and BiBinAlter. However, the BiBinAlter algorithm is an improvement of BiBinCons. On the other hand, BiBinAlter differs from BiBinCons by the use of the EvalStab and IndHomog evaluation functions in addition to the CroBin one (Bioinformatics 20:1993–2003, 2004). BiBinAlter can extracts biclusters of good quality with better p-values.


Introduction
DNA microarray technology is a revolutionary tool enabling the measurement of expression levels of thousands of genes in a single experiment under diverse experimental conditions. This technology allows us to obtain big raw data that can provide a wealth of information on the concerned genes. It proved to be a valuable tool for many biological and medical applications. Indeed, microarray data analysis is a crucial step for these applications in order to extract pertinent biological knowledge embedded in these large masses of data. However, the extraction process of this knowledge is far from being trivial. From here comes the necessity to adopt data mining techniques. Many of these techniques were applied to these data in order to extract pertinent biological knowledge. Among the techniques that are used, we mention those of clustering [1]. Indeed, by making a clustering, we consider that all the genes of a group can have a similar behavior under all the conditions. However, there are genes that have a similar behavior only under a subset of conditions. Hence, clustering is too simplistic to detect such cases [1]. Another more interesting technique, called biclustering [2], allows to identify groups of genes that have a similar behavior only under a subset of conditions.
In this paper, we develop new biclustering algorithms of microarray data. These data are usually coded by a data matrix M(I, J), where the i th row, i ∈ I = {1, 2, . . . , n}, represents the i th gene, the j th column, j ∈ J = {1, 2, . . . , m}, represents the j th condition and the cell M [ i, j] represents the expression level of the i th gene under the j th condition.
The main objective is then to identify groups of genes that are coherent under groups of conditions, these groups are called biclusters. Genes belonging to the same bicluster have close biological functions. Let's note that, in its general form, the biclustering problem is NP-hard [2].
The rest of this chapter is organized as follow: In the second section, we introduce some preliminaries. In the third section, we present the BiBinCons algorithm. In the fourth section, we present the BiBinAlter algorithm. In the fifth section, we present an illustrative example and an experimental study. Finally, we present the conclusion of this paper.

Preliminaries
As we said in the introduction, the biclustering algorithms that we present in this paper are based on CroBin [1] function for the evaluation of a group of biclusters. So, let's present some preliminaries related to this function. Let I = {1, 2, . . . , n} be a set of indices of n genes, J = {1, 2, . . . , m} be a set of indices of m conditions and M b (I, J) = m b ij , i ∈ I and j ∈ J, be a binary data matrix associated with I and J. The biclustering problem of a binary microarray data can be formulated as a minimization of the criterion W (z, w, a): where z = {z, z 2 , . . . , z g } is the matrix defined as a partition of I into g clusters, i.e. z i is the cluster number of the i th row of M b (I, J). w = {w 1 , w 2 , . . . , w h } is the matrix defined as a partition of J into h clusters, i.e. w i is the cluster number of the j th column of M b (I, J)..whe a = (a kl ) is a summary matrix of M b (I, J), it is a binary g × h matrix where k (resp. l) is the number of clusters on rows (resp. columns) and a kl is defined by the m ij 's satisfaying the following condition: where z ik = 1 if the i th row of M b (I, J) belongs to the k th cluster of I otherwise z ik = 0. w jl = 1 if the j th column of M b (I, J) belongs to the l th cluster of J otherwise w jl = 0.
By using Eq. (2.2), Eq. (2.1) can be reformulated as follows: By adopting the IRCCC approach, we can make biclustering by minimizing W (z, w, a) defined by Eq. (2.3) and by fixing either w or z: • If w is fixed, the minimization is given by: • If z is fixed, the minimization is given by:

Remark.
A colored block in the binary matrix M b (I, J) will be represented by a colored cell in the summary matrix A, where each colored cell contains the majority binary value in the corresponding colored block, e.g, if the majority of cells in a block in M b (I, J) contains 1 then the corresponding cell in A contains also 1.

FIRST IRCCC Algorithm: BiBinCons
Our biclustering algorithm, BiBinCons receives as input a binary matrix M b (I, J) and gives as output (z opt , w opt , A opt ), where z opt and w opt are respectively the final clustering of rows and columns of M b (I, J), and A opt is the summary matrix related to z opt and w opt . To describe more formally our biclustering algorithm, BiBinCons, we use the following notations:

Second IRCCC Algorithm: BiBinAlter
Our biclustering algorithm, BiBinAlter receives as input a binary matrix M b (I, J) and gives as output (z opt , w opt , A opt ), where z opt and w opt are respectively the final clustering of rows and columns of M b (I, J), and A opt is the summary matrix related to z opt and w opt . By adopting BiBinAlter, we propose the use of functions defined: EvalStab c represents the frequency of 0's in the current group of biclusters at the c th iteration. It is defined as follows: IndHomog c represents the tradeoff between the number of mixed biclusters (containing both 0's and 1's) and the total number of biclusters at the c th iteration. It is defined as follows: To describe more formally our biclustering algorithm, iBinAlter, we have used the same notations like previous algorithm besides of these notations: EvalStab c , IndHomog c : couple to present the frequency of 0's in the current group of biclusters at the c th iteration and the tradeoff between the number of mixed biclusters (containing both 0's and 1's) and the total number of biclusters at the c th iteration.
EvalStab c−1 , IndHomog c−1 : couple to present the frequency of 0's in the group of biclusters at the (c − 1) th iteration and the tradeoff between the number of mixed biclusters (containing both 0's and 1's) and the total number of biclusters at the (c − 1) th iteration.
EvalStab (c−1) , IndHomog (c−1) : couple to present the frequency of 0's in the group of biclusters at the intermidate (c − 1) th iteration and the tradeoff between the number of mixed biclusters (containing both 0's and 1's) and the total number of biclusters at the intermidate (c − 1) th iteration.

Illustrative example
Let's apply the BiBinAlter algorithm on the following binary matrix M b (I, J): First, we initialize the rows and columns thanks to the initialization step of BiMax algorithm Prelić [3] and we compute (z 0 , w 0 , A 0 ), we obtain: A colored block in the binary matrix M b (I, J) will be represented by a colored cell in the summary matrix A 0 , where each colored cell contains the majority binary value in the corresponding colored block, e.g, if the majority of cells in a block in M b (I, J) contains 1 then the corresponding cell in A 0 contains also 1.

Results for synthetic datasets
In this section, we present an experimental study to evaluate the performance of our algorithms of microarray data. Indeed, we compare the results of our algorithms to those obtained by a selection of known algorithms cited in the literature. We conducted experiments on synthetic and real datasets of microarrays. The idea behind testing on synthetic datasets is to investigate the ability of our algorithms to extract different types of biclusters. However, on real datasets, we seek to assess the degree of response of our algorithms for statistical and biological criteria.
Similar to [4], we use two indices, Recovery and Relevance, to evaluate our biclustering algorithms: Let B 1 be a group of true implemented biclusters in a binary data matrix M b and B 2 be a group of output biclusters of a biclustering algorithm, Relevance reflects to what extent B 2 is similar to B 1 , while Recovery quantifies how well each bicluster in B 1 is recovered by B 2 [3]: where: We use also two other indices cited in [2], where S cb is the volume of correctly extracted biclusters, Tot size is the total volume of implemented biclusters and S NCB is the volume of not correctly extracted biclusters.
The Shared index (resp. NotShared) represents the percentage of correctly (resp. not correctly) extracted biclusters with respect to all implemented biclusters in the data matrix. Indeed, when the Shared value is equal to 100 %, the algorithm extracts all the implemented biclusters. When the value of NotShared is 0 %, the algorithm extracts no cell outside the implemented biclusters.

Experimental protocol
We have compared our algorithms to CC Cheng and Wee-Chung [2], OPSM Ben-Dor and Yakhini [5], ISA Ihmels et al. [4] and BiMax Kaiser and Leisch [6]. These algorithms were implemented in the BIClustering Analysis Toolbox (Bicat) platform. After several simulations, the parameters of our algorithms were set as listed in Table 1. Indeed, at each simulation, we set a parameter and we vary the other and vice inverse. Finally, we keep the parameters which give the nearest implemented biclusters in the starting template. For CC, OPSM, ISA and BiMax algorithms, we keep the value of the default parameters values. Indeed, these values give biclusters of reasonable quality. We have adopted Shared, NotShared, Recovery and Relevance as comparaison criteria. Table 2 shows the best biclusters extracted by each algorithm: As we can notice in Table 2, for the generated binary matrices, the best values of Shared and NotShared for non overlapping biclusters were obtained by the BiBinAlter algorithm. Indeed, to get a solution B opt , the combination between two biclusters provides additional volume for the conditions. This reasonnable additional volume is generated by a successive comparaisons between P max and the other polynoms of L, and we locate the polynom P uncomon that has the lowest number ρ of uncommon terms with P max . In fact, the interesting resulat is obtained because of we keep only the conditions that have not been removed by the pretreatment process. Besides, the extracted bicluster from the current matrix M b (I, J) is removed ans we set the cells of M b (I, J), representing the new bicluster, to 0. Table 3 shows the best biclusters extracted by each algorithm. As we can notice in Table 3, for the generated binary matrices, the best values of Shared and NotShared for overlapping biclusters were also obtained by the BiBinAlter algorithm. We can explain this as follows: BiBinAlter results covers most of the implemented biclusters. Table 4 presents the number of biclusters obtained bu our algorithms on real datastes.

Results of our algorithms on real datasets
In this section, we evaluate our algorithms on real microarray datasets.  RefineBicluster 708 1700

Real microarray datasets
We have used two real microarray datasets: The Yeast cell cycle dataset which has been described and then pretreated in [1]. It contains the expression of 2884 genes in 17 terms ans the Human B-cell Lymphoma dataset which has been described by Alizadeh et al. [1], it contains 4026 genes and 96 conditions. These datasets are used frequently in the literature by biclustering algorithms.

Experimental protocol
The first experiments concern the statistical validation. It enables to calculate the coverage for Yeast cell cycle and Human B-cell Lymphoma datasets and the p-value adjusted forHuman B-cell Lymphoma datasets. The second experiments was applied to Yeast cell cycle in order to study the biological significance of extracted biclusters.

Statistical validation
In order to validate statistically our algorithms on these real datasets, we evaluate the performance of BiBinCons and BibinAlter. We calculate the total number of cells covered by the biclusters. To do this, we have processed as in [2], and we have compared the results of our algorithms to those reported in [2]. In the literature, the coverage test was performed on Yeast cell cycle and Human B-cell Lymphoma datasets. This test is not applied to RefineBicluster algorithm because it is only a refinement algorithm. Table 5 reports the percentage of Coverage on the different algorithms for Yeast cell cycle and Human B-cell Lymphoma datasets. We note that most algorithms have more or less close rates. For example, for the Yeast cell cycle datase, BiBinCons has the lowest performance. This is explained by the fact that BiBinCons extracts thousands of small sized biclusters. The CC algorithm extracts biclusters with random values. Thus, CC prohibits the genes/conditions already discovered to be selected in the next search process. This type of mask leads to a high coverage and preventing the discovery of large biclusters.

Biological validation
To evaluate biologically extracted biclusters, we use the web tool GOTermFinder. To do this, we present the most significant shared biclusters. In this section, we evaluate   BiBinCons and BiBinAlter algorithms on real microarray datasets. We have choosen this algorithm because it gaves the best results on synthetic datasets. Table 6 presents the most important terms of GO for the two most significant extracted biclusters from Yeast cell cycle dataset by BiBinCons and BiBinAlter. Table 7 shows the computing time of BiBinCons and BiBinAlter algorithms. All developed algorithms in this thesis were implemented in R under the R studio. The physical characteristics of the machine are as follows: a PC with an Intel Core 2 Duo T6400 with a clock frequency of 2.0 GHz and 3.5 GO of RAM. We note that BiBinAlter algorithm is the most time consuming and this is due to the use of proposed evaluation function.

Conclusion
In this paper, we have developed two biclustering algorithms of binary microarray data, called BiBinCons and BiBinAlter, adopting the Iterative Row and Column Clustering Combination (IRCCC) approach, however, the BiBinAlter algorithm is an improvement of BiBinCons. On the other hand, BiBinAlter differs from BiBinCons by the use of the EvalStab and IndHomog evaluation functions in addition to the CroBin one [1].
BiBinAlter can extract biclusters of good quality with better p-values. In this paper, we have presented an experimental study of our biclustering algorithms of microarray data.
We have compared the results of our algorithms to those obtained by a selection of the known biclustering algorithms. We have conducted experiments on both synthetic and real datasets of microarrays. For both synthetic and real datasets, our biclustering algorithm BiBinAlter outperforms the other algorithms, followed by our other biclustering algorithms nd BiBinCons.