Background

Most proteins perform biological functions by forming complexes through protein-protein interactions [14]. The identification of protein complexes can benefit the understanding of biological progresses.

In recent years, high-throughput methods have provided us huge amounts of protein-protein interaction (PPI) data. In general, a PPI data set can be represented as a protein-protein interaction network (PIN) where nodes are proteins and edges signifies the interactions between pairs of proteins (nodes). Protein complexes can be detected from PINs by exploiting densely connected subgraphs using graph clustering methods. Up to now, a number of methods for detecting complexes from PINs have been developed.

MCODE [5] is one of the earliest computational methods to predict complexes from PINs. Each node in the PIN is weighted according to its local neighborhood density. After initializing a cluster by a seed protein, MCODE merges a neighboring protein into the cluster if its weight exceeds a certain threshold. The cluster is expanded iteratively until no more node can be added. Following MCODE, many advanced works [613] were reported to detect local dense subgraphs. In addition to exploring densely connected subgraphs, efforts have also been made to discover clique-represented complexes in a PIN. Such methods include Clique [14], LCMA [15], CFinder [16] and CMC [17].

To handle the high false positive and false negative rates of PPI data, some works detect clusters by exploiting additional information other than solely based on topological features. Due to the fact that interacting proteins are likely to have similar gene expression profiles, methods such as MATISSE [18], DMSP [19] and GFA [20] presented various approaches to re-weight the PIN using gene expression data. As it is expected that proteins in the same complex may have high functional similarity, SWEMODE [21] and OIIP [22] detect dense clusters while considering functional similarity of interacting proteins. UEDAMAlign [23] was proposed to detect conserved protein complexes using known protein complexes and homology information of proteins.

Other than the densely connected subgraph assumption of protein complexes, Gavin et al. [2] proposed the core-attachment model of complexes. Here, core stands for a set of proteins that are densely connected and attachment stands for the proteins that own a few links to the core. Based on the core-attachment model, Wu et al. [24] and Leung et al. [25] presented different algorithms to identify core proteins from PIN. Attachment proteins are included into the core structures to form protein complexes.

Qi et al. [26] observed various topology structures of real complexes and proposed a supervised method to predict protein complexes. Yong et al. [27] employed size-specific supervised weighting (SSS) as a new edge weighting scheme to predict small-size protein complexes (consisting of two or three proteins). For all protein interactions, a naive-Bayes maximum-likelihood model was trained to calculate the probabilities of being small-co-complex members.

In our previous work [28], we introduced a novel from-function-to-interaction method CPredictor for protein complex detection. We first cluster proteins based on functional similarity calculated using Biology Process (BP) terms from Gene Ontology(GO) [29], then for each group we find the subsets of proteins that are connected in the PIN. Experimental results have shown that the from function to interaction strategy is better than previous methods when predicting large-size complexes.

There are also some works on complex prediction in dynamic PINs. As they are not quite related to the work of this paper, we do not give more detail here. Readers interested in this topics can refer to a recent survey [30].

In summary, existing methods have demonstrated their abilities to detect protein complexes from protein interaction networks. Yet, methods, which can accurately predict protein complexes of different sizes from PINs under a unified framework, have not been reported. In the protein complex dataset of MIPS [31], there are 61 size-two complexes, 42 size-three complexes and 170 larger complexes. And in CYC2008 [32], there are 156 size-two complexes, 66 size-three complexes and 127 larger complexes. Small complexes and large complexes both account for a large proportion of the total complexes. In a PIN, a size-two complex is represented as a single edge, and a size-three complex consists of three proteins with two or three protein interactions. Traditional graph clustering method is not applicable to detecting such small-size complexes. Therefore, it is challenging to detect protein complexes of all sizes.

In this paper, we propose a novel complex prediction method, which is an advanced version our previous work CPredictor [28]. So we call the new method CPredictor2.0. Concretely, by using CYGD [33] functional annotations, proteins of similar functions are first grouped together. Then, a network is built from each group, where nodes are group members (proteins) and edges indicate the interactions between proteins. Following that, clusters are detected from each network, and are further merged if necessary. Finally, the derived clusters are treated as protein complexes.

