Detecting overlapping protein complexes based on a generative model with functional and topological properties

Background Identification of protein complexes can help us get a better understanding of cellular mechanism. With the increasing availability of large-scale protein-protein interaction (PPI) data, numerous computational approaches have been proposed to detect complexes from the PPI networks. However, most of the current approaches do not consider overlaps among complexes or functional annotation information of individual proteins. Therefore, they might not be able to reflect the biological reality faithfully or make full use of the available domain-specific knowledge. Results In this paper, we develop a Generative Model with Functional and Topological Properties (GMFTP) to describe the generative processes of the PPI network and the functional profile. The model provides a working mechanism for capturing the interaction structures and the functional patterns of proteins. By combining the functional and topological properties, we formulate the problem of identifying protein complexes as that of detecting a group of proteins which frequently interact with each other in the PPI network and have similar annotation patterns in the functional profile. Using the idea of link communities, our method naturally deals with overlaps among complexes. The benefits brought by the functional properties are demonstrated by real data analysis. The results evaluated using four criteria with respect to two gold standards show that GMFTP has a competitive performance over the state-of-the-art approaches. The effectiveness of detecting overlapping complexes is also demonstrated by analyzing the topological and functional features of multi- and mono-group proteins. Conclusions Based on the results obtained in this study, GMFTP presents to be a powerful approach for the identification of overlapping protein complexes using both the PPI network and the functional profile. The software can be downloaded from http://mail.sysu.edu.cn/home/stsddq@mail.sysu.edu.cn/dai/others/GMFTP.zip.


