Skip to main content


Consistent dissection of the protein interaction network by combining global and local metrics

Article metrics


We propose a new network decomposition method to systematically identify protein interaction modules in the protein interaction network. Our method incorporates both a global metric and a local metric for balance and consistency. We have compared the performance of our method with several earlier approaches on both simulated and real datasets using different criteria, and show that our method is more robust to network alterations and more effective at discovering functional protein modules.


Protein complexes are building blocks of cellular components and pathways. A comprehensive understanding of a biological system requires knowledge about how protein complexes are assembled, regulated, and organized to form cellular components and perform cellular functions. The emergence of a variety of genomic and proteomic techniques to systematically obtain such information has generated an enormous amount of data [111]. However, interpretation and analysis of such data in terms of biological function has not kept pace with data acquisition, mainly due to the complexity of the problem and the limitation of current techniques to handle the data.

In this paper, we address the issue of constructing protein interaction modules from the protein interaction data. Highly connected protein modules are mostly found to be protein complexes performing a specific biological function. The concept of protein interaction modules as fundamental functional units was first outlined by Hartwell et al. [12]. Protein interaction modules are composed of a variable number of proteins, with discrete functions arising from their individual constituents and their synergistic interactions. A multi-protein complex, such as the ribosome, is one common form of interaction module; other examples of protein functional modules include proteins working collectively in a pathway, such as signal transduction, that do not necessarily form a tightly associated, stable protein complex.

To detect protein interaction modules from protein interaction data, we use a graph theory approach. Protein interaction networks are routinely represented as graphs, with proteins as nodes and interactions as edges. In a graphical representation of a protein interaction network, a functional unit, or a group of functionally related proteins, is tightly connected as a community, while proteins from different functional units are more loosely connected. In the past few years, new algorithms have been developed to extract communities from a generic network. Girvan and Newman [13] proposed a decomposition algorithm (GN algorithm) to analyze community structure in networks. Their algorithm iteratively removes edges based on betweenness values, the number of shortest paths between all pairs of nodes in the network running through an edge, in contrast to the traditional hierarchical clustering algorithm where closely connected nodes are iteratively joined together into larger and larger communities. In a different approach, Radicchi et al. [14] replaced the edge betweenness metric with an edge clustering coefficient - the number of triangles to which a given edge belongs, divided by the number of triangles that might potentially include it, given the degrees of the adjacent nodes. The edge clustering coefficient is a local topology-based metric and a candidate edge with the lowest clustering coefficient is removed one at a time in the algorithm of Radicchi et al. (the 'edge clustering coefficient' algorithm, ECC algorithm for short).

When applied to a large network, these two algorithms give substantially different results. The reason is that an individual edge with larger betweenness does not necessarily have a lower clustering coefficient, although on average it will. Ultimately, the global metric in the GN algorithm behaves differently from the local metric in the ECC algorithm. In this paper, we propose to resolve this conflict by combining the global and local metrics to form a consistent and robust algorithm. We make three additional significant contributions: a new metric (commonality) that takes into account the effects of random edge distributions; a new definition of a protein interaction module; and a novel filtering procedure to remove false-positive interactions based on a random graph model analysis. We demonstrate that our new algorithm is more effective and robust in terms of discovering protein interaction modules in protein interaction networks than either the global or local algorithm by application to the large yeast protein interaction network.

Results and discussion

The principal result of this paper is the development of a new algorithm for extracting protein interaction modules from a protein interaction network. We first present the new methodology developments and then compare the performance of different algorithms, including the MCL algorithm [15], on simulated networks where protein complexes were known. The MCL algorithm is a fast and scalable unsupervised cluster algorithm for graphs based on simulation of stochastic flow in graphs [15] and was found to be overall the best performing one by the Brohee and van Helden study [16]. Note that our proposed new algorithm, the GN algorithm, and the ECC algorithm are divisive partitioning-type algorithms, while the MCL algorithm is a non-partitioning algorithm. Both the modularity [17] measure and productive cuts in the following sections are not applicable to the MCL algorithm. Second, we compare the results of different algorithms on a small protein interaction network where protein complexes are largely known. Lastly, we apply our new algorithm, the GN algorithm, the ECC algorithm, and the MCL algorithm, whenever applicable, to two large yeast protein interaction networks and evaluate the performance of each algorithm based on the value of modularity [17], overlap with Munich Information Center for Protein Sequences (MIPS) complexes [18] and Gene Ontology (GO) term enrichment of each cluster.

A new commonality metric

Consider two proteins A and B. Let k be the number of common interacting partners (or neighbors) between A and B. If A and B belong to the same protein complex, they likely share many common interaction partners, that is, have a large k. On the other hand, if A and B do not belong to the same protein complex, they likely have few common interaction partners, that is, have a small k. However, randomness also enters the equation. Let n, m be the number of total interacting partners for protein A and B, respectively (n and m are also called degrees of A and B). A standard model of a protein interaction type network is the fixed-degree-sequence random graph [19] where the interactions follow the hypergeometric distribution. From this model, the average number of common interacting partners between proteins A and B in a random graph is given by:

N is the total number of nodes. To offset this random effect that a large k results from large n and m, we propose a new commonality index as:

k + 1 n m MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaajuaGdaWcaaqaaiaadUgacqGHRaWkcaaIXaaabaWaaOaaaeaacaWGUbGaeyyXICTaamyBaaqabaaaaaaa@37AD@

The square root of n·m makes it a scale invariant. We note that in [14], the authors define a similar metric as:

k + 1 min ( n 1 , m 1 ) . MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaajuaGdaWcaaqaaiaadUgacqGHRaWkcaaIXaaabaGaciyBaiaacMgacaGGUbGaaiikaiaad6gacqGHsislcaaIXaGaaiilaiaad2gacqGHsislcaaIXaGaaiykaaaakiaac6caaaa@3E3A@

BCD algorithm

Our goal is to discover protein interaction modules. Intuitively, when two protein functional modules are sparsely connected, edges between them should have higher edge-betweenness values and lower commonality, whereas edges within a module should have high commonality and low edge-betweeness. Thus, for sparsely connected functional modules, edge-betweenness highly correlates with edge-commonality. When protein functional modules overlap, the correlation between the global metric and local metric becomes less clear. For this reason, we combine these two metrics to build a more consistent and robust metric. The new BCD (Betweenness-Commonality Decomposition) algorithm is summarized as follows: step 1, calculate the edge commonality (C) for each edge in the network; step 2, calculate the edge-betweenness (B) for each edge in the current subnetwork; step 3, remove the edge with the maximal ratio B/C; and step 4, repeat steps 2 and 3 until no edges remain.

