BMC Genomics 2008, 9(Suppl 2):S20 http://www.biomedcentral.com/1471-2164/9/S2/S20 expression profiles [1]. Sample profiles too, such as cell or disease types, often exhibit characteristic expression pro- files [2]. From a data modelling perspective, a sample or gene profile may be thought of as a 'data object' with the gene or sample name representing the object's descriptor variable or label and the corresponding expression values representing the object's predictor variables or features. This raises the prospect of characterising and classifying genes or samples based on their expression profiles. In the case of experimental samples, such analysis is most often performed in relation to cell types e.g. the molecular char- acterisation of clinically similar cancer subtypes [2-4]. In this paper, however, we will focus on the functional clas- sification of unannotated genes via their corresponding expression levels. Hereafter unannotated gene profiles will be referred to as 'open reading frame' (ORFs), rather than genes, as a functional protein product has yet to be verified. Several modes of analysis may be applied to gene expres- sion data depending on objectives of the study in ques- tion. Statistical methods such as differential analysis of gene expression over samples may be used to identify genes that show significantly different expression across sample classes. This can lead to the ab initio elucidation of gene function as well as the identification of key 'marker' genes whose expression are tightly correlated with sample classes [5]. Should sample or gene class labels be availa- ble, supervised machine learning methods may be applied to 'learn' the characteristic expression patterns of a class. Techniques such as k-nearest neighbour (kNN) and sup- port vector machines (SVMs) have been applied success- fully to classify both unlabelled genes and samples [6-8]. When class labels are unavailable, or perhaps debatable, unsupervised methods may be applied to attempt to model the class structure by analysing inter-object similarities with reference to features alone. Cluster analysis has been the most prevalent unsupervised method within the domain of expression data analysis and has been applied to model both sample and gene classes [1,9,10]. This tech- nique typically separates the data into k disjoint groups of objects that have high similarity within groups and low similarity between groups. Expression similarity is best computed via a correlation based distance measure, such as Pearson's Correlation, rather than an absolute measure such as Euclidean distance, as such functionally related genes may be expressed at different absolute levels. In gene expression data analysis, genes exhibiting similar expression patterns may be co-regulated to perform a common function in vivo. Cluster analysis of genes there- fore attempts to model the gene functional modules that exist within the expression data. Conventional cluster analysis of genes computes expres- sion similarity across the full set of sample features. How- ever, as datasets increase in size it becomes increasingly unlikely, due to noise and measurement error that even functionally related genes will retain expression similarity over all experimental samples. Furthermore, some experi- mental samples may simply be irrelevant with regard to stimulating co-regulation within a gene functional mod- ule. As a result, measuring gene expression similarity exclusively over all samples has the potential to miss sig- nificant 'local' signals that may only be apparent over sub- sets of experimental samples. To address this drawback, the 'two-way' clustering tech- nique of bicluster analysis was proposed [11]. In this domain, biclustering involves grouping genes whose expression may correlate over a subset of experimental samples only. Apart from guarding against the prospect of missing significant local signals within the data, bicluster- ing allows data objects to belong to more than one group- ing, or to none at all. This aspect is also beneficial as a gene may belong to two or more functional modules expressed over different subsets of experimental condi- tions. The question of how to best evaluate the class model retrieved by bicluster analysis is an important considera- tion. In some cases biclustering methods have been eval- uated in terms of internal data-derived criteria alone [12- 14]. Such evaluations however lack validation within the domain context. When applying unsupervised methods to gene expression data analysis any complete evaluation must include an assessment of the biological meaning of proposed classes. Generally, in expression data there are at least some gene labels available. As a result, bicluster anal- ysis may be partially assessed in terms of 'functional enrichment' [15]. Functional enrichment is akin to the supervised machine learning term of precision, except of course we must decide upon our 'correct' label. The func- tional enrichment, E, of a bicluster may be given by E = M/ N, where M is number of genes from the predominant functional category and N is the total number of genes in the bicluster. This simple metric may be extended to account for the distribution of the dominant class in the population by calculation of a p-value from the hypergeo- metric distribution (or in large populations its binomial approximation). However, in some cases, i.e. when the bicluster is large or it captures part of a relatively small class, a bicluster may have a seemingly significant p-value but a low, and uninformative, functional enrichment. As a result bicluster quality should be assessed using both measures. Until now, the principal goal of bicluster analysis has been to reveal the natural underlying class structure (gene Page 2 of 15 (page number not for citation purposes)