Background

Protein complexes are groups of associated polypeptide chains whose malfunctions play a vital role in disease development [1]. Complexes can perform various functions in the cell, including dynamic signaling, and can serve as cellular machines, rigid structures, and post-translational modification systems. Many disorders are consequences of changes in a single protein, and thus, in its set of associated partners and functionality. Therefore, mapping proteins and their interactions through the identification of protein complexes is a critical challenge in modern biology and can lead to significant applications for the diagnosis and treatment of diseases. Several outstanding computational approaches are developed to predict the structure of protein complexes from protein-protein interaction (PPI) networks. PPI is often modeled as the graph G = (V,E), where V is a set of nodes (proteins) and E is a set of edges (interactions) connecting pairs of nodes. A protein complex in this case is modeled as a dense subgraph of proteins, where the density is defined as the fraction of edges out of all possible vertex pairs. Two of the most frequently used algorithms for predicting protein complexes via the dense protein subgraph model are Markov clustering (MCL) [2] and repeated random walks (RRW) [3]. They both simulate random walks on the underlying PPI network. Another method is restricted neighborhood search clustering (RNSC), [4, 5] which uses principles of local search algorithms such as restricted neighborhood search, tabu search, and diversification schemes to ensure good performance and speed. Leung et al. [6] developed an algorithm called Core based on the core-attachment idea, and Zaki et al. [7] recently proposed a novel method for detecting protein complexes in PPI based on a protein ranking algorithm (ProRank). ProRank quantifies the importance of each protein based on the interaction structure and evolutionary relationships between proteins in the network. Methods based on protein clustering with overlapping neighborhood expansion, such as CFinder [8], which is one of the oldest overlapping clustering methods and the recently published method known as ClusterONE [9] have also been introduced. The ClusterONE method initiates from a single seed vertex before a greedy growth procedure begins to add or remove vertices in order to find groups with high cohesiveness. The cohesiveness is defined as follows: Let win(V) and wbound(V) denote the total weight of edges contained entirely by a group of proteins V, and the total weight of edges that connect the group with the rest of the network, respectively. Following [9], the cohesiveness of V is then given by f(V)= w in ( V ) w in ( V ) + w bound ( V ) + p | V | , where p|V| is a penalty term whose purpose is to model the uncertainty in the data by assuming the existence of yet undiscovered interactions in the protein interaction network. ClusterONE-derived complexes from various yeast datasets and managed to show better agreement with reference complexes drawn from the Munich Information Center for Protein Sequence (MIPS) catalog and the Saccharomyces Genome Database (SGD) than the results of several other popular methods. However, one weakness in the process is that it is dependent on the quality of the PPI data mainly produced by high-throughput experiments. Such experiments are believed to be noisy and fragmented due to the limitations of the corresponding experimental techniques and the dynamic nature of protein interaction maps, which may have a negative impact on the performance of complex recognition algorithms [10]. For example, it is thought that the false positive rate of Y2H screens could be as high as 64%, and the false negative rate can vary from 43% to 71% [11]. Sprinzak et al. [12] showed that the reliability of high-throughput yeast two-hybrid assays is around 50%, and that the size of the yeast interactome is estimated to be 10,000 to 16,000 interactions. Xiaoli Li et al. [13] have also shown that improvement in protein complex detection could be achieved if the quality of the underlying PPI data is considered adequately to minimize the undesirable effects from the irrelevant and noisy sources. To solve this problem, several methods, such as the molecular complex detection (MCODE) algorithm [14], was proposed to assess the reliability of high-throughput protein interaction data. The MCODE algorithm depends on the vertex weighting phase in which a score is assigned to each vertex (measuring the cliquishness of the neighborhood of the vertex). The vertex weight percentage controls how much difference is allowed between the scores of the vertices within the same complex and those outside the complex. By proposing weighting schemes based on the number of common neighbors, other authors were able to improve several clustering algorithms such as CDdistance [15] and FSWeight [16]. To this end, Liu et al. [10] have recently developed an algorithm, referred to as Clustering, which is based on Maximal Cliques (CMC) for discovering protein complexes in weighted PPI networks. They used an iterative scoring method called AdjstCD to assign weights to protein pairs. The AdjstCD weight in this method indicates the reliability of the interaction between protein pairs. The AdjstCD iterative algorithm [15, 17, 18] is mainly based on the number of common protein-pair neighbors in the PPI network. The CD-distance [17] between two neighbor proteins u and v is defined as:

CD(u,v)=1 2 | N u N v | | N u | + | N v |
(1)

where N u and N v are the numbers of neighbors of proteins u and v, respectively. Equation (1) was further modified by Chua et al. [18] to decrease the CD-distance for proteins with insufficient number of interactions:

AdjstCD(u,v)= 2 | N u N v | max ( | N u | , N avg ) + max ( | N v | , N avg )
(2)

where N avg = x V | N x | N is the average number of neighbors in the network and N is the total number of nodes in the network.

Equations (1) and (2), show how many 3-cliques can be generated from the interactions between proteins u and v, but do not take into account groups of the 3-cliques based on other outgoing interactions from proteins u and v. To solve this problem, Chua et al. [18] suggested an iterative method which considers all 3-cliques from all neighbor proteins u and v:

w k ( u , v ) = x N u N v ( w k 1 ( x , u ) + w k 1 ( x , v ) ) max ( x N u w k 1 ( x , u ) , w avg k 1 ) + max ( x N v w k 1 ( x , v ) , w avg k 1 )
(3)

where w0(x,u) = 1, if x and u interact, w0(x,u) = 0, otherwise; w avg k 1 = x V y N x w k 1 ( x , y ) n is the average number of weights at (k−1)th step; w1(x,u) = AdjstCD(x,u) and eventually wk(u,v) will determine the reliability of interaction between proteins u and v. It was shown that the iterative scoring method can significantly improve the performance of CMC and some other well known protein complex detection methods such as MCL [2],CFinder [8] and MCODE [14]. However, CMC works accurately on reasonably clean protein interaction data (few missing interactions). It is quite difficult to identify unreliable edges or to find maximal cliques when the data is noisy. This weakness is demonstrated by Figure 1. The reliability weight of the edge e1 using AdjstCD depends on the outgoing edges e6,e7,…,e10. In a case of noisy network there is a possibility that many of the outgoing edges such as e6,e7,…,e10 may not be reliable. Moreover, the reliability of the edge e1 should not be influenced by all of the outgoing edges.

Figure 1
figure 1

Reliability weight of the edge e 1 using AdjstCD depends on the outgoing edges e 6, e 7, …, e 10. However, in a case of noisy network there is a possibility that many of these outgoing edges may not be reliable. Therefore, the reliability of the edge e1 should not be influenced by all of the outgoing edges.

In this paper, we propose a simple yet effective method for protein complex identification. We are aware of the fact that, in addition to improving graph mining techniques, it is necessary to obtain high quality benchmarks by assessing protein interaction reliability. Therefore, we propose a novel method for assessing the reliability of interaction data and detecting protein complexes. Unlike CMC, this method finds near-maximum cliques (maximal cliques without unreliable interactions). We employ the concept of weighted clustering coefficients as a measure to define which subgraph is the closest to the maximal clique. The clustering coefficient of a vertex in this case is the density of its neighborhood [19].

Methods

Computational approaches for detecting protein complexes from PPI data are useful complements to the limitation of the experimental methods such as Tandem Affinity Purification (TAP) [20]. Beside the improvement in graph mining techniques, the success of accurate detection of a protein complex depends on the availability of high-quality benchmarks. The bottleneck of different computational methods remains to be the noise associated with the protein interaction data. Therefore, a rigorous assessment of protein interactions reliability is essential. In this section, we introduce a novel method PEWCC which has two main steps: first, assess the reliability of the protein interaction data using the PE-measure. Second, detect protein complexes using weighted clustering coefficient [19, 21] (WCC). In the subsequent sections, we describe these two steps in details.

Assessing the reliability of protein interactions

In this section we introduce the PE-measure, a new measure for protein pairs interaction reliability. PE-measure enables us to reduce the level of noise associated with PPI networks and it is defined as follows:

Given a PPI network with N proteins, we represent the PPI network by an undirected graph G = (V,E), where the vertex set V represents the proteins, and the edge set E represents the set of interactions between pairs of proteins. The elements (p0) i j of the initial (N × N) reliability matrix P0 are equal to 0.5 (given that i interacts with j). We then calculate the elements (p k ) ij of the matrix P k in k iterations as:

( p k ) ij =1 v l (1 ( p k 1 ) il · ( p k 1 ) jl )
(4)

where we take the product by all v l  : (v l ,v i ) ∈ E,(v l ,v j ) ∈ E.

To illustrate the weighting scheme, consider a hypothetical network as shown in Figure 2.

Figure 2
figure 2

A simple hypothetical network of 5 proteins and 6 interactions to illustrate how the weight of the edge e 1 is determined.

Suppose we would like to determine the weight of the edge e1 (between protein 1 and protein 2). According to Equation (4), the probabilities that protein 3 and protein 4 do not “support” the edge e1 are (1−p1,3·p2,3) and (1−p1,4·p2,4), respectively. Thus, the probability that protein 3 and 4 do not “support” the edge e1 is (1−p1,3·p2,3)·(1−p1,4·p2,4). Therefore, the probability that protein 1 and protein 2 interact (and supported by protein 3 and protein 4) is the complementary probability 1−[(1−p1,3·p2,3)·(1−p1,4·p2,4)].