Like the edge clustering coefficient in the ECC algorithm, the edge commonality is a static property of an edge in the context of the entire network, telling how strong the affinity is between two nodes it connects. The edge commonality is calculated only once at the beginning of a decomposition process, while the edge-betweenness is updated each time an edge is removed to achieve best results [13]. This algorithm runs with O(M2N) computational complexity, where M is the number of edges and N is the number of nodes in a network. As a practical matter, we calculate the betweenness using the fast algorithm of Brandes [20] where the edge-betweenness value can be obtained by summing pair-dependencies over all traversals [21], so that we can easily parallelize the computationally costly betweenness calculation.

A new definition of protein interaction module

Intuitively, a protein interaction module is a subnetwork in the protein interaction network with more internal interactions than external interactions. A precise definition of the interaction module is not trivial. A number of definitions of community (or protein interaction module in terms of the protein interaction network) have been proposed with different criteria [14, 17, 22]. No clear consensus of module definition exists.

All three algorithms (BCD, GN, ECC) in this study transform a network into a decomposition tree (Figure 1). In this tree (called a dendrogram in the social sciences), the leaves are the nodes, whereas the branches join nodes or (at higher level) groups of nodes, thus identifying a hierarchical structure of communities nested within each other. When inspecting the resultant tree from either one of the tree algorithms on a small yeast transcription network with 225 proteins and 1,792 interactions, where known protein interaction modules can be inferred from the annotations of well-studied proteins, we found most, if not all, protein complexes, within which proteins are tightly grouped as subtrees in the decomposition tree with uniform structure similar to those shadowed subtrees in Figure 1. Similar results were seen in much larger networks. Based on those observations, we propose a precise definition of a protein interaction module utilizing the decomposition tree structure. We first note that on the decomposition tree, all leaf nodes are single proteins, while non-leaf nodes are collections of proteins. We define a 'special parent' as a non-leaf node with at least one child being a leaf (Figure 1). A protein interaction module is then defined as the nodes of a maximal sub-tree where all non-leaf nodes are special parents. Further, when two modules share the same parent, we merge them (Figure 1, subtrees in solid boxes) when the maximal commonality of edges connecting these two modules is larger than a pre-defined cutoff. Currently, the cutoff is set at 0.1 to avoid merging two modules with very limited connections between them. Results on actual protein interaction networks indicate that proteins within a module as defined above have very similar GO terms and perform similar functions (see Figure 2 for examples). The dangling nodes outside modules (in dashed boxes in Figure 1) are simply categorized as singletons.

Figure 1

A sample decomposition tree showing protein interaction modules. Special parents are marked with triangles. Modules as defined in the text are shown as shaded subtrees. Two modules with the same parent are merged if the edge commonality between the two modules is above a threshold (shown as boxes). Dashed lines outline singletons.

Figure 2

A yeast transcriptional sub-network (upper) and the decomposition tree constructed by the BCD algorithm (lower). Predicted protein modules are highlighted with colored bars (lower panel) and protein nodes in the network (upper panel) are colored accordingly. The module names in the upper panel are inferred from their members' annotation information. Singletons are colored red.

Filtering false-positive interactions

Most yeast protein interaction data were obtained from large-scale, high-throughput experiments, which generally contain false positives [23]. To minimize the number of false positive interactions, we apply a statistical test to measure the reliability of an interaction (edge). We rigorously calculate the statistical significance of each interaction between two proteins as the random probability (P value) that the number of common interacting partners occurs at or above the observed number. Previous work has shown that the statistical significance based on the number of common interacting partners highly correlates with the functional association of two proteins [24, 25].

In a species with N proteins, the number of distinct ways in which two interacting proteins A and B with n and m interaction partners have k partners in common is given by C k N 2 C n k 1 N 2 k C m k 1 N n 1 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4qamaaDaaaleaacaWGRbaabaGaamOtaiabgkHiTiaaikdaaaGccqGHflY1caWGdbWaa0baaSqaaiaad6gacqGHsislcaWGRbGaeyOeI0IaaGymaaqaaiaad6eacqGHsislcaaIYaGaeyOeI0Iaam4AaaaakiabgwSixlaadoeadaqhaaWcbaGaamyBaiabgkHiTiaadUgacqGHsislcaaIXaaabaGaamOtaiabgkHiTiaad6gacqGHsislcaaIXaaaaaaa@4C37@ . The first factor ( C k N 2 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4qamaaDaaaleaacaWGRbaabaGaamOtaiabgkHiTiaaikdaaaaaaa@3402@ ) is the number of ways to choose the k common partners from all N proteins except proteins A and B. The second term ( C n k 1 N 2 k MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4qamaaDaaaleaacaWGUbGaeyOeI0Iaam4AaiabgkHiTiaaigdaaeaacaWGobGaeyOeI0IaaGOmaiabgkHiTiaadUgaaaaaaa@3967@ ) counts the number of ways of choosing dangling partners of protein A (note that the common partners and protein A, B are excluded). Similarly, the third term ( C m k 1 N n 1 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4qamaaDaaaleaacaWGTbGaeyOeI0Iaam4AaiabgkHiTiaaigdaaeaacaWGobGaeyOeI0IaamOBaiabgkHiTiaaigdaaaaaaa@3968@ ) is for choosing dangling partners of protein B. The total number of ways for the two interacting proteins to have n and m interaction partners, regardless of how many are in common, is given by C n 1 N 2 C m 1 N 2 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4qamaaDaaaleaacaWGUbGaeyOeI0IaaGymaaqaaiaad6eacqGHsislcaaIYaaaaOGaeyyXICTaam4qamaaDaaaleaacaWGTbGaeyOeI0IaaGymaaqaaiaad6eacqGHsislcaaIYaaaaaaa@3E0C@ . Therefore, the probability to randomly see two interacting proteins with n and m partners, sharing k common partners in a species with N proteins, is given by:

p ( k | , n , m , N ) = C k N 2 C n k 1 N 2 k C m k 1 N n 1 C n 1 N 2 C m 1 N 2 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGWbGaaiikaiaadUgacaGG8bGaeyOeI0Iaaiilaiaad6gacaGGSaGaamyBaiaacYcacaWGobGaaiykaiabg2da9KqbaoaalaaabaGaam4qamaaDaaabaGaam4Aaaqaaiaad6eacqGHsislcaaIYaaaaiabgwSixlaadoeadaqhaaqaaiaad6gacqGHsislcaWGRbGaeyOeI0IaaGymaaqaaiaad6eacqGHsislcaaIYaGaeyOeI0Iaam4AaaaacqGHflY1caWGdbWaa0baaeaacaWGTbGaeyOeI0Iaam4AaiabgkHiTiaaigdaaeaacaWGobGaeyOeI0IaamOBaiabgkHiTiaaigdaaaaabaGaam4qamaaDaaabaGaamOBaiabgkHiTiaaigdaaeaacaWGobGaeyOeI0IaaGOmaaaacqGHflY1caWGdbWaa0baaeaacaWGTbGaeyOeI0IaaGymaaqaaiaad6eacqGHsislcaaIYaaaaaaaaaa@6686@

The statistical significance is then calculated by:

P = k = k 0 min ( n 1 , m 1 ) p ( k | , n , m , N ) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGqbGaeyypa0ZaaabCaeaacaWGWbGaaiikaiaadUgacaGG8bGaeyOeI0Iaaiilaiaad6gacaGGSaGaamyBaiaacYcacaWGobGaaiykaaWcbaGaam4Aaiabg2da9iaadUgadaWgaaadbaGaaGimaaqabaaaleaaciGGTbGaaiyAaiaac6gacaGGOaGaamOBaiabgkHiTiaaigdacaGGSaGaamyBaiabgkHiTiaaigdacaGGPaaaniabggHiLdaaaa@4C3B@

where k0 is the observed number of common partners shared by two interacting proteins. An interaction with P value greater than 0.01 is considered to be a 'false positive' and is discarded. We remove the edge with the highest P value and recalculate the P value for affected edges. The process is repeated until no edge has a P value > 0.01. We found in analysis of yeast data, this filtering always improves the quality of discovered protein interaction modules.

Application to simulated yeast protein interaction networks

To compare the performance of our BCD algorithm, the GN algorithm, the ECC algorithm with the original edge clustering coefficient definition (ECC1), and the ECC algorithm with our commonality metric (ECC2), and the MCL algorithm [15], in which the inflation parameter was set to the optimal value 1.8 according to the study [16], we built a test graph on the basis of 198 complexes manually annotated in the MIPS database [18] in a way similar to that used in Brohee and van Helden's study [16]. Briefly, for each manually annotated MIPS complex, an edge was created between each pair of proteins within that complex. The resulting graph (referred to as test graph) contains 1,078 proteins and 9,919 interactions. To evaluate the robustness to false positives and false negatives, we derived 16 altered networks by randomly removing edges from or adding edges to the test graph in various proportions. We then assessed the quality of clustering results on each derived network by different algorithms with each annotated complex. As done in Brohee and van Helden's study [16], we computed a geometric accuracy value and a separation value to estimate the overall correspondence between a clustering result (a set of clusters) and the collection of annotated complexes, where both a high geometric accuracy value and a high separation value indicate good clustering (please see [16] for more details).

Figure 3a displays the impact of edge addition on geometric accuracy and Figure 3b show the impact on separation. Clearly, the ECC2 algorithm with our new commonality metric greatly outperforms the ECC1 algorithm with the older edge clustering coefficient measure when the graph is altered with adding edges. In Figure 3c,d, increasing proportions (0%, 20% 40%, 60%, and 80%) of edges are randomly removed from the test graph with prior 100% edge addition. Figure 3e,f show the effect of edge addition on graphs from which 40% of the edges had previously been removed. All curves show similar trends and that BCD and MCL outperform the other three algorithms. The performance of our BCD algorithm is better than that of the MCL algorithm when the graph is more dramatically altered with both edge removal and addition (Figure 3c-f).

Figure 3

Robustness of the algorithms to random edge addition and removal. Each curve represents the value of accuracy (left panels) or separation (right panels). (a, b) Edge addition to the test graph. (c, d) Edge removal from an altered graph with 100% of randomly added edges. (e, f) Edge addition to an altered graph with 40% of randomly removed edges. Color code: red, BCD; blue, GN; cyan, MCL; orange, ECC with the original edge clustering coefficient; green, ECC with our commonality index.

Application to the yeast protein interaction network

We used the yeast protein interaction network from the BioGrid database (version 2.0.24) [26], from which we extracted 36,238 unique interactions among 5,273 yeast proteins. We applied the filtering process to the data and the resulting dataset retained 3,030 yeast proteins and 17,242 high-confidence interactions, which we call the filtered dataset. On both the original and filtered datasets, we tested five algorithms: our BCD algorithm, the GN algorithm, the ECC1 algorithm with its original edge clustering coefficient, the ECC2 algorithm with our commonality metric and the MCL algorithm whenever applicable.

Results on a small yeast protein interaction network

Before diving into the entire complex network, we first decomposed a small yeast transcription network with 225 proteins and 1,792 interactions, where known protein interaction modules can be inferred from the annotations of well-studied proteins (Figure 2a). Figure 2b displays a hierarchical decomposition tree by the BCD algorithm (decomposition trees constructed by the other three algorithms are provided in Additional data file 1). Note that there is no decomposition tree for the MCL algorithm.

The proposed definition of protein interaction module works well for both the GN and BCD algorithms because almost all proteins within the same computed protein module do indeed belong to the same known protein complex. Decomposition trees obtained using the ECC1 algorithm and the ECC2 algorithm with our commonality metric are shown in Additional data file 1. They produce irregularly large modules and an excess number of singletons. This suggests that the purely local metric used in the ECC algorithm is not effective. Additional data file 1 also shows good results for both the GN and BCD algorithms that combine global and local metrics. They clearly produce more consistent and robust results.