Compared to CPreditor [28], CPredictor2.0 is more effective in grouping proteins to different clusters in terms of functions, and thus can predict more small protein complexes. Note that in CPreditor, the similarity between any two proteins is evaluated by GO terms, and with the calculated similarity values, all proteins are grouped into disjoint clusters. Obviously, CPredictor2.0 employs a finer clustering of proteins than CPreditor.

Experiments are conducted on three PPI datasets, and the predicted results are benchmarked with two ground truth datasets, MIPS and CYC2008. In comparison with several existing methods, CPredictor2.0 can more effectively identify both small and large protein complexes.

Methods

In this section, we first give a brief introduction to the functional annotation provided by CYGD [33], then present the details of our method CPredictor2.0.

Functional annotations

The Comprehensive Yeast Genome Database (CYGD) at the Munich Information Center for Protein Sequences (MIPS) [31] provides the information of budding yeast Saccharomyces cerevisiae, including sequence and functional annotations. A hierarchically-structured controlled vocabulary, the Functional Catalogue (FunCat) [34] was developed to annotate genome. Current FunCat annotation scheme 2.1 consists of 27 main categories that cover general features like metabolism, energy, transcription etc. Each main functional branch is organized as a hierarchical structure, and each functional category is assigned to a unique double-digit number. Different levels of categories are separated by dots. For example, “01” stands for the main category metabolism and “01.01.03.01.01” stands for one of its most specific levels, biosynthesis of glutamine. Usually, a protein can perform multiple functions, and thus can be annotated with a set of functional categories. For example, the functions of YAL007C are described as “14.04” (protein targeting, sorting and translocation) and “20.09.07.03” (ER to Golgi transport). In summary, all functional annotations make up a hierarchy (or tree), where lower levels are more specific and higher levels are more general.

The CPredictor2.0 method

The workflow of CPredictor2.0 is shown in Fig. 1. It consists of three major steps: (1) Grouping proteins of similar functions; (2) Detecting preliminary protein clusters; (3) Merging clusters.

Fig. 1
figure 1

The workflow of CPredictor2.0

Algorithm 1 outlines the procedure of our method CPredictor2.0. Lines 1-2 preprocess functional annotations and cluster proteins of similar functions into groups. Lines 3-12 detect the preliminary clusters from the protein groups using PPI data. Thus, proteins in a cluster should first have similar functions, and then interact closely. Lines 13-23 merge highly-overlapping preliminary clusters and derive the final protein complexes.

In what follows, we present the detail of each major step of CPredictor2.0.

(1) Grouping proteins of similar functions

According to the Funcat scheme, protein functions are annotated by terms of various levels in a hierarchy.

In order to evaluate the functional similarity among proteins and to group proteins, we first preprocess all function annotations. We extract the functional annotations specified by the terms of the first N levels in the hierarchy, where N is an input parameter. If N is larger than the height of the annotation hierarchy, we use all annotations. Then, proteins are grouped together if they have similar functional annotations.

Please note that, as a protein usually possesses multiple functions, therefore it may lie in multiple groups. For example, say protein A has function “1.1.1” and protein B has function “1.1.2”. If we use the first two levels (i.e., N=2), then the two function terms are both shortened to “1.1”. Therefore, the two proteins are grouped together. However, if we use the first three levels (i.e., N=3), then their function terms are different, therefore the two proteins belong to different groups. In essence, grouping proteins is equivalent to cutting the annotation hierarchy, each resulting branch corresponds to a group, consisting of the proteins annotated by terms under this branch.

(2) Detecting preliminary protein clusters

We first build a network upon each protein group obtained in last step (Line 5 of Alg. 1). Node set represents proteins in the group, and edge set indicates interactions between proteins. Then in each network, Markov Clustering Algorithm (MCL) [35] is employed to detect preliminary clusters (Line 6 of Alg. 1).