Background
Detecting protein complexes, which is crucial for elucidating the structural and functional architecture of cells, has attracted a lot of attention in recent years. Well-known experimental methods such as tandem affinity purification with mass spectrometry [1] and protein-fragment complementation assay [2], even though they are effective, have low efficiency, low coverage, and are biased [3].
Due to the development of high-throughput techniques, a large number of physical protein-protein interactions *Correspondence: stsddq@mail.sysu.edu.cn 2 Intelligent Data Center and Department of Mathematics, Sun Yat-Sen University, Xingang Road West, 510275 Guangzhou, China Full list of author information is available at the end of the article (PPI) have been generated and accumulated, which paves the way for establishing or reconstructing the PPI networks [4,5]. Two proteins interacting with each other in such network probably provide an evidence that they belong to a common protein complex. This intuition inspires us to split the whole network into groups, which have more links within each group and fewer links between different groups, to reveal its intrinsic structure and global organization in terms of protein complexes. Recently, numerous computational approaches relying on different strategies (e.g., graph clustering [6], community detection [7,8]) have been proposed to detect complexes from the PPI network [3,[9][10][11][12][13][14][15][16]. However, those methods http://www.biomedcentral.com/1471-2105/ 15/186 have their own shortcomings inevitably, since they only use the network topology.
Proteins are often involved in more than one complex to serve different functions [17,18]; for example, there are five proteins (diamond nodes in Figure 1(a)) shared by the SAGA complex and the transcription factor TFIID complex according to the PPI data published in [4] and the CYC2008 benchmark [19]. However, traditional network clustering algorithms do not consider overlaps among complexes since each protein in the PPI network is assigned to only one complex. Therefore they are not able to fully reveal the biological reality. Furthermore, the PPI data produced by experimental bio-technology have a high level of noise and are incomplete [20,21]. The complexes predicted by a clustering algorithm based only on the PPI data may be limited in accuracy. For Figure 1 An example which illustrates the biological motivation. This is an interaction map of SAGA complex, transcription factor TFIID complex (CYC2008 benchmark) and the complexes detected by our model that match with them on Gavin network. Proteins are labeled according to the complex(es) to which they belong: rectangle represents SAGA complex; circle represents transcription factor TFIID complex; diamond represents proteins shared by the two complexes; octagon represents proteins with other functions; and hexagon represents GO terms. Shaded areas represent complexes detected by our model (a) using solely the PPI network and (b) using both the PPI network and the total GO annotation. http://www.biomedcentral.com/1471-2105/15/186 example, a complex detection approach may neglect protein YPL129W which is a member of the transcription factor TFIID complex due to the fewer interactions with the core members, and it may incorrectly cluster protein YML007W into the SAGA complex owing to the seven interactions (Figure 1(a)). Intuitively, proteins serving similar functions are more likely to belong to the same complex(es) than those serving different functions (Figure 1(b)). We wonder whether the functional annotations can work together with the PPI data to improve the quality of detected complexes; for example, to filter out functional heterogeneity protein YML007W and to retrieve functional homogeneity protein YPL129W.
In order to reduce the negative effect brought by the spurious interactions, several researchers have tried to incorporate functional information into complex detection process. These approaches can be mainly classified into two categories, preprocess-based [22][23][24][25] and postprocess-based [26,27]. The main idea of the former category is to design a functional semantic similarity measure to weight the strengths of protein-protein interactions, and then use a graph clustering algorithm to detect complexes from the weighted PPI network. They require the clustering algorithms to be able to handle weighted networks. However, there are only a few network clustering algorithms that can handle weights and overlaps simultaneously [17,[28][29][30][31][32]. Furthermore, their performances depend on how the semantic measure is defined to assign the weights, which itself has many open problems [33]. The postprocess-based approaches use some metrics to quantify the functional homogeneity of complex candidates detected by graph clustering algorithms, and then discard candidates with low reliability. They do not make full use of the available functional annotations since such information are excluded during the complex candidate detection process. Recently, Zhang et al. map the topological and functional features into a unified distance measure by constructing an ontology augmented network, while they do not pay attention to the overlap problem [34].
As an alternative, we couple the functional profile with the network topology to detect overlapping protein complexes. To this end, we resort to probabilistic models which have been applied to analyze PPI networks [20,21,[35][36][37]. Unlike previous models that account only for the generative process of the PPI network, we develop a new Generative Model with Functional and Topological Properties (GMFTP), which is dominated by two latent variables. One is introduced to represent the degree of proteins belonging to complex(es). By the idea of link communities [38,39], we generate a complex type-related interaction between two proteins if they tend to belong to the same complex(es). It gives rise to overlaps in a natural way that a protein belongs to multiple complexes if it has more than one type of interactions. The other one is used to represent the preferences of functions with which proteins in a complex associate. We generate an association between a protein and a function using these two model parameters. According to the introduced model, a complex is assumed to be a group of proteins which frequently interact with each other and have similar functional patterns. For a given PPI network and functional profile, we then transform the complex detection problem into a parameter estimation problem. We investigate the performance of our model using six yeast PPI networks and four categories of functional profiles. Experiment results show that the functional properties are able to improve the performance. Comparative experiments further demonstrate that our model not only has a better performance than the state-of-the-art approaches but also is capable of identifying proteins in multiple complexes.

A generative model with functional and topological properties
Before introducing our model, we introduce some notations first. We consider the functional and topological properties of N proteins. Each protein i has an annotation profile of fixed length C, where F ic = 1 if protein i is associated with function c, F ic = 0 otherwise, and C is the total number of functions considered. For convenience, we denote F = [ F 1 , . . . , F N ] T = [ F ic ] ∈ {0, 1} N×C as the functional profiles for all proteins. The PPI network is represented as an adjacency matrix A = [ A ij ] ∈ {0, 1} N×N , where A ij = 1 if proteins i and j are connected, A ij = 0 otherwise. We assume that there are K complexes. In the typical model-based clustering setting, the value of K is initially unknown and needs to be predetermined. Here we assume that the value is given first and address how to set it at the end of this section.
GMFTP generates both the annotation F ic and the interaction A ij as follows. In a similar manner to that of [37,39], a non-negative parameter θ ik is introduced to represent the affinity of protein i belonging to complex k. A higher affinity score θ ik means that protein i is more likely to belong to complex k, and vice versa. Note that a protein may obtain high affinity scores on multiple complexes, thus our model supports overlaps. Since proteins within the same complex(es) are always associated with same functions [40], for a given complex k, we introduce a non-negative parameter ψ kc to represent the propensity that proteins in complex k are associated with function c. A higher score ψ kc means that proteins in complex k are more likely to be associated with function c, and vice versa. In effect, ψ kc represents the preferences of functions with which proteins in complex k are associated. We denote = [ θ ik ] as the protein-complex affinity http://www.biomedcentral.com/1471-2105/15/186 matrix and = [ ψ kc ] as the complex-function preference matrix.
By the definitions of θ ik and ψ kc , if protein i obtains higher affinity score θ ik and complex k obtains higher preference score ψ kc , protein i is more likely to be associated with function c, and vice versa. Then θ ik ψ kc can be assumed as the likelihood that protein i is associated with function c in terms of complex k. Taking into account all the K complexes, we can assume K k=1 θ ik ψ kc to be the total likelihood that protein i is associated with function c. Then the association F ic between protein i and function c is independently generated by a Bernoulli distribution with success rate σ is a function which maps the input argument from [ 0, +∞) to [ 0, 1), ensuring that the result is a valid probability.
A protein complex in the PPI network is usually assumed to be a cohesively connected subnetwork which has many interactions within itself [41], hence two proteins which belong to the same complex(es) are likely to interact with each other. If two proteins i and j obtain high affinity scores θ ik and θ jk , they would be connected in complex k. We therefore assume that θ ik θ jk is the likelihood that proteins i and j are connected in terms of complex k, and that K k=1 θ ik θ jk is the total likelihood that they interact in terms of all the K complexes. Then the interaction A ij between them is independently generated by a Bernoulli distribution with success probability σ K k=1 θ ik θ jk . Here we use function σ (x) to map the likelihood to the probability.
It is well known that a protein usually belongs to one or several complexes; and a protein complex tends to be responsible for (or be significantly enriched with) a given set of biological functions. This means and are sparse essentially. To model the sparsity property, we place an independent exponential distribution prior over each element θ ik and ψ kc with rate parameter λ, which is similar to the sparsity promoting prior in non-negative sparse coding [42,43]. The sparse restriction may lead all elements in some columns of and rows of to 0 simultaneously, and hence the corresponding irrelevant complexes will disappear automatically.
For a better understanding of our model, we illustrate the connection between the variables we use and the biology terms in Figure 2. Given hyperparameter λ, N proteins and C functional terms, the generative process of the functional profile and the PPI network with K complexes can be summarized as follows: • For each protein i and complex k, draw protein-complex affinity score θ ik ∼ Exp (λ) with probability: • For each complex k and function c, draw complex-function preference score ψ kc ∼ Exp (λ) with probability: • For each protein i and function c, sample their

Figure 2
A graphical representation of the connection between the variables we use and the biology terms. Circle nodes represent proteins; triangle nodes represent complexes; hexagon nodes represent functions. We first introduce a model that generates protein-protein interaction A ij and protein-function association F ic based on model parameters θ ik and ψ kc . For an observed PPI network and functional profile, we estimate the values of θ ik and ψ kc . Finally, we predict protein complexes using the estimator of θ ik . http://www.biomedcentral.com/1471-2105/15/186 with probability: • For each pair of proteins i and j (i < j), sample their

Model formulation
In previous section, we have introduced a generative process of the functional profile and the PPI network. Each run of this process generates a sample of the proteincomplex affinity parameter , complex-function preference parameter , functional profile F and PPI network A. Given the hyperparameter λ, we can decompose the joint probability distribution over F, A, , using the dependent relationships stated in the previous definition and encoded in Figure S1 (in Additional file 1) as follows: where and P(θ ik |λ), P (ψ kc |λ), P(F ic | , ), P(A ij | ) are defined in Equations (1)-(4), respectively. Considering the case that the functional profiles of some proteins are not available, we introduce S i to represent whether functional profile of protein i is generated, where S i = 1 means the functional profile is generated, and S i = 0 otherwise. When the functional profile F and PPI network A are observed, we aim to find model parameters and so that they maximize the likelihood P(F, A, , |λ). By substituting Equations (1)-(4) into Equation (5), taking the negative logarithm and dropping constants, we formulate the objective function of GMFTP as follows: where ≥ 0 and ≥ 0 mean each element θ ik ≥ 0 and ψ kc ≥ 0.

Parameter estimation
To solve the nonnegative constrained optimization problem, we use the multiplicative updating rules, which have a good compromise between speed and ease of implementation, to alternately update the model parameters and [44]. We obtain the following two updating formulae for and , respectively: and Due to the limitation in space, we describe the details of the two updating formulae in Additional file 1.
Once and are initialized, we update them according to Equations (11) and (12) alternately until a stopping criterion has been satisfied. Since the objective function in Equation (10) is not convex, the final estimators of and depend on their initial values. To mitigate the risk of local minimization to some extend, we repeat the entire updating procedure 100 times with random restarts and choose the result that gives the lowest value of the objective function as the final estimator. In our implementation, the iteration process is conducted until the relative change in objective value is less than 10 −6 . To avoid the case that this process converges too slowly and requires excessive computing time, we also stop it if the number of iterations reaches 400. http://www.biomedcentral.com/1471-2105/15/186

Protein complex detection
After estimating and , we still need to determine whether protein i belongs to complex k according toθ ik . To this end, the rows ofˆ are normalized first such that K k=1θ ik = 1. In effect,θ ik now represents the fraction by which protein i belongs to complex k. For a protein i, ifθ ik = 0 (or < 10 −16 ) over all k before normalizing, we setθ ik = 0 during the normalization process. We then ignore the membership of protein i in complex k ifθ ik is below a given threshold τ ; otherwise, we regard protein i as belonging to complex k: Here = [ θ ik ] is the protein-complex membership indication matrix in which θ ik = 1 represents protein i is in the detected complex k and θ ik = 0 represents protein i is not in complex k. We set τ = 0.2 experimentally such that a protein can not belong to more than 5 predicted complexes in our algorithm. Due to local minimization, a detected complex candidate may be composed of several isolated subnetworks. In this case, each connected subnetwork is regarded as a complex. We discard detected complexes which include less than three proteins.
One issue in detecting complexes using GMFTP is to determine the number of complexes, K. That is because we usually do not have any prior knowledge about the number of complexes in real-world situations. Fortunately, we have used an exponential distribution prior over each element θ ik and ψ kc , which makes the estimatorsˆ andˆ to be sparse and filters out the redundant complexes. Therefore, we can fit our model with a larger value of K as it is able to determine the number of complexes adaptively. In practice, a large number of proteins remain functionally uncharacterized. In order to prevent the negative impact of these unannotated proteins, we set S i = 0 if the functional profile of protein i is not available, and S i = 1 otherwise. The procedure of identifying protein complexes using GMFTP is illustrated in Figure 3.

Data sets and evaluation methods
Two experimental yeast PPI data sets [4,5], a combined computational interaction map [45], the yeast interactions derived from DIP ( [46]) and the ones derived from BioGRID [47] are used to test the performance. We refer to them as Gavin, Krogan, Collins, DIP and BioGRID data sets. The Krogan data set is used as two variants: the core data set (referred to as Krogan core) and the extended data set (referred to as Krogan extended). The Collins, Gavin, Krogan core and Krogan extended data sets include edge weights. We derive two variants of these four networks: weighted version which includes the weights and unweighted version which ignores the weights. As DIP  (version April 6, 2013) and BioGRID (version 3.1.77) provide weights for only a low proportion of the interactions, we treat them as unweighted, following the method in [17]. The Gene Ontology (April 6, 2013) is used as the data source of functional properties [48]. Four categories of functional profiles (BP, CC, MF and total) are derived from the annotations of the three individual subontologies (biological process, cellular component, and molecular function) and the comprehensive annotation which concatenates that of all the three subontologies. The gold standards of yeast protein complexes are derived from CYC2008 [19] and SGD [49]. For details, see Additional file 1.
We use four independent quality criteria, accuracy (ACC) [3], fraction of matched complexes (FRAC), maximum matching ratio (MMR) [17] and precision-recall score (PR) [40], to evaluate the detected complexes. The four metrics have complementary strengths since they evaluate the performance from different perspectives. Due to the fact that the gold standard complexes are incomplete, we also test the functional homogeneity of predicted complexes in a similar way to [17] (Additional file 1).

Effect of parameters
GMFTP includes two parameters which need to be tuned: K and λ. As discussed above, we can use a value of K that is higher than the real number by introducing a sparse prior. We therefore set K = 1000 for all the six data sets. Next, we focus on examining the influence of λ which is the hyperparameter of prior distribution. We run GMFTP with various values of λ (λ ∈ {2 −3 , 2 −2 , . . . , 2 6 }) and evaluate the quality of predicted complexes by matching them with the reference complexes.
For each PPI network and each category of functional profile, the ACC and PR scores are used to test whether λ has an effect on the performance. Overall, GMFTP obtains competitive ACC scores when λ ∈ [ 2 −3 , 2 3 ] and optimal PR scores when λ ∈ [ 2 2 , 2 4 ] for both the two gold standards (Figures S2-S7 in Additional file 1). We also test how the parameter affects the number of predicted complexes and covered proteins. The number of predicted complexes and the number of proteins clustered into corresponding complexes decrease with increasing λ (Figures S2-S7 in Additional file 1), which shows that λ is able to control the sparsity of our model. An example which illustrates how λ influences the number of detected complexes via merging small complexes into larger ones is shown in Figure S8 (in Additional file 1). Overall, we find that GMFTP has a competitive performance when λ = 4 and other optimized values may improve further the performance in some cases. To avoid evaluation bias and overestimation of the performance, we do not tune the parameter to a particular dataset and set λ to 4 as the default value in the following experiments.

Effect of functional property
To investigate the benefit brought by incorporating functional information into complex detection process, we compare the complexes predicted by GMFTP using only the PPI network to those using both the PPI network and the four categories of functional profiles. For the case of using only the PPI network, we set S i = 0 for all proteins and F as a zero matrix with size N ×K. For brevity, we refer to the five cases as PPI only, PPI+BP, PPI+CC, PPI+MF and PPI+total, respectively.
For each case, the detected complexes are evaluated using the ACC, FRAC, MMR and PR scores with respect to the CYC2008 and SGD complexes (Figure 4, Figure  S9 in Additional file 1). The PPI network combined with all the four categories of functional profiles works better than the PPI network alone, which shows that incorporating functional property into GMFTP is always able to improve the quality of detected complexes. In general, the results of CC property outperform those of BP and MF properties. This is partly because the functional profile of CC subontology may actually give some hints as to what complex(es) a protein may belong to. The BP functional profile usually performs a little better than the MF functional profile. This may in part be due to the richer annotations in the BP subontology. We also observe that the total functional profile generally performs better than the other three individual functional profiles except several results using the SGD gold standard. This demonstrates that the GO annotations of the three orthogonal subontologies have complimentary strength in capturing functional homogeneity of complexes, and that merging them is able to improve the performance.
To understand how the functional properties help to improve the performance, let us go back to the example illustrated in Figure 1. Protein YML007W does not participate in SAGA complex but interacts with a total of seven proteins in this complex. GMFTP using only the topological property incorrectly clusters it into this complex (Figure 1(a)). Due to the fewer interactions with the core members of transcription factor TFIID complex, protein YPL129W is neglected when using only the PPI network. From Figure 1(b), we can find that protein YML007W does not associate with functions which are frequently associated with the members of SAGA complex (e.g., GO:0003712 and GO:0016573), thus it is filtered out when the functional information is taken into account. Since protein YPL129W shares common functions (e.g., GO:0001075 and GO:0051123) with the members of transcription factor TFIID complex, it is correctly grouped into this complex. Since protein YER164W neither interacts nor has many similar functions with the http://www.biomedcentral.com/1471-2105/15/186 other members of SAGA complex, it cannot be recovered by our model correctly.

Comparison with previous approaches using only topological property
Since most previous approaches detect complexes based solely on the PPI network, we concentrate on testing the effectiveness of GMFTP using only the topological property first. We compare it to a representative set of approaches: AP [11], CFinder [50], ClusterONE [17], Linkcomm [38], MCL [9], MCODE [10], MINE [51], SPICi [12] and SR-MCL [32]. For the four algorithms (AP, ClusterONE, MCL and SPICi) which can handle weights, we implement them on both the weighted and the unweighted versions of the four networks (Collins, Gavin, Krogan core and Krogan extended) which include edge weights. For each algorithm, except ClusterONE, Linkcomm and SR-MCL for which we use the default parameters as suggested by the authors, the parameters are deliberately selected in a similar way to [17]. The details are listed in Additional file 1. For all compared approaches, like GMFTP, we exclude complex candidates with size less than three. For GMFTP, we set F as a zero matrix and S i = 0 for all proteins in this experiment. We do not tune the parameters of GMFTP and set K = 1000, λ = 4 for all datasets. Table 1 shows the overall comparative results on the unweighted networks using the CYC2008 gold standard. We find the relative performances of these approaches change according to the topological properties of the networks under consideration and the evaluation metrics we use. CFinder and MCODE tend to identify fewer complexes; Linkcomm and SR-MCL detect more complexes. The other six methods usually perform as a compromise between the two extreme cases. When we only consider how well the gold standards are recovered by the predicted complexes (quantified using FRAC and MMR), Linkcomm and SR-MCL achieves better performance than the other methods partially because they detect more complexes. When we pay attention not only to how well the reference sets are recovered by the predicted complexes but to how well the predicted complexes match http://www.biomedcentral.com/1471-2105/15/186  to the reference sets (quantified using ACC and PR), GMFTP outperforms the previous nine approaches with a few exceptions. Furthermore, GMFTP also gets competitive FRAC and MMR scores except the two extreme cases (Linkcomm and SR-MCL). Similar results are also observed using the SGD reference complexes (Additional file 2). When we implement ClusterONE on the weighted version of the four networks (Collins, Gavin, Krogan core and Krogan extended), it gets higher FRAC, MMR and ACC scores than GMFTP in some cases (Additional file 2). Due to the competitive performance of GMFTP on the unweighted versions, we may therefore conjecture that the better performance of ClusterONE using weights comes from the ability to take weights into account, and the competitive performance of GMFTP on the unweighted networks may be due to a fundamentally different underlying algorithm. We also compare the functional homogeneity of predicted complexes through calculating the enrichment of Gene Ontology functions. Since Linkcomm and SR-MCL get better FRAC and MMR scores than GMFTP, we focus on comparing GMFTP with them. Table 2 lists the number (and percentage) of the identified complexes whose P-values falls within P-values < E-15, [E-15, E-10], [E-10, E-5], [E-5, 1]. Note that here the P-value of each identified complex is calculated using the total GO functions of all the three subontologies (BP, CC and MF), and the results of each subontology are listed in Additional file 3. There are more complexes detected by GMFTP than by the other two methods with P-value less than E-15, E-10, or E-5 in terms of percentage. This indicates that even though Linkcomm and SR-MCL detect more complexes such that they can recall the reference complexes well, they also detect more complexes which are less functional significant. In summary, Linkcomm and SR-MCL have more competitive recall ratio; but GMFTP has a good compromise between recall and precision.

Comparison with previous approaches using both functional and topological properties
To evaluate the advantage of GMFTP in incorporating functional annotation into complex detection process, we compare its results with those of other approaches which also take functional property into consideration. A popular framework on this topic can be divided into two steps: to weight the strengths of interactions using some semantic similarity measures, and then to detect complexes from the weighted PPI networks using some graph clustering algorithms [22][23][24][25]. The main difference between them lies in the different similarity measures and clustering algorithms they use. Since there is no public software available for these approaches, we design a heuristic comparison. We employ three widely used measures Jiang ([52], Kappa [53] and Lin [54]) to weight the PPI network and apply four algorithms (AP, Clus-terONE, MCL and SPICi) which can handle weights to detect complexes. The package csbl.go [55] is used to calculate the similarities between proteins, and the weights of interactions which involve unannotated proteins are set to 1. The parameter settings of the clustering algorithms are presented in Additional file 1. We also compare GMFTP to COAN [34] which considers GO slim annotations by constructing an ontology augmented network. http://www.biomedcentral.com/1471-2105/15/186  Table 3 presents the comparative performance with ClusterONE using the total GO annotation with respect to the CYC2008 reference. The results of the three individual subontologies (BP, CC and MF), the other four clustering algorithms (AP, COAN, MCL and SPICi) and the SGD gold standard are reported in Additional file 2. For each clustering algorithm (AP, ClusterONE, MCL and SPICi), the performance differs a little with different GO similarity measures; and for each semantic measure (Jiang, Kappa and Lin), the relative performance changes depending on the clustering algorithm and the PPI network under consideration. We also find that the relative performance of each clustering algorithm and each semantic measure depends on the functional property of each subontology individually, which indicates that there is no single clustering algorithm and semantic measure that can dominate the rest in all cases. Overall, GMFTP and ClusterONE are competitive. In some cases, ClusterONE with deliberately selected semantic measure may obtain higher ACC scores than GMFTP. However, GMFTP outperforms ClusterONE in terms of the MMR and PR scores. For the Collins, Gavin and BioGRID networks, SPICi achievers better performance than GMFTP using the PR score under some circumstances, but GMFTP is superior to SPICi using the other three evaluation scores. What is more, GMFTP achieves the best MMR score which is a new evaluation measure recommended in [17] in most cases.
These results demonstrate that GMFTP is an effective approach that can make full use of the topological and functional properties for protein complex identification.

Detecting multifunctional proteins
It is well known that a protein may carry out different functions in different complexes. A desirable approach to complex detection therefore should be able to accommodate proteins that belong to more than one complex. Due to the absence of a reference set of bona fide multifunctional proteins, it is impractical to compare different approaches at this job directly. We resort to test how well the set of multi-group proteins predicted by GMFTP matches with those of the other methods which also handle overlaps (CFinder, ClusterONE, Linkcomm, MINE and SR-MCL) and the two gold standards (CYC2008 and SGD). For GMFTP, we concentrate on the results of two cases (PPI only and PPI+total). For ClusterONE, we use the results of the two versions (weighted and unweighted) of networks. A protein is regarded as a multi-group protein if it belongs to more than one predicted (or reference) complex, and it is a mono-group protein if it belongs only to one predicted (or reference) complex. Overall, the multi-group proteins recovered by our model significantly (hypergeometric test, P-value ≤ 0.01) overlap with those of the other approaches and the gold standards (Additional file 4). http://www.biomedcentral.com/1471-2105/15/186 In a similar manner to [18], we further focus on testing whether topological and functional features can distinguish multi-and mono-group proteins identified by GMFTP. Here we concentrate on the results detected using the PPI network and the total GO annotation for its competitive performance, of which the general statistics are listed in Additional file 4. From Figure 5, we observe that the multi-group proteins have, on average, a higher degree, a higher node betweenness and a higher number of annotated GO functions. This is also true for the number of functional annotations of the three individual subontologies except the MF ontology ( Figure S10 in Additional file 1). We implement Wilcoxon rank-sum test to assess whether the differences of distributions of the topological and functional features between multi-and mono-clustered proteins are statistically significant. The results presented in Additional file 4 show that the differences are significant (P-value ≤ 0.01) in most cases. The multi-group proteins recovered by GMFTP are therefore more central in the network and are involved more biological functions.

Discussion
The developments of high-throughput experimental techniques and computational methods for delineating protein-protein interactions and predicting protein functions have produced rich interaction and functional knowledge of proteins. Recently, a great deal of research works have tried to group proteins into complexes in a given PPI network. However, the performances of the approaches which use the topological property alone are limited not only for the poor quality of the underlying PPI network but also for the negligence of other available information such as functional profile.
In our opinion, both topological and functional properties are meaningful and important for predicting protein complexes. We therefore develop a new algorithm which makes full use of them. Unlike previous approaches, we consider an alternative view and propose a probabilistic model-based approach to combine these two types of properties in a natural and principled manner. Our method can avoid the choice of semantic measures and naturally deal with overlaps. Owing to the superior http://www.biomedcentral.com/1471-2105/15/186 performance and sound theoretical principle of GMFTP, we hope that our work can attract more attention to model-based methods for complex detection. Although generative model have been applied to study PPI networks, our model is different from the previous ones since most of them focus only on the generative process of the network structure. As we know, our model is one of the first to take the generative process of the functional profile into account .
One problem with considering functional property is that the improvement of performance depends on the quality and completeness of functional annotations of the database. It is well known that functional information is not always obtainable in practice [40]. From Equation (11), the complex(es) into which an uncharacterized protein will be clustered is determined only by the topological structure, which means our model can adaptively handle the case where the protein is not functionally characterized. Since GO terms in the subontology of cellular component may provide some clues as to what complex(es) a protein may belong to, the function property derived from this subontology may introduce biases and overestimate the performance. However, the effectiveness of our model has also been investigated in the other two subontologies. In practical application, even if there may be some evaluation biases, we suggest combining the total GO annotations of all the three subontologies to form a comprehensive functional profile to improve the performance, which works similarly to the semi-supervised clustering in machine learning [56].
In general, it is time-consuming and difficult for modelbased approaches to scale up. We now analyze the computational complexity in Equations (11) and (12). Each update of takes O (KN(N + C)) times and update of takes O(NKC) times. Therefore, the total time cost of GMFTP is O (KNT(N + C)), where T is the number of iterations. Given that the real-world PPI networks and functional profiles are extremely sparse, the overall cost can be reduced to O (KT(N + C + E + R)), where E is the number of interactions and R is the number of functional associations (see Additional file 1). In the experiments, we implement the algorithm using Matlab in a workstation with Intel 4 CPU (3.40 GH × 4) and 16 GB RAM. Each update costs at most 3.25 seconds and the entire estimation takes less than 1300 seconds when we set the maximum number of iterations to 400. This means that even though our approach may be not as fast as some local network clustering algorithms (e.g., SPICi), the time cost is also affordable. In order to avoid local minimization, we repeat the updating process 100 times with random restarts. We acknowledge that this may be not a sufficient number of repetitions to ensure a global optimum solution and GMFTP would work better with more restarts. Instead of searching for the global minimization with millions of repetitions, we have paid attention to evaluate how the random initial conditions influence the stability of the results (see Additional file 1).
One perennial problem for model-based approaches is to select models, that is how to determine the value of parameter λ here. In statistics, several model selection strategies are available [43]. A simple and widely adopted strategy is the cross-validation procedure. However, this strategy may be not applicable in the task of network clustering since removing a predefined fraction of proteins (or interactions) from a PPI network would change the topological structure, which means adding noise rather