We start with the initial probability matrix P0 (where p1,3, p2,3, p2,4, p1,4 and p3,5 are all equal to 0.5). In the first iteration (k = 1) the PE-measure of the edge e1 is 1[(1( p 1 , 3 . p 2 , 3 )·(1( p 1 , 4 · p 2 . 4 )]= 7 16 . Similarly, the PE- measures of edges e2, e3, e4 and e5 are all equal to 1 4 while the measure of edge e6 is equal to 0. All of the PE-measures are updated before the second iteration (k = 2) starts.

For each protein in the PPI network, we calculate the average PE-measures (w avg ) i of all outgoing edges as follows:

( w avg ) i = v l p il N i ,
(5)

where v l  : (v l ,v i ) ∈ E, N i is the number of the neighbors of v i and i = 1,…,N. If the PE-measure p il is less than the average (w avg ) i then the edge between proteins i and l is considered unreliable and therefore, it should be removed from the network.

Applying Equation (4) on the hypothetical network shown in Figure 2, we could see that the edge e6 yields a lower weight which is equal to 0 and therefore, it could be a noise and should be removed from the network.

Detecting protein complex using weighted clustering coefficient

For each protein v i in the PPI network, we first create the neighborhood graph, calculate the weighted clustering coefficient and then calculate the degree of each node in the neighborhood graph; the “degree” of a node being the number of its neighbors. The weighted clustering coefficient c i in this case is calculated according to the following formula:

c i = 2 · N 3 cliques N i 2 · ( N i 1 )
(6)

where N3cliques is the number of 3-cliques in the neighborhood graph. Once the degree is calculated, we sort the sequence of proteins in the neighborhood graph accordingly from minimum to maximum. The protein v j with the lowest degree and its corresponding interactions are removed from the neighborhood graph and c i is recalculated. This process stops when the neighborhood graph contains only 3 proteins and the sequence of proteins with the highest c i is returned as a valid core protein complex. This concept is illustrated in Figure 3.

Figure 3
figure 3

Illustration of how a protein complex is detected: (a) A simple hypothetical network of 6 proteins and 12 interactions, (b) based on the sequence of the degree, node 5 has only 2 outgoing connections and therefore, it is removed from the protein network, (c) based on the sequence of the degree, node 3 is removed and therefore, the subgraph which contains the central protein 1 and three nodes (2,4 and 6) remains as a valid core protein complex, (d) protein which interacts with more than 50% such as protein 3 rejoins the protein network and the final complex is predicted.

In Figure 3 (a), if i = 1 then N1 in this case is equal to 5 (the central protein 1 is not considered), N3cliques = 7 and therefore, according to Equation 6, c 1 = 2 × 7 5 2 × ( 5 1 ) =0.14. Based on the sequence of the degree, node 5 has only 2 outgoing connections and therefore, it should be removed from the subgraph. In Figure 3 (b), the subgraph is now reduced to 4 nodes, N3cliques = 5 and therefore, c1 = 0.21. Based on the sequence of the degree there exists a tie and therefore either nodes 3 or 4 should be randomly removed. If the node 3 is removed as shown in Figure 3 (c) then we end up with a subgraph with only 3 nodes. The c1 in this case is equal to 0.33 and therefore, the subgraph which contains the central protein 1 and three nodes (2, 4 and 6) is a valid core protein complex. Once the core protein complex is identified, we examine the main subgraph once again and re-join any protein which interacts with more than t % of the proteins in the core protein complex. In the case of t = 50, protein 3 will join the subgraph and the final complex predicted is shown in Figure 3 (d).

Assessing the quality of predicted complexes

To evaluate the accuracy of the proposed method, we used the Jaccard index which defined as follows:

MatchScore(K,R)= | V K V R | | V K V R |
(7)

where K is a cluster and R is a reference complex. V K and V R are the set of proteins in K and R, respectively. The complex K is defined to match the complex R if MatchScore(K,R) ≥ α where α = {0.25,0.5,0.6,0.7,0.8 or 0.9} (because different methods were evaluated with different values of α).

To estimate the cumulative quality of the prediction, assume a set of reference complexes R = {R1,R2,…,R n } and a set of predicted complexes P = {P1,P2,…,P m } the recall (R e c) and precision (Prec) at the complex level are then computed as follow:

Rec= | { R i | R i P , K j matches R i } | | R |
(8)

and

Prec= | { K j | K j P Λ R i R , R i matches K j } | | P |
(9)

Following Brohee and van Helden [22] and Nepusz et al. [9], we used the geometric mean of two other measures, namely the clustering-wise sensitivity (S n) and the clustering-wise positive predictive value (PPV). Both Sn and PPV are based on the confusion matrix T = [t ij ] of the complexes. Given n reference and m predicted complexes, let t ij denote the number of proteins that are found both in reference complex i and predicted complex j, and let N i denote the number of proteins in reference complex i. S n and PPV are then defined as follows:

Sn= i = 1 n ma x j 1 m t ij i = 1 n n i
(10)

and

PPV= j = 1 m ma x i 1 n t ij j = 1 m i = 1 n t ij
(11)

Since S n can be inflated by putting every protein in the same cluster, while PPV can be maximized by putting every protein in its own cluster, the accuracy (Acc), which is simply the geometric mean of the clustering-wise sensitivity and the positive predictive value was defined as follows:

Acc= Sn × PPV
(12)

Following Nepusz et al. [9], we also evaluated our method using the maximum matching ratio (MMR). The MMR measure is based on a maximal one-to-one mapping between predicted and reference complexes. The motivation for Nepusz et al. [9] to use the MMR is the fact that the PPV tends to be lower if there are substantial overlaps between the predicted complexes, which could limit the prediction accuracy when using overlapping clustering algorithms. The algorithm used to calculate the MMR is available in the supplementary material (Additional file 1).

The experimental works were conducted on a PC with Intel(R) Core(TM)2, CPU 6400 @ 2.13GHz and 3 GB of RAM.

Results and discussion

In this section, we first describe the datasets and evaluate the current methods for protein complex detection, and then study the performance of PEWCC and the impact of the PE-measure. The effectiveness of our method is evaluated using two different PPI datasets. The first is a combined PPI dataset (PPI-D1) developed by Liu et al. [10] and it contains yeast protein interactions generated by six different experiments, including interactions characterized by the mass spectrometry technique [23-26], and interactions produced using two-hybrid techniques [27, 28]. The second dataset (PPI-D2) is an entire set of physical protein-interaction in yeast from BioGRID [29]. The properties of the PPI-D1 and PPI-D2 datasets used in the experiments are shown in Table 1.

Table 1 Properties of the two PPI datasets used in the experimental work

Three reference sets of protein complexes are used in these experiments. The first set of complexes (Cmplx-D1) comprises of 162 hand-curated complexes from MIPS [30]. The second dataset (Cmplx-D2) which contains 63 complexes is generated by Aloy et al. [31]. The third reference set (Cmplx-D3) of 203 complexes was developed by Nepusz [9] and it consists of the most recent version of the MIPS catalog of protein complexes. Both datasets Cmplx-D1 and Cmplx-D2 were used by Liu et al. [10] to evaluate the performance of the CMC method. Complexes with sizes greater or equal to 4 proteins were considered.

In the first experimental work, we attempted to find the optimal value of the re-join parameter t which will lead to the best performance of the proposed method. In Figure 4, we show the effect of varying parameter t and the corresponding complex detection accuracy measured in terms of A c c. Based on PPI-D1 and the reference datasets Cmplx-D1 and Cmplx-D2, the results show that the best performance of the proposed method is achieved when t ≥ 0.3. For t > 0.3 we will still obtain similar accuracy. However, increasing the value of t will increase the number of complexes detected which will decrease the P rec. Therefore, in all the following experimental works t was considered to be equal to 0.3. The parameter k (number of iterations) was set to 2 in all the experiments since no significant performance improvement was achieved when k > 2.

Figure 4
figure 4

Measuring the effect of varying the values of the re-join parameter ( t ) in terms of Acc . For t > 0.3 we will still obtain similar accuracy however, increasing the value of t will increase the number of complexes detected and therefore, t is considered equal to 0.3.

In Table 2 we compare the performance of the PEWCC method to CMC [10], ClusterONE [9], MCL [2], CFinder [8] and MCODE [14] based on PPI-D1 and different reference datasets Cmplx-D1 and Cmplx-D2. In this case more than one quality score were used to assess the performance of each algorithm: Prec, Rec and F1 (where F1=2· Prec · Rec Prec + Rec ). The fraction of matched complexes with a given overlap score threshold A c c(K,P) was set to be ≥ 0.5. For each algorithm, final results were obtained after optimizing the algorithm parameters to yield the best possible results. For the CMC, the algorithm is primarily affected by the overlap threshold and the merge threshold. The overlap threshold determines the highly overlapping score between two clusters and the merge threshold which determines what to do with two highly overlapping clusters (merged or removed). The overlap threshold and the merge threshold shown good performance when both were set to 0.5 and 0.25, respectively. The iterative scoring parameter k was set to 2. For ClusterONE, we used the default parameters density threshold set to 0.5. The merging threshold was set to 0.8 and the penalty value of each node was 2. The MCL has a single parameter called inflation, which tunes the granularity of the clustering and it was set to 1.8. For MCODE, the depth was set to 100, node score percentage to 0, and percentage for complex fluffing to 0.2 (as suggested by [22]). For CFinder, we set k-clique size to 4. The rest of the parameters were set to their default values. The summary of the parameters setup for all the methods is available in the supplementary materials (Additional file 2).

Table 2 Performance comparison of PEWCC, CMC, ClusterONE, MCL, CFinder, and MCODE, with A c c ( K , P ) ≥ 0 . 5

As shown in Table 2, the proposed method was able to detect more matched complexes than any of the state-of-the-art methods with higher F1 value.

To analyze the performance of PEWCC, ClusterONE and CMC in a noisy interaction dataset, we added different random sets of interaction pairs to Cmplx-D1 (1000 PPI pairs at a time). In Figure 5 (a), we show the number of matched complexes detected using PEWCC, ClusterONE and CMC in the presence of different sets of random interaction pairs. In Figures 5 (b), (c) and (d) we compare the performances of the three mentioned methods in terms of the number of matched complexes F1, PPV and MMR scores respectively. The solid performance of PEWCC is quite obvious in the existence of additional sets of random interaction pairs (noise). The performances of ClusterONE and CMC deteriorated when the noise increases. In Figure 5 (c), ClusterONE showed better PPV score than PEWCC however, the latest showed consistent performance.

Figure 5
figure 5

Comparing PEWCC, ClusterONE and CMC in the presence of additional sets of random PPI pairs in terms of the number of matched complexes detected, F1, PPV and MMR scores.

Furthermore, the impacts of the PE-measure and the AdjstCD measure on improving the detection of matched complexes were assisted using the datasets PPI-D1 and Cmplx-D1. In Table 3 we show the performance of CMC and ClusterONE with and without filtering method such as AdjstCD and PE measures. In this case the performances of CMC and ClusterONE in conjunction with the PE measures were significantly improved.

Table 3 The performance of CMC and ClusterONE with and without filtering method such as AdjstCD and PE measures with A c c ( K , P ) ≥ 0 . 5

For generalization purposes PEWCC was further compared to several state-of-the-art methods based on the protein interaction dataset PPI-D2 and the reference dataset Cmplx-D3. PPI-D2 and Cmplx-D3 were recently published and used to evaluate the performance of ClusterONE [9] in detecting protein complexes. In this case more than one quality score were used to assess the performance of each algorithm: following [9] the fraction of matched complexes with a given overlap score threshold Acc(K,P) ≥ 0.25 and the geometric accuracy. The performance of methods such as (RNSC) [4, 5] and (RRW) [3] were included in the comparison. Please note that RNSC algorithm does not take into consideration the weights of the PPI graph edges. The summary of the parameters setup for all the methods used in the comparison is available in the supplementary materials (Additional file 2).

As shown in Table 4, the PEWCC method was able to detect more matched complexes (122 matching complexes) than any of the state-of-the-art methods with higher quality scores. It takes approximately 22 and 48 seconds for PEWCC to detect complexes from PPI-D1 and PPI-D2, respectively.

Table 4 Compare PE-WCC to ClusterONE, RNSC, RRW, CMC, MCL and MCODE, where A c c ( K , P ) ≥ 0 . 25

Conclusion

In this paper, we have provided a novel method (PEWCC) for detecting protein complexes from a PPI network of yeast. We have shown that our approach, which first assesses the quality of the interaction data and then detect the protein complex based on the concept of weighted clustering coefficient, is more accurate than most of the well known methods.

The noise associated with the PPI network and the focus on dense subgraphs have restricted researchers from creating an effective algorithm that is capable of identifying small complexes and PEWCC is no exception. In fact, we cannot recall any method that can effectively detect complexes (≤ 3 proteins) using only the topology of the PPI network. We understand that PEWCC stops when the neighborhood graph contains only 3 proteins which restricts it from identifying small complexes (≤ 3 proteins). It was possible for us to discover the clustering coefficient was c i  = 1 for dense graphs of size 3 (with 3 nodes and 3 edges) and c i  = 0 for other subgraphs of size 3 (with 3 nodes and 2 edges). We are currently conducting a systematic research of nested complexes (the case where one complex is a sub-complex of a bigger one) in order to identify strategies that could be useful in improving the capability of PEWCC in identifying small complexes.

The performance of PEWCC can also be tested when the edges were randomly removed from the original graph. However, we strongly believe that the main issue concerning PPI data is the noise associated with false interactions (edges). There are many interactions that are not reliable and by removing them, the prediction accuracy was improved by using PE measure and AdjstCD. Moreover, if we remove edges uniformly over the PPI network, then the PEWCC algorithm will still work, because it calculates relative density (one subgraph with respect to another). It means that if we have two subgraphs G1 and G2 and the density of G1 is less than the density of G2, then following the random deletion of some edges from G1 and G2, the probability that the density of G1 will be less than the density of G2, will still be very high.

In the future, we would like to compare the performance of PE to the recently published novel weighting schemes for noise reduction in PPI network by graphs by Kritikos et al. [32]. In this research work, only the topological properties of PPI graphs were taken into consideration while it has been proved that integrating additional biological knowledge helps the weighting schemes to generate more reliable PPI graphs. Therefore, an interesting open challenge is to study the incorporation of additional biological knowledge of protein complexes. To this end, a probabilistic calculation of the affinity score between two proteins [33] could further improve the performance of the proposed method.

Furthermore, the idea of decomposing the PPI network into overlapping clusters will be explored as it shows great potential in recent works [9, 34-36].