The BCD algorithm revealed 21 functional modules (Figure 2); all proteins within known protein complexes are also located within the same module, suggesting that the BCD algorithm is superior at unveiling fine structure buried in complex protein interaction networks. The MCL algorithm predicts only 11 clusters from this small yeast transcription network. Several functional modules are grouped together: the three RNA dependent RNA polymerases (A, B, C) and the RNA polymerase II mediator complex are merged into one cluster; the NuA4 histone acetyltransferase complex, the SWR1 complex, and the INO80 chromatin remodeling complex are grouped into one cluster; the TFIIA complex, the Elongator complex, the SAGA histone acetyltransferase complex, and the TFIID complex are grouped into one cluster; and the COMPASS complex and the mRNA cleavage and polyadenylation specificity complex (CPF) are grouped into one cluster. Apparently, the MCL algorithm is inefficient in discovering boundaries between functionally related protein complexes and tends to group them together. The quality of modules obtained using the GN algorithm is not as good; members of four functional modules, transcription factor IIA (TFIIA) [TOA1, TOA2], TFIID [TAF2, TAF3, TAF4, TAF7, TAF8, TAF11, TAF13], nuclear pore-associated [SAC3, CDC31, THP1], and a new one [ABD1, SPT6] predicted by the BCD algorithm, are misplaced. The ECC algorithm has the same tendency to separate peripheral members of the same known protein complex into incorrect protein modules. For instance, in the transcription network, the ECC algorithm disjoins peripheral proteins such as FOB1, RPC10, RRP8 and RPL6B in a very early phase of the decomposition process, causing those derived singletons to be separated from most functional modules. Singletons do not provide useful information for inferring the function of any module. Therefore, the number of singletons generated by an algorithm is an additional indicator of that algorithm's performance: an excess number of singletons indicates poor performance of a particular algorithm. On this small network, the ECC algorithm produces 13 singletons, while the BCD and GN algorithms produce 9 and 3 singletons, respectively. While the difference between the ECC algorithm and the BCD algorithm is only four singletons, those ECC singletons lose their connections with other modules as they are isolated at a much earlier stage of the decomposition process. Although the GN algorithm produces the least number of singletons in the example network, it is at the expense of generating mosaic modules. Similar trends are seen in following experiments of large networks.

We also note that the original ECC1 algorithm performs more poorly than the ECC2 algorithm with our commonality index (Additional data file 1). From now on, we will not discuss the original ECC1 algorithm. When we refer to the ECC algorithm, we mean the ECC algorithm using our commonality index.

Results on the global yeast network

In this section, we discuss the results of BCD decomposition of a specific network (yeast), the quality of computed modules, and comparison to MIPS hand-curated protein complex data.

We first studied the decomposition processes by the three algorithms as curves in Figure 4. Each curve displays the size of the current network on which an algorithm acts versus the number of productive cuts thus far. We consider the tendency of network fragmentation due to different algorithms, as measured by the number of productive cuts. Note that most module (complex) finding algorithms are typically applied on connected components of network. A productive cut is defined as a removal of an edge resulting in two separate subnetworks. On the original dataset, the BCD, GN and ECC algorithms require 674, 2,779, and 2,304 productive cuts to split the largest connected component of 5,257 nodes into smaller pieces, which means, on average, the algorithms separate 7.8, 1.9 and 2.3 nodes, respectively, from the largest connected component in each productive cut. On the filtered dataset, the respective algorithms require 80, 107 and 710 productive cuts to split the largest connected component of 2,924 nodes into smaller pieces, which means, on average, the algorithms separate 36.5, 27.3 and 4.1 nodes, respectively, from the largest connected component in each productive cut. The more productive cuts made, the more fragmented the network and the more singletons generated, as shown in Table 1. As stated earlier, a large number of singletons is an indicator of poor performance by a particular algorithm. For both datasets, the BCD algorithm produces the fewest singletons of the three partitioning-type algorithms. The size distributions of predicted protein complexes for each algorithm, including the MCL algorithm, on both datasets are shown in Figure 5. The pattern of predicted complexes generated by all three methods is similar to that of hand-curated MIPS complexes [18], suggesting that the proposed protein module definition is effective.

Figure 4

Decomposition curves for the largest sub-networks of two datasets on (a) unfiltered data and (b) filtered data by the three algorithms. During the decomposition process, the larger connected component and the larger one of its derived sub-networks are always decomposed earlier. The y-axis shows the size of the sub-network under decomposition and the x-axis shows the number of productive cuts so far. A productive cut means the removal of an edge splitting one network into two disconnected parts.

Table 1 Number of predicted complexes and singletons
Figure 5

Size distribution of predicted and MIPS protein complexes.


As a measure of the quality of the protein modules computed, we use modularity (Q) [17], which is a measure of a community structure in a network, measuring the difference between the number of edges falling within groups and the expected number in an equivalent network with edges placed at random. Basically, the higher the modularity, the better the separation. The best clusters are given at the point when the modularity is maximal. Previous studies stopped the decomposition process when the modularity reached its peak value and treated all resulting clusters as communities [17, 21]. Applying the modularity criteria on protein interaction networks in this study, however, we found that protein modules obtained in this way tend to be dominated by several very large examples. Nonetheless, the maximal modularity is an objective measure, which is useful for comparing the performance of different algorithms. Table 2 lists the maximal modularities obtained by three algorithms on three networks of different size. The BCD algorithm has the highest Q values for both the transcription network and the unfiltered global network and is very close to the highest Q value of the GN algorithm on the filtered data, suggesting that the BCD algorithm is best in terms of maximal modularity. In particular, on the noisy original data, the maximal modularity Q value by the BCD algorithm is significantly higher than the Q values by the other two algorithms, suggesting the tolerance of data noise by the BCD algorithm is much better than the other algorithms.

Table 2 Comparison of modularity coefficients for network decomposition on three networks of varying sizes

Overlap with MIPS complexes

We validated the biological significance of our predicted protein modules by comparing the hand-curated protein complexes in the MIPS [27] database with the predicted modules. For each predicted module, we found a best-matching MIPS complex using the method of Spirin and Mirny [22], which finds two complexes with the least probability of random overlap using the hypergeometric distribution:

P o v e r l a p = ( n k ) ( N n m k ) ( N m ) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGqbWaaSbaaSqaaiaad+gacaWG2bGaamyzaiaadkhacaWGSbGaamyyaiaadchaaeqaaOGaeyypa0tcfa4aaSaaaeaadaqadaqaauaabeqaceaaaeaacaWGUbaabaGaam4AaaaaaiaawIcacaGLPaaadaqadaqaauaabeqaceaaaeaacaWGobGaeyOeI0IaamOBaaqaaiaad2gacqGHsislcaWGRbaaaaGaayjkaiaawMcaaaqaamaabmaabaqbaeqabiqaaaqaaiaad6eaaeaacaWGTbaaaaGaayjkaiaawMcaaaaaaaa@477A@

where N is the total number in the protein interaction network, n and m are the sizes of two complexes, and k is the number of common nodes. Table 3 presents the overlap (the number of common proteins divided by the number of proteins in the best-matching MIPS complexes) between predicted and MIPS complexes. In terms of the absolute number of clusters that overlap 100% with MIPS complexes, the BCD is the best one on the unfiltered dataset, while the MCL algorithm is the best on the filtered dataset. In terms of the percentage of clusters that overlap 100% with MIPS complexes, the MCL algorithm always performs better than the other three. However, we found the size of predicted clusters might affect the number. The larger a cluster is, the more likely it contains all members of an overlapping MIPS complex. From both Table 1 and Figure 5, the MCL algorithm produces a greater number of larger clusters than the other three algorithms, which was seen previously in the small yeast transcription network.