To get clusters, MCL simulates random walks in the network while repeating two steps called expansion and inflation. The network is firstly treated as an adjacent matrix, where the elements indicate whether pairs of nodes are linked or not. At the expansion step, the matrix is updated by taking the power of itself using normal matrix product. At the inflation step, the matrix is normalized after taking the Hadamard power of itself. After a certain iterations of the procedure above, the derived matrix presents the probabilities of nodes belonging to different clusters.

After obtaining clusters by using MCL, we discard these clusters containing only one protein. All the remaining clusters detected from different protein groups are collected together for the following merge step. These are described in Lines 7-11 of Alg. 1.

(3) Merging clusters

To avoid redundancy, highly overlapping clusters are merged.

We adopt a similar procedure like ClusterONE [11] to merge clusters (Line 13 of Alg. 1). Concretely, an overlapping graph G ol is built to describe the overlapping rate between clusters. In G ol , nodes represent clusters detected in the previous step. For each pair of nodes (clusters), if the overlapping rate between them exceeds 0.8, then they are linked in G ol . The overlapping rate (olr) between two clusters C 1 and C 2 is calculated as

$$ olr = \frac{|C_{1} \cap C_{2}|^{2} }{|C_{1}||C_{2}|} $$
(1)

where |·| is the cardinality of a set.

We detect cliques in G ol , and each clique is composed of clusters that are highly overlapping with one another. For those nodes (preliminary clusters) not belonging to any clique, they are regarded as protein complexes without merging (Lines 15-19 of Alg. 1). For each detected clique composed of multiple preliminary clusters, all distinct proteins from these clusters make up a predicted complex (Lines 20-23 of Alg. 1).

Performance evaluation metrics

We used recall, precision and F-measure to evaluate our approach. Let BC={bc 1,bc 2,⋯,bc m } and PC={pc 1,pc 2,⋯,pc n } be the sets of benchmark complexes and predicted complexes, respectively. We calculated the overlapping degree w of a real complex bc i BC and a predicted complex pc j PC. If w≥0.2, we consider that the predicted complex matching with the real one.

Let M bc be the number of benchmark complexes matching at least one predicted complex, and M pc be the number of predicted complexes matching at least one benchmark complex. Recall is defined as

$$ recall = \frac{M_{bc}}{|BC|} $$
(2)

where |BC| stands for the size of benchmark set. Precision is defined as follows:

$$ precision = \frac{M_{pc}}{|PC|} $$
(3)

where |PC| is the total number of predicted complexes.

The F-measure considering both recall and precision is defined as follows:

$$ F-measure = \frac{2 \times recall\times precision}{recall+ precision}. $$
(4)

Results and discussion

Datasets

We used three PPI datasets of Saccharomyces cerevisiae, including Gavin et al. [2], Krogan et al. [36] and Collins et al. [37].

In the dataset of Gavin et al. [2], socio-affinity scoring metric was proposed to measure the confidence of PPI from TAP-MS experimental data. In our study, only pairs with socio-affinity scores above 5 were considered.

In the dataset of Krogan et al. [36], a machine learning method was employed to assign probabilities to the experimental protein-protein interactions. In our study, the core set, which contains only highly-reliable interactions, was used.

The dataset of Collins et al. [37] combined the purification data from the above two studies. They introduced purification enrichment (PE) score to analyze the raw data. In our study, we used the interactions with high confidence as suggested.

Table 1 gives the numbers of proteins and interactions in the three PPI datasets.

Table 1 The numbers of proteins and interactions in the three PPI datasets

Protein complex datasets MIPS [31] and CYC2008 [32] were used as benchmark datasets, which contain 273 and 349 complexes of size ≥2, respectively. Protein complexes with two or three members are considered as small complexes, and those with at least four members are considered as large complexes. Table 2 gives the numbers of small complexes and large complexes in the two datasets.

Table 2 The numbers of small and large complexes in the two benchmark datasets

