Modifying the DPClus algorithm for identifying protein complexes based on new topological structures
© Li et al. 2008
Received: 23 February 2008
Accepted: 25 September 2008
Published: 25 September 2008
Skip to main content
© Li et al. 2008
Received: 23 February 2008
Accepted: 25 September 2008
Published: 25 September 2008
Identification of protein complexes is crucial for understanding principles of cellular organization and functions. As the size of protein-protein interaction set increases, a general trend is to represent the interactions as a network and to develop effective algorithms to detect significant complexes in such networks.
Based on the study of known complexes in protein networks, this paper proposes a new topological structure for protein complexes, which is a combination of subgraph diameter (or average vertex distance) and subgraph density. Following the approach of that of the previously proposed clustering algorithm DPClus which expands clusters starting from seeded vertices, we present a clustering algorithm IPCA based on the new topological structure for identifying complexes in large protein interaction networks. The algorithm IPCA is applied to the protein interaction network of Sacchromyces cerevisiae and identifies many well known complexes. Experimental results show that the algorithm IPCA recalls more known complexes than previously proposed clustering algorithms, including DPClus, CFinder, LCMA, MCODE, RNSC and STM.
The proposed algorithm based on the new topological structure makes it possible to identify dense subgraphs in protein interaction networks, many of which correspond to known protein complexes. The algorithm is robust to the known high rate of false positives and false negatives in data from high-throughout interaction techniques. The program is available athttp://netlab.csu.edu.cn/bioinformatics/limin/IPCA.
In the post-genomic era, one of the most important issues is to systematically analyze and comprehensively understand the topology of biological networks and biochemical progress in cells. Protein complexes can help us to understand certain biological progress and to predict the functions of proteins. As John Donne pointed out, no protein is an island entire of itself or at least, very few proteins are. Most proteins seem to function within complicated cellular pathways, interacting with other proteins either in pairs or as components of larger complexes[1, 2].
Various methods have been used to detect protein complexes. Large-scale mass-spectrometric studies in Saccharomyces cerevisiae provide a compendium of protein complexes that are considered to play a key role in carrying out yeast functionality[3, 4]. Although vastly informative, such methods offer information only on the composition of a protein complex at a given time and developmental or environmental condition. Repeated individual purifications coupled with each of these complexes could offer a more precise picture[6, 7], but such approaches on a large scale are unavailable at present. Affinity purification techniques using mass spectrometry provide a particularly effective approach to identifying protein complexes. These high-throughput techniques have been used to perform large scale protein-protein interaction screens in the yeast Saccharomyces cerevisiae[3, 4, 8–11]. Sharanet al.[12, 13] developed a probabilistic model for protein complexes in a single species and a model for the conservation of complexes between two species. Based on the assumption that proteins in the same pathway are typically present or absent in a genome as a group, Pellegriniet al. detected the conserved complexes across two species. Methods based on integrated multiple information (e.g. functional annotations for proteins, protein structures, gene expression,et al.) have been proposed[5, 15]. Dezsoet al. believe that the cellular role and the essentiality of a protein complex may largely be determined by a small group of protein subunits that display a high mRNA coexpression pattern, belong to the same functional class, and share the same deletion phenotype and cellular localization. However, the relation between protein interactions and gene coexpressions may be very complicated with a high rate of false positive in the protein interaction data generated by high-throughput methods.
At present, a general trend is to represent the protein-protein interactions as a graph and to apply suitable graph algorithms to extract necessary information. There have been several graph clustering approaches proposed to detect protein complexes, including SPC (Super paramagnetic clustering), RNSC (Restricted Neighborhood Search Clustering), MCODE (Molecular Complex Detection)[19, 20], DPClus, LCMA (Local Clique Merging Algorithm), CFinder, and STM (Signal Transduction System). For later comparisons of our proposed algorithm with these algorithms, we give a brief description and discussion on each of these algorithms.
SPC is a hierarchical clustering algorithm that simulates a ferromagnetic model with physical properties subject to fluctuation at nonzero temperature. Algorithm SPC identifies vertices belonging to a highly connected subgraph. However, as a disadvantage, SPC is sensitive to noisy data. In fact, to our knowledge, all methods of predicting protein-protein interactions cannot avoid yielding a non-negligible amount of noise (false positives).
RNSC is a cost-based clustering algorithm, which partitions the vertices of a graph into clusters based on a cost function that is assigned to each partitioning. It starts from an initial random solution and iteratively moves a vertex from one cluster to another to decrease the total cost of clusters. It ends up when some moves have been reached without decreasing the cost function. RNSC is a randomized algorithm and its results depend heavily on the quality of the initial clustering.
MCODE[19, 20] is a density-based local search algorithm that operates in three stages: vertex weighting, complex prediction, and optionally post-processing. First, it assigns a weight to each vertex based on its local neighborhood density. Then, it seeds a complex with the highest weighted vertex and recursively moves outward from the seed vertex. A new vertex is added to the complex if its weight is larger than a given threshold. Then, it filters or adds proteins in the clusters by certain connectivity criteria. However, MCODE cannot guarantee that the predicted clusters are highly connected to each other, since the highly weighted vertices may not be highly connected to each other.
Most importantly, SPC, RNSC and MCODE cannot generate overlapping protein complexes, and require that each vertex belong to one specific cluster. In practice, a protein may be involved in multiple complexes and have more than one biological function. For example, in the CYGD database, the ratio of the number of proteins in known protein complexes over the sum of the sizes of these complexes is 2750/8932. Therefore, it is practically important to develop algorithms that identify overlapping protein complexes. The DPClus clustering algorithm is based on density and periphery tracking and can detect both non-overlapping clusters and overlapping clusters. To generate overlapping clusters, DPClus extends the non-overlapping clusters by adding their neighbors in the original graph (rather than in the remaining graph). It starts at a highest weighted vertex and grows gradually by adding vertices from its neighbors. It uses two parameters, densityd k and cluster propertycp nk . A vertex added to a cluster must satisfy two conditions: 1) its addition does not cause the densityd k of the cluster to fall below a given thresholdd in ; and 2) itscp nk is larger than another given thresholdcp in .
LCMA generates overlapping clusters based on local clique merging. It first locates local cliques for each vertex of the graph then merges the detected local cliques according to their affinity to form maximal dense subgraphs.
CFinder is a tool of detecting overlapping clusters based on the Clique Percolation Method (CPM). CPM defines a protein complex as a union of allk-cliques that can be reached from each other through a series of adjacentk-cliques (twok-cliques are adjacent if they share exactlyk- 1 vertices). Results of CFinder are highly correlated to the value of the parameterk. Larger values ofkcorrespond to smaller subgraphs of higher density.
STM models protein interaction networks as dynamic signal transduction systems, and demonstrates the signal transduction behavior of perturbations by proteins statistically. STM allows overlapping of output clusters and identifies clusters of large size, arbitrary shape, and low density. However, unexpected huge clusters may also be generated in its post-process of merging.
In this paper, we propose a clustering algorithm, which follows the general framework of the algorithm DPClus but is based on a new topological structure of complexes. By a careful study of the structures of known complexes, we discover that most complexes have a very small diameter and a very small average vertex distance. Also observing that vertex distance along would not precisely determine the desired complex structures, we propose a new topological structure of complexes that is the combination of vertex distance and subgraph density. Following the general approach of expanding clusters started with seeded vertices, as what DPClus did, we develop an algorithm IPCA for detecting protein complexes based on the new topological structure. We apply the algorithm IPCA to the protein interaction network of yeast, and identify many well-known protein complexes. We compare IPCA with the six competing previous methods DPClus, CFinder, LCMA, MCODE, RNSC and STM. The clusters generated by each method are compared to the known protein complexes. The results of the comparisons show that much more experimentally determined complexes are recalled by IPCA than by other six methods. In addition, IPCA is robust against the high rate of false positives and false negatives in the protein interaction networks. Thus, the algorithm IPCA can be used to identify new protein complexes in protein interaction networks of various species and provide references for biologists in their research on protein complexes.
Before we present our algorithm, we would like to discuss the difference between our algorithm IPCA and the previously proposed algorithm DPClus. The algorithm IPCA follows the general approach of cluster expanding based on seeded vertices, as what DPClus did. However, the rules of IPCA for expanding clusters and weighting vertices are somewhat different from that of DPclus especially they target a different topological structure for the resulted clusters. In particular, the algorithm DPClus identifies subgraphs that satisfy a density condition (i.e.,d k ) and certain cluster connectivity property (i.e.,cp nk ), while the algorithm IPCA looks for subgraph structures that have a small diameter (or a small average vertex distance) and satisfy a different cluster connectivity-density property (i.e.,IN vK ). Also, the algorithm IPCA computes the vertex weights only once,based on the original input graph. On the other hand, once a new cluster is identified, the algorithm DPClus removes the cluster and re-computes the vertex weightsbased on the remaining subgraph. We believe that our approach is biologically more meaningful: the selection of a seeded vertex for a cluster is based on vertex weights, which should be measured by the original protein network because the cluster is a dense structure in the original network. On the other hand, a remaining subgraph in the process of DPClus may have lost some useful biological information because the algorithm re-computes the vertex weights based on the remaining subgraph. A byproduct of our approach is that our algorithm is more efficient because it avoids the recomputation.
A protein interaction network is represented as an undirected simple graphG(V,E) with proteins as vertices and protein interactions as edges. Previous works[16–21, 27] have revealed that protein complexes in a protein interaction network generally correspond to dense regions (dense subgraphs, or simplyclusters). Most density-based clustering algorithms, such as DPClus, first generate a seed vertex and extend from the seed vertex by adding new vertices. The performance of such algorithms depends heavily on the quality of the seeds and the criterion of extending, especially the latter.
In this section, we propose a new extending model by analyzing the topology of the complexes in the protein interaction network of Saccharomyces cerevisiae. The protein interaction network of Saccharomyces cerevisiae is downloaded from MIPS (Munich Information Center for Protein Sequences) database. We remove all the self-connecting interactions and repeated interactions. The final network includes 4546 yeast proteins and 12319 interactions. The average clustering coefficient of the final network is 0.4, the network diameter is 13, and the average vertex distance is 4.42. We also collect from the MIPS database protein complexes annotated for Sacchromyces cerevisiae. There are 216 manually annotated complexes that consist of two or more proteins. The largest complex contains 81 proteins, the smallest complex contains 2 proteins, and the average size of all the complexes is 6.31. For each protein complex, we analyze its topology in the network of Sacchromyces cerevisiae. Of the 216 protein complexes, 118 are connected (a protein complex is connected if there is a path connecting every pair of vertices in the complex). For a connected protein complex, its diameter is defined to be the maximum shortest path length between any pair of vertices in it. A non-connected protein complex can be divided into connected components. Most of the non-connected protein complexes can be divided into a large component and one or two separated proteins. For a non-connected protein complex, we define its diameter to be the maximum diameter over all its connected components. We calculate the diameter and average shortest path length for each of the 118 connected protein complexes and for each of the 98 non-connected protein complexes.
Diameter and average length of the shortest paths of protein complexes
Diameter of the Complex
Average Length of the shortest paths
D = 3
L = 2.047
D = 4
D = 3
2 <L≤ 2.5
D = 4
D = 5
In the following discussion, we denote bySP(K) the diameter of a graphK(i.e., the largest length of a shortest path between a pair of vertices inK), and byASP(K) the average length of all the shortest paths between each pair of vertices inK. Since the discussions forSP(K) andASP(K) are similar, our discussion will be mainly focused onSP(K).
wherem vK is the number of edges between the vertexvandK, andn K is the number of vertices inK. We discuss the relationship between the parameterIN vK and the two parametersd K andcp vK introduced in the algorithm DPClus. According to, thedensity d K of a subgraphKis defined asd K = 2m K /(n K (n K - 1)), wherem K is the number of edges in the subgraphK, and thecluster property cp vK of a vertexvwith respect to the subgraphKis defined ascp vK =m vK /(d K n K ). By the expressions, our parameterIN vK is similar to the parametercp vK (differing by a factor ofd K ). Moreover, the following theorem shows that the parameterIN vK is also closely related to the densityd K .
Theorem. LetKbe a subgraph of a graphG. If for every vertexvinK, we haveIN vK' ≥t0, whereK'=K-vandt0is a fixed constant, thend K ≥t0.
PROOF. By the conditions given in the theorem, for all verticesvinK, we have (whereK'=K-v,m vK' is the number of edges betweenvandK', andn K' is the number of vertices in the subgraphK'),
IN vK' =m vK' /n K' ≥t0
This givesd K = 2m K /(n K (n K - 1)) ≥t 0, and proves the theorem. □
By the above theorem, a lower bound on the parameterIN vK' for every vertexvin a subgraphKwill also provide a lower bound on the densityd K of the subgraphK. Next we show that the parameterIN vK can help distinguishing subgraph structures that are indistinguishable by their diameters. Consider the two graphs in Figure1 again. Although both graphs have diameter 2, for all verticesvin the first graph, the valueIN vK' is 4 = 5; while for five of the six vertices in the second graph, the valueIN vK' is 1/5 (where we defineK'=K-v).
Our algorithm IPCA looks for complex structures whose topological structure is controlled by the two parametersSP(K) andIN vK . More specifically, we look for complex structures whose diameter is controlled by the parameterSP(K) and whose density and cluster property are controlled by the parameterIN vK .
IN vK ≥T in ; and
The(SP≤d)-Version:SP(K+v) ≤d(orThe(ASP≤d)-Version:ASP(K+v) ≤d)
Note that there are actually two versions for the definition of a (K,T in ,d)-vertex in terms of condition 2: one uses the conditionSP(K+v) ≤d(i.e., the (SP≤d)-Version), and the other uses the conditionASP(K+v) ≤d(i.e., the (ASP≤d)-Version).
The algorithm IPCA can be divided into four major parts:Weighting Vertex,Selecting Seed,Extending Cluster, andExtend-judgment. The input to the algorithm is an undirected simple graph.
Our procedure of vertex weighting is the same as that of the DPClus algorithm. For an input graphG= (V,E), we assign the weight of an edge [u,v] to be the number of neighbors shared by the verticesuandv. We define the weight of each vertex to be the sum of the weights of its incident edges. After all vertices are assigned weights, however (this is different from DPClus), we also sort in non-increasing order the vertices by their weights and store them in a queueS q (vertices of the same weight are ordered in terms of their degrees). The complexity of calculating edge weights and vertex weights isO(|V||E|), and the complexity of sorting all vertices by their weights isO(|V| log |V|).
The notion that vertex weight is a good measure for selecting seeds has been adopted by DPClus and MCODE. Here, we also pick the highest weighted vertices as the seeds. Our procedure proceeds as follows. We pick the first vertex in the queueS q and use it as a seed to grow a new cluster. Once the cluster is completed, all vertices in the cluster are removed from the queueS q and we pick the first vertex remaining in the queueS q as the seed for the next cluster. There are a number of important differences between this seed selection procedure and the one used in the DPClus algorithm. First, our procedure computes the vertex weight for each vertex only once, based on the original graph; while the DPClus algorithm recomputes the vertex weight for each remaining vertex after a cluster is removed,based on the remaining subgraph. We feel that our approach is biologically more meaningful because a complex is a dense structure in the original protein network thus its seed vertex should be measured in terms of the original graph. On the other hand, a remaining subgraphG'during the process of DPClus may have lost certain biological information (e.g., interactions between the vertices inG'and vertices not inG'have been removed). Computationally, our approach also has the advantage of being more efficient. Moreover, our approach has also helped for generating overlapping complexes. This is because the vertices of the generated clusters are only removed from the queueS q , but not from the original graphG.
A clusterKis extended by adding vertices recursively from its neighbors according to thepriority. The priority of a neighborvofKis determined by the valueIN vK . This procedure is similar to the one proposed in DPClus, except that we do not use "fine-tuning" to sort the neighbors. Whether a high priority vertexvis added to the cluster is determined by theExtend-judgmenttest that tests ifvis a (K,T in ,d)-vertex. Only when the candidate vertexvis a (K,T in ,d)-vertex, can it be added to the cluster. Once the new vertexvis added to the cluster, the cluster is updated, i.e., the neighbors of the new cluster are re-constructed and the priorities of the neighbors of the new cluster are re-calculated, and the algorithm goes recursively with the new cluster. The complexity of generating a candidate vertex from the neighbors of the clusterKisO(n K n N(K)+n N(K)logn N(K)), wheren N(K)is the number of neighbors ofK.
Whether a candidate vertexvis added to a clusterKis determined by the two conditions given in Definition 1. First, we calculate the valueIN vK . The vertex will not be added to the cluster if the valueIN vK is less thanT in . If the vertexvpasses this test, then depending on whether usingSP≤dorASP≤d, the algorithm computes the diameter of the graphK+vor the average length of the shortest paths between pairs of vertices inK+v, and compares the value with the parameterd. If the computed value is bounded byd, then the vertexvis added to the cluster. If the vertexvfails any of these tests, then the next highest priority neighbor of the cluster is tested, and so on. If all neighbors fail the tests, then the cluster cannot be further extended, and a complete cluster is formed whose vertices are removed from the queueS q . In this paper,d= 2 is used according to our previous analysis. The complexity of testing whether a candidate vertex is added to a cluster isO( ).
We remark that our algorithm IPCA guarantees that no two generated clusters would be the same: a seed vertexvfor a new cluster is selected such thatvdoes not belong to any of the previously constructed clusters. In fact, any two clusters constructed by the algorithm IPCA should be expected to be sufficiently different. To see this, letC 2be a cluster seeded atv 2that is constructed after a clusterC 1. If the two clustersC 1andC 2are largely overlapping, then intuitively, the vertexv 2is closely and densely connected to many vertices inC 1. Thus, during the construction of the clusterC 1, the vertexv 2would have a large chance to be included inC 1and would have not become a seed for the later clusterC 2.
The time complexity of the entire algorithm IPCA depends on the number and the size of predicted clusters. The running time of IPCA is given in the next section.
The protein interaction network of Sacchromyces cerevisiae is downloaded from the MIPS database. After removal of all the self-interactions and repeated interactions, the final network includes 4546 proteins and 12319 interactions. We apply the proposed algorithm IPCA to this network. In the following subsections, we discuss the effect of the valueT in on clustering, compare the predicted clusters with the known complexes, evaluate the significance of the predicted clusters, and analyze the robustness and efficiency of the algorithm IPCA. We will also compare the algorithm IPCA to six competing previous methods for their performance of identifying protein complexes. The comparisons are also performed on protein interaction networks and random networks.
Figure3(c) shows that the size of the biggest cluster is decreasing asT in increases. The same trend of the average size of the predicted clusters is shown in Figure3(d). With the increasing ofT in , the probability of neighbors added to the cluster is decreasing. Thus, the size of the predicted clusters is also decreasing. From Figure3, we can see that there is almost no difference for the clusters generated by usingSP≤ 2 or by usingASP≤ 2 whenT in ≥ 0.5. More and larger clusters are generated by usingASP≤ 2 than by usingSP≤ 2 with the sameT in when it is smaller than 0.5.
whereFP(false positive) equals the total number of the predicted clusters minusTP. According to the assumption in, a predicted cluster and a known complex are considered to be matched ifOS(Pc,Kc) ≥ 0.2. Here, we also use 0.2 as the matched overlapping threshold.
The Sensitivity(S n ), Specificity(S p ),f-measure(f) and Coverage(Cov)of the predicted clusters generated by IPCA using different parameters
T in = 0.1
T in = 0.2
T in = 0.3
T in = 0.4
T in = 0.5
T in = 0.6
T in = 0.7
T in = 0.8
T in = 0.9
Comparison of the number of known complexes matched by the predicted clusters generated by IPCA and other previous algorithms
Overlapping Score Threshold
T in = 0.9
CP in = 0.5
V WP= 0.1
D in = 0.9
Though the method DPClus can generate clusters with two modes (non-overlapping and overlapping), it does not include the overlapping option at present. We generated by ourselves ten sets with non-overlapping mode using DPClus. Another ten sets with overlapping mode were provided by an author (Md Altaf-UI-Amin) of DPClus. WhenCP in = 0.5 andD in = 0.9, DPClus gets the best matching results. Since it is more significant to detect overlapping protein complexes, we consider the best matching results generated by DPClus with overlapping mode.
The method CFinder gets the best matching results by settingk= 3.
The method LCMA gets the best matching results by settingNA= 0.4.
For the method MCODE, there are 840 parameter combinations, and most of them have similar matching results. The method MCODE gets the best matching results when the "haircut" option is not used and whenVWP= 0.1 andFluff= 0.
The method RNSC gets the best matching results when the number of the predicted clusters is about 1200. The authors of the method STM have shown that the method gets the best performance when the merge threshold value is 1.0. However, a huge cluster that includes 4358 proteins and 85 clusters whose sizes vary from 2 to 7 are generated when the merge threshold value is 1.0. Of all the 86 clusters, only 4 clusters match known complexes with the overlapping soreOS≥ 0.2. Thus, we consider the matching results of the clusters not merged for the method STM.
As shown in Table3, the clusters generated by IPCA match more known complexes than all six other methods for all different overlapping score thresholds. WhenOS> 0.2, the number of matched known complexes by IPCA is about 1.2 times more than that by DPClus, LCMA and RNSC. With the same overlapping score threshold, the number of matched known complexes by IPCA is about 2.7 times more than that by CFinder, and about 4.2 times more than that by MCODE and STM. WhenOS= 1, there are no more than 10 matched known complexes by CFinder, MCODE, RNSC, and STM. On the other hand, there are 28 known complexes matched perfectly by the clusters of IPCA.
The results show that IPCA outperforms all these six previous methods on the performance of identifying protein complexes.
Comparison of the number of known complexes matched by the predicted clusters (consisting of 3 or more proteins) generated by IPCA and DPClus.
IPCA(T in = 0.9;SP≤ 2)
DPClus(Ov;CP in = 0.5;D in = 0.9)
whereNis the total number of vertices in the network,Cis the size of the predicted cluster,Fis the size of a functional group, andkis the number of proteins of the functional group in the predicted cluster. The functional classification of proteins used in this paper was collected from the MIPS Functional Catalog (FunCat) database. FunCat is an annotation scheme of tree-like structure for the functional description of proteins. There are up to 6 levels of increasing specificity and 1360 functional categories in FunCat. We obtained 443 clusters with size ≥ 6 when usingT in = 0.6 and obtained 132 clusters with the same size when usingT in = 0.9. All these predicted clusters with size ≥ 6 by usingT in = 0.6 andT in = 0.9 match well with the known functional categories with P-value < 0.001. As the fact that proteins in the same complex are of similar function, we predicted 7 previously un-characterized proteins in the predicted clusters generated byT in = 0.9 and predicted 50 previously un-characterized proteins in the predicted clusters generated byT in = 0.6. For example, the unknown function protein YOR264w is included in a 7-member cluster, of which six are the cytoskeleton/structural proteins. Thus, we can predict that the function unknown protein YOR264w is also a cytoskeleton/structural protein. All the clusters of size ≥ 6 generated byT in = 0.9 andT in = 0.6 and their main function annotations are given in an additional file1.
The un-characterized proteins in these clusters are also given in the additional file1. As the incompleteness of the function annotation, we can also predict new membership for the known complexes and predict new functions for known proteins. As shown in additional file2, the main function of a 10-member cluster is splicing (11.04.03.01). Seven proteins of the cluster are related to splicing. Other three proteins in the cluster without the function of splicing are all related to mRNA processing (splicing, 5'-, 3'-end processing), which is a higher level of splicing. Thus, we can deduce that the three proteins involved in mRNA processing may be members of the splicing complexes.
Running time of IPCA with variousT in (second)
It is believed that identification of protein complexes is useful to explain certain biological progress and to predict functions of proteins. In this paper, we proposed a new topological structure for protein complexes and developed an algorithm IPCA to identify protein complexes in large protein interaction networks based on the new topological structure. Interaction networks are represented by undirected simple graphs and we generate predicted clusters in the networks by using seed selection and local search. The seeds in the networks are calculated only once, which has reduced the running time of the algorithm effectively. Two parameters,SP(K) (orASP(K)) andIN vK , are used that reflect the statistics of topological structures of the networks. As the accumulation of new complexes and protein-protein interactions, the thresholds of the parametersSP(K) (orASP(K)) andIN vK can be changed easily for generating different types of clusters. Moreover, the algorithm IPCA can generate overlapping protein complexes, which is consistent with the fact that many of the known protein complexes are overlapping. Interesting questions for further research include how many functions a protein can have, how many processes a protein can participate in, and how heavily two protein complexes should overlap with each other.
We applied the algorithm IPCA to the protein interaction network of Sacchromyces cerevisiae. Many well-known complexes were found in the protein interaction network. We predicted the functions for un-characterized proteins and predicted new functions for the known proteins by minimizing the P-values of the predicted clusters. We tested the robustness of our algorithm by adding and removing edges in the network randomly. The results have shown that our algorithm is robust against the high rate of false positives and false negatives in the protein interaction networks. Our algorithm can thus be used to identify new protein complexes in protein interaction networks of various species and to provide references for biologists in their research on protein complexes.
The protein interaction data of Sacchromyces cerevisiae was collected from MIPS, represented as pairs of interacting proteins. First we removed self-interactions and repeated interactions. The final network includes 4546 yeast proteins and 12319 interactions. We also collected from the MIPS database protein complexes annotated for Sacchromyces cerevisiae. We discarded those consisting of only one protein and the final remaining 216 manually annotated complexes are considered as the gold standard data. The proposed algorithm IPCA has been implemented in C++.
The authors would like to thank Md Altaf-UI-Amin, Y. Shinbo, K. Mihara, K. Kurokawa, and S. Kanaya for their kindly sharing the tool of DPClus, providing the experiment results for the overlapping mode, and discussions on the protein complexes data. The authors are also thankful to G. Bader and C. Hogue for their sharing the tool of MCODE, to B. Adamcsek, G. Palla, I. Farkas, I. Derenyi, and T. Vicsek for their publicity of CFinder, to A. King, N. Przulj, and I. Jurisica for their sharing the source code of RNSC, and to W. Hwang, Y. Cho, A. Zhang, and M. Ramanathan for their sharing the source code of STM. The authors also thank the anonymous reviewers for their helpful and constructive suggestions.
This research is supported in part by the National Science Foundation of China under Grant No. 60433020.
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.