Table 3 Comparison of predicted protein complexes with known MIPS complexes

Therefore, to estimate the overall correspondence between a resulting cluster by one approach and the collection of annotated complexes, we computed the geometric accuracy and separation as done in the described study [16]. The results are shown in Table 3. Clearly, the BCD algorithm achieves better accuracy than the other three algorithms on both unfiltered and filtered datasets. In terms of separation, it is the MCL algorithm that performs best among the four algorithms on both datasets (Table 3).

GO term enrichment

In addition to the MIPS protein complex dataset we also evaluated the biological significance of predicted protein modules by quantifying GO term co-occurrences using the SGD GO Term Finder [28]. The GO Term Finder calculates a P value that reflects the probability of observing by chance the co-occurrence of proteins with a given GO annotation in a certain complex based on a binomial distribution. The lower the P value of a GO term, the more statistically significant a complex is enriched in the GO term. Table 4 lists the percentage of predicted protein modules whose P value falls within P < e-15, [e-15, e-10], [e-10, e-5] and [e-5, 1]. There are more BCD complexes in terms of absolute number with P value less than 1e-15 on both the unfiltered and filtered datasets.

Table 4 Predicted protein complexes of size ≥3 enriched in GO terms

Prediction of possible novel protein complexes

The number of predicted protein complexes is larger than the number of known protein complexes compiled in the MIPS complex dataset, and many predicted protein complexes do not overlap with MIPS complexes. Among these unmatched predicted protein complexes, some are likely to be true functional protein modules because the GO terms in these complexes are greatly enriched as indicated by low P values. Figure 6 presents two such modules: a five-member module (P = 1.9e-12) of a spindle-assembly checkpoint complex that is crucial in the checkpoint mechanism required to prevent cell cycle progression into anaphase in the presence of spindle damage [29] (Figure 6a), and a thirteen-member module (P = 9.8e-17) including members from the Set3 histone deacetylase complex (Set3, Hos2, Snt1, Hos4, Hst1, Sif2) [30], proteins involved in telomeric silencing (Zds1, Zds2 and Skg6) [31], proteins related to sporulation (Spr6 and Bem3) [32, 33] and two other proteins (YIL055C and Cpr1) (Figure 6b). A complete list of complexes and modules with functional annotation is provided in Additional data files 2 and 3.

Figure 6

Examples of modules where the GO terms are greatly enriched. (a) A five-member module of the spindle-assembly checkpoint complex that is crucial in the checkpoint mechanism required to prevent cell cycle progression into anaphase in the presence of spindle damage. (b) A thirteen member module including members from the Set3 histone deacetylase complex (Set3, Hos2, Snt1, Hos4, Hst1, Sif2), proteins involved in telomere silencing (Zds1, Zds2 and Skg6), proteins related to sporulation (Spr6 and Bem3), and two other proteins (YIL055C and Cpr1).

Table 5 provides the number of predicted protein modules (4 algorithms, 2 datasets) where either the GO terms are greatly enriched (P < 1e-15) or they overlap with MIPS complexes (overlap = 100%). Generally, the protein modules falling within the above two categories can be viewed as functional modules. The BCD algorithm outperforms the other three algorithms in terms of identifying more functional protein modules on the unfiltered dataset. The MCL algorithm predicts more functional protein modules than our BCD algorithm does on the filtered dataset. In addition, all four algorithms predict a substantial number of complexes that do not overlap with MIPS or in which GO term co-occurrences are insignificant. However, these are potentially novel functional complexes for biologists to explore further.

Table 5 Predicted protein modules where either GO terms are greatly enriched (P < 1e-15) or all members of a best-matching MIPS complex are found (overlap = 100%)

The effects of filtering false-positive interactions

In all experiments, the results on the filtered data are consistently better than the results on the original data. For example, in Table 3, the non-overlap between computed protein modules by the BCD algorithm and known protein complexes was reduced from 601 for the original data to 209 on the filtered data. In Table 4, the percentage of GO terms with probability <e-10 is always higher in the filtered data than in the original data.


Protein interaction networks are examples of complex systems that are difficult to understand from raw experimental data alone. Methods to organize, filter, extract significant features and display these data are critical to understanding these systems. A number of network partition algorithms have been proposed to find modular structures in protein interaction networks [22, 3439]. Our work is a further development along the network decomposition approach [13, 14]. Our main contribution is to combine the global metric with a local metric in the decomposition procedure. We also resolved several critical technical issues. We propose a new commonality metric based on random graph analysis, a clear definition of protein modules utilizing the decomposition tree structure, and a noise filtering algorithm based on random graph analysis. These advances in methodology result in an effective, consistent, and robust algorithm, as demonstrated on both simulated datasets and the experimental yeast interaction data. The protein modules obtained have clear biological functions, as shown in Table 5. Our approach to recover protein interaction modules is fully self-contained, that is, it does not need other input or parameters to identify protein module boundaries. Our test experiments on yeast show that this method can effectively predict protein interaction modules from a complex interaction network. We plan to further automate this algorithm to compute protein interaction modules for a large number of organisms.

Materials and methods

Computing geometric accuracy and separation

We computed the geometric accuracy and separation by following the approach described in the study by Brohee and van Helden [16]. Briefly, each clustering result was compared with the annotated complexes by building a contingency table T, where row i corresponds to the ith annotated complex and column j to the jth cluster and the value of a cell Tij indicates the number of proteins found in common between complex i and cluster j. The contingency table has n rows (complexes) and m columns (clusters).


First, we define complex-wise sensitivity S n c o i MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4uaiaad6gadaWgaaWcbaGaam4yaiaad+gadaWgaaadbaGaamyAaaqabaaaleqaaaaa@349A@ as the maximal fraction of protein of complex i that could be found in one cluster by the formula:

S n c o i = max j = 1 m ( T i j / N i ) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamOBamaaBaaaleaacaWGJbGaam4BamaaBaaameaacaWGPbaabeaaaSqabaGccqGH9aqpciGGTbGaaiyyaiaacIhadaqhaaWcbaGaamOAaiabg2da9iaaigdaaeaacaWGTbaaaOWaaeWaaeaadaWcgaqaaiaadsfadaWgaaWcbaGaamyAaiaadQgaaeqaaaGcbaGaamOtamaaBaaaleaacaWGPbaabeaaaaaakiaawIcacaGLPaaaaaa@437B@