Parameter selection

We first tested the effect of using different levels of functional annotations. The height of the lowest functional annotations in CYGD is 6 and the highest is 1. Protein complexes are detected from the three PPI datasets in Table 1, which are denoted briefly as Gavin et al., Krogan et al. and Collins et al respectively. The performance is evaluated by recall and precision, which are calculated using MIPS and CYC2008 as ground truth. Results are shown in Figs. 2 and 3. Please note that results of small complexes and large complexes are shown separately.

Fig. 2
figure 2

Recall and precision using MIPS dataset as benchmark. a PPI dataset of Gavin et al., b PPI dataset of Krogan et al., c PPI dataset of Collins et al.

Fig. 3
figure 3

Recall and precision using CYC2008 dataset as benchmark. a PPI dataset of Gavin et al., b PPI dataset of Krogan et al., c PPI dataset of Collins et al.

From Figs. 2 and 3, it is obvious that both recall and precision show almost similar trends in most cases. For example, in Fig. 2 a, complexes are detected from Gavin et al., and they are benchmarked by MIPS. For small complexes, recall increases first and then becomes stable when three or more levels of functional annotations are used, while precision is relatively stable for all levels used. For large complexes, both recall and precision increase first and then become stable when three or more levels of functional annotations are used. Thus, three levels annotation is enough for predicting protein complexes. As more levels of functional annotations are used, functions of proteins can be described more specifically with those annotations, therefore the proteins can be well separated into different groups. In the following experiments, we use the most specific functional annotations by setting the level height to 6.

Comparison with existing methods

We compared our method with several existing methods including MCODE [5], RNSC [7], DPClus [9], CORE [25], ClusterONE [11] and CPredictor [28]. These methods were proposed to predict protein complexes with at least three protein members, and can be tuned to predict size-two complexes. Protein complexes are detected from the aforementioned PPI datasets. The performances of all these methods was evaluated by recall, precision and F-measure.

Experimental results using MIPS dataset as benchmark are shown in Fig. 4. It is obvious that our method dominates other methods in terms of F-measure. When detecting small complexes, all other methods shows obvious trade-off between recall and precision, while our method always achieves competitive and balanced recall and precision. As for large complexes, our method achieves the best recall and precision.

Fig. 4
figure 4

Performance comparison. Protein complexes are detected from three PPI datasets and MIPS is used as benchmark

The results using CYC2008 as benchmark are illustrated in Fig. 5. Again it is clearly shown that our method achieves the best F-measure in most cases, except when detecting large complexes from Krogan et al. and Collins et al, the F-measure of CPredictor2.0 is sightly lower than but comparable to that of CPredictor. Both recall and precision of our method are quite competitive and balanced, comparing to the existing methods.

Fig. 5
figure 5

Performance comparison. Protein complexes are detected from three PPI datasets and CYC2008 is used as benchmark

For comparison in detail, we present all results in Tables 3 and 4.

Table 3 Performance comparison. Here, protein complexes are detected from three PPI datasets and MIPS is used as benchmark
Table 4 Performance comparison. Here protein complexes are detected from three PPI datasets and CYC2008 is used as benchmark

Conclusion

In this paper, we aimed at effectively detecting both small and large complexes from protein interaction networks. To this end, we first group proteins of similar functions according to their functional annotations. Upon each protein group, a network is built where nodes are proteins and edges are interactions between proteins. Then, we apply the MCL algorithm over each network to detect dense subgraphs, each of which is a protein cluster. Finally, we merge highly-overlapping clusters. The derived clusters are considered to be complexes.

Our method has been evaluated on three PPI datasets by taking MIPS and CYC2008 as benchmark datasets. Experimental results have shown that, comparing with several existing methods, in most cases our method achieves higher F-measure in detecting small complexes (size= 2 and 3) and large complexes (size ≥ 4) as well as all complexes as a whole. This result shows that our method is more effective in detecting complexes from PPI networks than the existing methods.