where Ni is the number of proteins belonging to complex i. To characterize the general sensitivity of a clustering result, we compute a clustering-wise sensitivity as the weighted average of S n c o i MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4uaiaad6gadaWgaaWcbaGaam4yaiaad+gadaWgaaadbaGaamyAaaqabaaaleqaaaaa@349A@ over all complexes by the formula:

S n = i = 1 n N i S n c o i i = 1 n N i . MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamOBaiabg2da9KqbaoaalaaabaWaaabmaeaacaWGobWaaSbaaeaacaWGPbaabeaacaWGtbGaamOBamaaBaaabaGaam4yaiaad+gadaWgaaqaaiaadMgaaeqaaaqabaaabaGaamyAaiabg2da9iaaigdaaeaacaWGUbaacqGHris5aaqaamaaqadabaGaamOtamaaBaaabaGaamyAaaqabaaabaGaamyAaiabg2da9iaaigdaaeaacaWGUbaacqGHris5aaaakiaac6caaaa@4821@

Second, we calculate a cluster-wise positive predictive value P P V c l j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaamiuaiaadcfacaWGwbWaaSbaaSqaaiaadogacaWGSbWaaSbaaWqaaiaadQgaaeqaaaWcbeaaaaa@3552@ as the maximal fraction of proteins of cluster j found in the best-matching complex by the formula:

P P V c l j = max i = 1 n ( T i j T . j ) MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGqbGaamiuaiaadAfadaWgaaWcbaGaam4yaiaadYgadaWgaaadbaGaamOAaaqabaaaleqaaOGaeyypa0JaciyBaiaacggacaGG4bWaa0baaSqaaiaadMgacqGH9aqpcaaIXaaabaGaamOBaaaakmaabmaajuaGbaWaaSGaaeaacaWGubWaaSbaaeaacaWGPbGaamOAaaqabaaabaGaamivamaaBaaabaGaaiOlaiaadQgaaeqaaaaaaOGaayjkaiaawMcaaaaa@4556@

where T j is the marginal sum of a column j by:

T . j = i = 1 n T i j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGubWaaSbaaSqaaiaac6cacaWGQbaabeaakiabg2da9maaqahabaGaamivamaaBaaaleaacaWGPbGaamOAaaqabaaabaGaamyAaiabg2da9iaaigdaaeaacaWGUbaaniabggHiLdaaaa@3CB4@

To characterize the general PPV (positive predictive value) of a clustering result as a whole, we compute a clustering-wise PPV as the weighted average of P P V c l j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaamiuaiaadcfacaWGwbWaaSbaaSqaaiaadogacaWGSbWaaSbaaWqaaiaadQgaaeqaaaWcbeaaaaa@3552@ over all clusters by:

P P V = j = 1 m T . j P P V c l j j = 1 m T . j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGqbGaamiuaiaadAfacqGH9aqpjuaGdaWcaaqaamaaqadabaGaamivamaaBaaabaGaaiOlaiaadQgaaeqaaiaadcfacaWGqbGaamOvamaaBaaabaGaam4yaiaadYgadaWgaaqaaiaadQgaaeqaaaqabaaabaGaamOAaiabg2da9iaaigdaaeaacaWGTbaacqGHris5aaqaamaaqadabaGaamivamaaBaaabaGaaiOlaiaadQgaaeqaaaqaaiaadQgacqGH9aqpcaaIXaaabaGaamyBaaGaeyyeIuoaaaaaaa@4A49@

The geometric accuracy (Acc) indicates the tradeoff between sensitivity and predictive value. It is obtained by computing the geometric mean of the Sn and the PPV by:

A c c = S n P P V MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGbbGaam4yaiaadogacqGH9aqpdaGcaaqaaiaadofacaWGUbGaeyyXICTaamiuaiaadcfacaWGwbaaleqaaaaa@3A94@


From the contingency table, we derive relative frequencies with respect to the marginal sums, either per row:

F r o w i j = T i j j = 1 m T i j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGgbWaaSbaaSqaaiaadkhacaWGVbGaam4DamaaBaaameaacaWGPbGaamOAaaqabaaaleqaaOGaeyypa0tcfa4aaSaaaeaacaWGubWaaSbaaeaacaWGPbGaamOAaaqabaaabaWaaabmaeaacaWGubWaaSbaaeaacaWGPbGaamOAaaqabaaabaGaamOAaiabg2da9iaaigdaaeaacaWGTbaacqGHris5aaaaaaa@431E@

or per column:

F c o l i j = T i j i = 1 n T i j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGgbWaaSbaaSqaaiaadogacaWGVbGaamiBamaaBaaameaacaWGPbGaamOAaaqabaaaleqaaOGaeyypa0tcfa4aaSaaaeaacaWGubWaaSbaaeaacaWGPbGaamOAaaqabaaabaWaaabmaeaacaWGubWaaSbaaeaacaWGPbGaamOAaaqabaaabaGaamyAaiabg2da9iaaigdaaeaacaWGUbaacqGHris5aaaaaaa@4304@

We then define the separation as the product of column-wise and row-wise frequencies by:

S e p i j = F c o l i j F r o w i j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaamyAaiaadQgaaeqaaOGaeyypa0JaamOramaaBaaaleaacaWGJbGaam4BaiaadYgadaWgaaadbaGaamyAaiaadQgaaeqaaaWcbeaakiabgwSixlaadAeadaWgaaWcbaGaamOCaiaad+gacaWG3bWaaSbaaWqaaiaadMgacaWGQbaabeaaaSqabaaaaa@4433@

The complex-wise separation S e p c o i MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4uaiaadwgacaWGWbWaaSbaaSqaaiaadogacaWGVbWaaSbaaWqaaiaadMgaaeqaaaWcbeaaaaa@3586@ is calculated as the sum of separation values for a given complex i by:

S e p c o i = j = 1 m S e p i j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaam4yaiaad+gadaWgaaadbaGaamyAaaqabaaaleqaaOGaeyypa0ZaaabmaeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaamyAaiaadQgaaeqaaaqaaiaadQgacqGH9aqpcaaIXaaabaGaamyBaaqdcqGHris5aaaa@4191@

and the cluster-wise separation S e p c l j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4uaiaadwgacaWGWbWaaSbaaSqaaiaadogacaWGSbWaaSbaaWqaaiaadQgaaeqaaaWcbeaaaaa@3584@ for cluster j by:

S e p c l j = i = 1 n S e p i j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaam4yaiaadYgadaWgaaadbaGaamOAaaqabaaaleqaaOGaeyypa0ZaaabmaeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaamyAaiaadQgaaeqaaaqaaiaadMgacqGH9aqpcaaIXaaabaGaamOBaaqdcqGHris5aaaa@418F@

To estimate a clustering result as a whole, complex-wise Sep co and clustering-wise Sep cl values are computed as the average of S e p c o i MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4uaiaadwgacaWGWbWaaSbaaSqaaiaadogacaWGVbWaaSbaaWqaaiaadMgaaeqaaaWcbeaaaaa@3586@ over all complexes, and of S e p c l j MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8viVeY=Nipec8Eeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGacaGaaiaabeqaaeqabiWaaaGcbaGaam4uaiaadwgacaWGWbWaaSbaaSqaaiaadogacaWGSbWaaSbaaWqaaiaadQgaaeqaaaWcbeaaaaa@3584@ over all clusters, respectively:

S e p c o = i = 1 n S e p c o i n MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaam4yaiaad+gaaeqaaOGaeyypa0tcfa4aaSaaaeaadaaeWaqaaiaadofacaWGLbGaamiCamaaBaaabaGaam4yaiaad+gadaWgaaqaaiaadMgaaeqaaaqabaaabaGaamyAaiabg2da9iaaigdaaeaacaWGUbaacqGHris5aaqaaiaad6gaaaaaaa@42F2@
S e p c l = j = 1 m S e p c l j m MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamyzaiaadchadaWgaaWcbaGaam4yaiaadYgaaeqaaOGaeyypa0tcfa4aaSaaaeaadaaeWaqaaiaadofacaWGLbGaamiCamaaBaaabaGaam4yaiaadYgadaWgaaqaaiaadQgaaeqaaaqabaaabaGaamOAaiabg2da9iaaigdaaeaacaWGTbaacqGHris5aaqaaiaad2gaaaaaaa@42EC@

We then compute the geometric separation (Sep) as the geometric mean of Sep co and Sep cl by:

S e p = S e p c o S e p c l MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2Caerbhv2BYDwAHbqedmvETj2BSbqee0evGueE0jxyaibaiKI8=vI8GiVeY=Pipec8Eeeu0xXdbba9frFj0xb9Lqpepeea0xd9q8qiYRWxGi6xij=hbbc9s8aq0=yqpe0xbbG8A8frFve9Fve9Fj0dmeaabaqaciaacaGaaeqabaqabeGadaaakeaacaWGtbGaamyzaiaadchacqGH9aqpdaGcaaqaaiaadofacaWGLbGaamiCamaaBaaaleaacaWGJbGaam4BaaqabaGccqGHflY1caWGtbGaamyzaiaadchadaWgaaWcbaGaam4yaiaadYgaaeqaaaqabaaaaa@3FDF@

Additional data files

The following additional data are available with the online version of this paper. Additional data file 1 shows hierarchical decomposition trees of a yeast transcriptional sub-network by different algorithms. Additional data file 2 lists predicted protein interaction modules by the BCD algorithm on the unfiltered dataset. Additional data file 3 lists predicted protein interaction modules by the BCD algorithm on the filtered dataset.



Betweenness-Commonality Decomposition


edge clustering coefficient


Girvan and Newman


Gene Ontology


Munich Information Center for Protein Sequences.


  1. 1.

    Eisen MB, Spellman PT, Brown PO, Botstein D: Cluster analysis and display of genome-wide expression patterns. Proc Natl Acad Sci USA. 1998, 95: 14863-14868.

  2. 2.

    Hughes TR, Marton MJ, Jones AR, Roberts CJ, Stoughton R, Armour CD, Bennett HA, Coffey E, Dai H, He YD, et al: Functional discovery via a compendium of expression profiles. Cell. 2000, 102: 109-126.

  3. 3.

    Ho Y, Gruhler A, Heilbut A, Bader GD, Moore L, Adams SL, Millar A, Taylor P, Bennett K, Boutilier K, et al: Systematic identification of protein complexes in Saccharomyces cerevisiae by mass spectrometry. Nature. 2002, 415: 180-183.

  4. 4.

    Ito T, Tashiro K, Muta S, Ozawa R, Chiba T, Nishizawa M, Yamamoto K, Kuhara S, Sakaki Y: Toward a protein-protein interaction map of the budding yeast: A comprehensive system to examine two-hybrid interactions in all possible combinations between the yeast proteins. Proc Natl Acad Sci USA. 2000, 97: 1143-1147.

  5. 5.

    Krogan NJ, Cagney G, Yu H, Zhong G, Guo X, Ignatchenko A, Li J, Pu S, Datta N, Tikuisis AP, et al: Global landscape of protein complexes in the yeast Saccharomyces cerevisiae. Nature. 2006, 440: 637-643.

  6. 6.

    Krogan NJ, Peng WT, Cagney G, Robinson MD, Haw R, Zhong G, Guo X, Zhang X, Canadien V, Richards DP, et al: High-definition macromolecular composition of yeast RNA-processing complexes. Mol Cell. 2004, 13: 225-239.

  7. 7.

    Gavin AC, Bosche M, Krause R, Grandi P, Marzioch M, Bauer A, Schultz J, Rick JM, Michon AM, Cruciat CM, et al: Functional organization of the yeast proteome by systematic analysis of protein complexes. Nature. 2002, 415: 141-147.

  8. 8.

    Gavin AC, Aloy P, Grandi P, Krause R, Boesche M, Marzioch M, Rau C, Jensen LJ, Bastuck S, Dumpelfeld B, et al: Proteome survey reveals modularity of the yeast cell machinery. Nature. 2006, 440: 631-636.

  9. 9.

    Tong AH, Lesage G, Bader GD, Ding H, Xu H, Xin X, Young J, Berriz GF, Brost RL, Chang M, et al: Global mapping of the yeast genetic interaction network. Science. 2004, 303: 808-813.

  10. 10.

    Pan X, Ye P, Yuan DS, Wang X, Bader JS, Boeke JD: A DNA integrity network in the yeast Saccharomyces cerevisiae. Cell. 2006, 124: 1069-1081.

  11. 11.

    Schuldiner M, Collins SR, Thompson NJ, Denic V, Bhamidipati A, Punna T, Ihmels J, Andrews B, Boone C, Greenblatt JF, et al: Exploration of the function and organization of the yeast early secretory pathway through an epistatic miniarray profile. Cell. 2005, 123: 507-519.

  12. 12.

    Hartwell LH, Hopfield JJ, Leibler S, Murray AW: From molecular to modular cell biology. Nature. 1999, 402 (6761 Suppl): C47-52.

  13. 13.

    Girvan M, Newman ME: Community structure in social and biological networks. Proc Natl Acad Sci USA. 2002, 99: 7821-7826.

  14. 14.

    Radicchi F, Castellano C, Cecconi F, Loreto V, Parisi D: Defining and identifying communities in networks. Proc Natl Acad Sci USA. 2004, 101: 2658-2663.

  15. 15.

    Dongen Sv: Graph Clustering by Flow Simulation. PhD thesis. 2000, University of Utrecht

  16. 16.

    Brohee S, van Helden J: Evaluation of clustering algorithms for protein-protein interaction networks. BMC Bioinformatics. 2006, 7: 488-

  17. 17.

    Newman ME, Girvan M: Finding and evaluating community structure in networks. Phys Rev. 2004, 69: 026113-

  18. 18.

    Mewes HW, Amid C, Arnold R, Frishman D, Guldener U, Mannhaupt G, Munsterkotter M, Pagel P, Strack N, Stumpflen V, et al: MIPS: analysis and annotation of proteins from whole genomes. Nucleic Acids Res. 2004, D41-44. 32 Database

  19. 19.

    Aiello W, Chung F, Lu L: A random graph model for massive graphs. Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing: May 21-23, 2000; Portland, OR. 2000, Portland, Oregon: ACM, 171-180.

  20. 20.

    Brandes U: A Faster Algorithm for Betweenness Centrality. J Mathematical Sociol. 2001, 25: 163-177.

  21. 21.

    Yang Q, Lonardi S: A parallel edge-betweenness clustering tool for Protein-Protein Interaction networks. Int J Data Mining Bioinformatics. 2007, 1: 241-247.

  22. 22.

    Spirin V, Mirny LA: Protein complexes and functional modules in molecular networks. Proc Natl Acad Sci USA. 2003, 100: 12123-12128.

  23. 23.

    von Mering C, Krause R, Snel B, Cornell M, Oliver SG, Fields S, Bork P: Comparative assessment of large-scale data sets of protein-protein interactions. Nature. 2002, 417: 399-403.

  24. 24.

    Goldberg DS, Roth FP: Assessing experimentally derived interactions in a small world. Proc Natl Acad Sci USA. 2003, 100: 4372-4376.

  25. 25.

    Samanta MP, Liang S: Predicting protein functions from redundancies in large-scale protein interaction networks. Proc Natl Acad Sci USA. 2003, 100: 12579-12583.

  26. 26.

    Stark C, Breitkreutz BJ, Reguly T, Boucher L, Breitkreutz A, Tyers M: BioGRID: a general repository for interaction datasets. Nucleic Acids Res. 2006, D535-539. 34 Database

  27. 27.

    Guldener U, Munsterkotter M, Oesterheld M, Pagel P, Ruepp A, Mewes HW, Stumpflen V: MPact: the MIPS protein interaction resource on yeast. Nucleic Acids Res. 2006, D436-441. 34 Database

  28. 28.

    Boyle EI, Weng S, Gollub J, Jin H, Botstein D, Cherry JM, Sherlock G: GO::TermFinder - open source software for accessing Gene Ontology information and finding significantly enriched Gene Ontology terms associated with a list of genes. Bioinformatics. 2004, 20: 3710-3715.

  29. 29.

    Li R: Bifurcation of the mitotic checkpoint pathway in budding yeast. Proc Natl Acad Sci USA. 1999, 96: 4989-4994.

  30. 30.

    Wang A, Kurdistani SK, Grunstein M: Requirement of Hos2 histone deacetylase for gene activity in yeast. Science. 2002, 298: 1412-1414.

  31. 31.

    Roy N, Runge KW: The ZDS1 and ZDS2 proteins require the Sir3p component of yeast silent chromatin to enhance the stability of short linear centromeric plasmids. Chromosoma. 1999, 108: 146-161.

  32. 32.

    Kallal LA, Bhattacharyya M, Grove SN, Iannacone RF, Pugh TA, Primerano DA, Clancy MJ: Functional analysis of the sporulation-specific SPR6 gene of Saccharomyces cerevisiae. Curr Genet. 1990, 18: 293-301.

  33. 33.

    Zheng Y, Cerione R, Bender A: Control of the yeast bud-site assembly GTPase Cdc42. Catalysis of guanine nucleotide exchange by Cdc24 and stimulation of GTPase activity by Bem3. J Biol Chem. 1994, 269: 2369-2372.

  34. 34.

    Snel B, Bork P, Huynen MA: The identification of functional modules from the genomic association of genes. Proc Natl Acad Sci USA. 2002, 99: 5890-5895.

  35. 35.

    Wilhelm T, Nasheuer HP, Huang S: Physical and functional modularity of the protein network in yeast. Mol Cell Proteomics. 2003, 2: 292-298.

  36. 36.

    Xiong H, He X, Ding C, Zhang Y, Kumar V, Holbrook SR: Identification of functional modules in protein complexes via hyperclique pattern discovery. Pacific Symposium on Biocomputing. 2005, 10: 221-232.

  37. 37.

    Bader GD, Hogue CW: An automated method for finding molecular complexes in large protein interaction networks. BMC Bioinformatics. 2003, 4: 2-

  38. 38.

    Bu D, Zhao Y, Cai L, Xue H, Zhu X, Lu H, Zhang J, Sun S, Ling L, Zhang N, et al: Topological structure analysis of the protein-protein interaction network in budding yeast. Nucleic Acids Res. 2003, 31: 2443-2450.

  39. 39.

    Chen J, Yuan B: Detecting functional modules in the yeast protein-protein interaction network. Bioinformatics. 2006, 22: 2283-2290.

Download references


This research is supported by the program Molecular Assemblies, Genes, and Genomics Integrated Efficiently (MAGGIE) funded by the Office of Science, Office of Biological and Environmental Research, US Department of Energy, under contract number DE-AC02-05CH11231. We gratefully acknowledge Dr Elizabeth Holbrook for editing this manuscript.

Author information

Correspondence to Chunlin Wang or Stephen R Holbrook.

Additional information

Authors' contributions

CW, CD and SH were involved in the study design. CW developed the method, carried out the study, and wrote the manuscript. QY was involved in the evaluation of the method. All authors revised the manuscript, read, and approved the final manuscript.

Electronic supplementary material

Authors’ original submitted files for images

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Wang, C., Ding, C., Yang, Q. et al. Consistent dissection of the protein interaction network by combining global and local metrics. Genome Biol 8, R271 (2007) doi:10.1186/gb-2007-8-12-r271

Download citation


  • Gene Ontology
  • Additional Data File
  • Protein Interaction Network
  • Protein Module
  • Decomposition Tree