MAE-FMD: Multi-agent evolutionary method for functional module detection in protein-protein interaction networks

Background Studies of functional modules in a Protein-Protein Interaction (PPI) network contribute greatly to the understanding of biological mechanisms. With the development of computing science, computational approaches have played an important role in detecting functional modules. Results We present a new approach using multi-agent evolution for detection of functional modules in PPI networks. The proposed approach consists of two stages: the solution construction for agents in a population and the evolutionary process of computational agents in a lattice environment, where each agent corresponds to a candidate solution to the detection problem of functional modules in a PPI network. First, the approach utilizes a connection-based encoding scheme to model an agent, and employs a random-walk behavior merged topological characteristics with functional information to construct a solution. Next, it applies several evolutionary operators, i.e., competition, crossover, and mutation, to realize information exchange among agents as well as solution evolution. Systematic experiments have been conducted on three benchmark testing sets of yeast networks. Experimental results show that the approach is more effective compared to several other existing algorithms. Conclusions The algorithm has the characteristics of outstanding recall, F-measure, sensitivity and accuracy while keeping other competitive performances, so it can be applied to the biological study which requires high accuracy.


Background
With the completion of the sequencing of the human genome, proteomic research becomes one of the most important areas in the life science [1]. Proteomics is the systematic study of the diverse properties of proteins to provide detailed descriptions of the structure, function and control of biological systems in health and disease [2], where the analysis of underlying relationships in protein data can potentially yield and considerably expand useful insights into roles of proteins in biological processes. That is, protein-protein interactions (PPI) can provide us with a good opportunity to systematically analyze the structure of a large living system and also allow us to use them to understand essential principles. Therefore, the analysis of PPI networks naturally serves as the basis to *Correspondence: jjz01@bjut.edu.cn 1 College of Computer Science, Beijing University of Technology, Chaoyang District, Beijing, China Full list of author information is available at the end of the article a better understanding of cellular organization, processes, and functions [3]. Since biologists have found that cellular functions and biochemical events are coordinately carried out by groups of proteins interacting each other in functional modules (or complexes), and the modular structure of a complex network is critical to functions, identifying such functional modules (or complexes) in PPI networks is very important for understanding the structures and functions of these fundamental cellular networks a . In the last decade, some biological experimental methods, e.g., tandem affinity purification with mass spectrometry [4,5] and protein-fragment complementation assay (PCA) [6], have already been used to detect functional modules in PPI networks. However, there are several limitations to these experimental methods, such as too many processing steps and too time-consuming, especially when dealing with a large-scale and densely connected PPI network. Therefore, computational approaches based on machine learning and data mining have been designed and http://www.biomedcentral.com/1471-2105/ 15/325 become useful complements to the experimental methods. Over the last decade, a variety of classic clustering approaches, such as density-based clustering [7][8][9], hierarchical clustering [10][11][12], partition-based clustering [13][14][15], and flow simulation-based clustering [16][17][18], have been used for identifying functional modules in PPI networks. In recent years, there has also been a number of new emerging approaches [19][20][21], which employs novel computational models to identify functional modules in a PPI network. Especially, some nature-inspired swarm intelligence algorithms have been recently applied to the detection of functional modules in PPI networks [22][23][24][25]. Though using computational approaches to detect protein functional modules in PPI networks has received considerable attention and researchers have proposed many detection ideas and schemes over the past few years [1], how to efficiently identify functional modules by means of novel computational approaches is still a vital and challenging scientific problem in computational biology.
Agent-based methods have been previously applied to solving certain search and optimization problems [26,27]. In such methods, an agent, a, is a computational entity that resides in and reacts to its local environment. During the process of interacting with its environment and companion agents, each agent increases its energy level as much as possible, so that the multi-agent evolution can achieve the ultimate goal of solving a global optimization problem. As another example of nature-inspired methods, multi-agent evolution has shown some promises in producing low-cost, fast, and reasonably accurate solutions to certain computational problems, such as classification [28], clustering [29,30], and social network community mining [31]. These encouraging applications are significant motivation for our research, thus we propose a novel multi-agent evolutionary method to detect functional modules in PPI networks (called MAE-FMD) in this paper. Based on a probability model, MAE-FMD first employs a group of agents as a population to carry out random walks from a start protein to other proteins in a PPI network and finish their individual solution encodings. Then, it randomly places these agents into an evolutionary environment modeled as a lattice, and performs innovative agent-based operations, i.e., competition, cooperation, and mutation, in an attempt to increase the energy levels of agents at each iteration. Experimental results and related comparisons have shown that the MAE-FMD algorithm is effective in achieving better functional module mining results.

Basic ideas
In this section, we describe a global search algorithm based on a multi-agent evolutionary method for functional module detection, which consists of two phases: (1) the solution construction phase, and (2) the solution evolution phase. In the first phase, each agent traverses all the nodes of a PPI network through a random-walk process and forms its own solution. In the second phase, the population of agents (i.e., all solutions) are randomly placed into an evolutionary environment for their iterative evolutions until a predefined termination criterion is satisfied. During the evolutions, an energy level is employed to evaluate the ability of an agent to solve a problem in the multi-agent system. The higher the energy level of an agent, the better the quality of the corresponding solution.

Agent representation and its construction
In the MAE-FMD algorithm, each agent corresponds to a candidate solution. An agent is encoded as a graph with N directed edges: A = {(1 → a 1 ), (2 → a 2 ), · · · , (i → a i ), · · · , (N → a N )}, where i is a node label, a i denotes the connected node from i th node in the represented solution, and N is the number of nodes in a PPI network. Take the PPI network shown in Figure 1(a) as an example. It consists of eight nodes numbered from 1 to 8. Figure 1(b) gives an encoding form of its corresponding agent, which can be translated into the graph structure as given in Figure 1(c), where each connected component provides a group of nodes, corresponding to the same partition of the network as shown in Figure 1(a).
To obtain a feasible solution, an agent proceeds from a start node and continuously employs a random-walk behavior to traverse other nodes in a PPI network. At each time step, the agent is on a node, tries to move to a functionally related or similar node that is chosen probabilistically from its topologically adjacent nodes, and builds a corresponding connection. When there is no any satisfied node, the agent will end its current traversal by pointing to itself and then randomly select an untraversed node in a PPI network and begin to a new traversal. This random-walk behavior will be performed until all nodes have been processed. Thereafter, the agent forms its solution. A main advantage of this solution is that the number K of clusters is automatically determined by the number of components obtained by an agent, namely, those nodes with a connected relationships are automatically classified into the same community during a later decoding process. Obviously, such an encoding method does not rely on knowing number of clusters beforehand.
During the random-walk process, an agent constructs a solution by proceeding from a start node and moving to feasible neighborhood nodes in a step-by-step fashion. In each step, an agent k moves from node i to node j based on the following probability: where s i,j denotes a measure of connection strength between two nodes i and j from the view of topology structures, f i,j is a functional similarity score of the two nodes i and j, and U k i is a set of available nodes in which each one l (or j) is a neighborhood node of node i not yet visited by the k th agent in the current traversal and (s i,j + f i,j ) ≥ ε (ε represents a specified strength threshold for the combination of topology and function similarities).
Given two nodes i, j ∈ V , we compute their connection strength by using the structural similarity formula as follows [32]: where (i) is a set of the neighborhood nodes of node i, and | (i)| is the size of the set. Based on the annotation information of Gene Ontology (GO), the functional similarity measure for proteins can be implemented. For two proteins i and j that are annotated with two GO term sets g i and g j , respectively, the functional similarity score can be calculated by [33]:

Agent energy level and evolutionary environment
According to the meaning of energy level mentioned above, we are interested in searching a graph partition with the largest energy level. To guarantee highly intra-connected and sparsely inter-connected modules, we adopt the modularity density function [34] to compute the energy level of an agent: where K is the number of detected modules for an agent A, e c is the number of links between nodes in c th module, |E| is the number of all links in the PPI network, and d c is the sum of the degrees of nodes in c th module.
During each evolutionary process, an agent will try to increase its energy level as much as possible by sensing and performing some reactive behaviors to survive.
To realize the local perceptivity of agents, we select the common lattice structure used in [27,29,30] as the evolutionary environment, which is more close to the real evolutionary mechanism in nature than the model of the population in traditional Genetic Algorithms (GAs). All M agents in a population live in such a lattice environment. The size of lattices is m × m, where m is an integer and m = √ M. Each agent is randomly placed on a latticepoint and it can only interact with its neighbors. The agent lattice can be shown as the one in Figure 2. Each agent, who corresponds to a partition solution, can occupy a circle in the evolutionary environment, where the data in a circle represents its position in the lattice structure, and two agents can interact with each other if and only if there is a line connecting them. Suppose that the agent located at (u, v) is A u,v , u, v = 1, 2, . . . , m, then the neighborhood agents of A u,v , Neighbor (A u,v ), are defined as follows:

Evolutionary operators
In the above evolutionary environment, computational agents will compete or cooperate with others so that they can gain higher energy level. To simulate the evolution phenomenon in a more natural way, each agent can only sense its local environment, and its behaviors of competition and cooperation can only take place between the agent and its neighborhood agents. That is, an agent interacts with its neighborhood agents, and useful information is transferred among them. In such a way, the information can be gradually diffused to the whole lattice environment so that the global evolution of the agent population is realized. To achieve this purpose, three basic operators are designed for detecting communities in a PPI network. 1) Competition operator. Suppose that the operator is performed on the agent located at is another agent with the highest energy level among the neighborhood agents of A u,v , namely, H u,v ∈ Neighbor(A u,v ) and ∀A ∈ Neighbor(A u,v ), then Energy(A ) ≤ Energy (H u,v ). If Energy(A u,v ) ≥ Energy (H u,v ), A u,v is a winner, so it can still live in the original lattice; otherwise it will die as a loser, and its lattice-point will be occupied by H u,v . H u,v has two candidate strategies to occupy a lattice-point, and it randomly selects one of them with a probability p o . Let r(0, 1) be a uniform random number generator, the value range of which belongs to (0,1). If r(0, 1) < p o , occupying strategy 1 is selected; otherwise occupying strategy 2 is carried out. In the two occupying strategies, H u,v first generates its clone agent C u,v = ((1→ c 1 ), (2→ c 2 ), . . . , (N→ c N )), and then C u,v is placed on the lattice-point to be occupied.
Let N, namely, the connection strengths of A u,v are Al 1 , Al 2 , . . . , Al N , and the connection strengths of H u,v are Hl 1 , Hl 2 , . . . , Hl N , respectively. If a node has no other nodes to be pointed in addition to point to its own, then we call it a breakpoint. In fact, a breakpoint represents the segmentation of two different modules in a PPI network with N directed edges. To distinguish breakpoints, we set s i,a i = −∞ only when i = a i in an agent encoding.  In the following, we take a PPI network with 8 nodes as an example to illustrate these operators. A schematic diagram of a competition operator is given in Figure 3, where is an agent to participate in a competition, ) is its neighborhood agent with the highest energy level and Energy(H) ≥ Energy(A), and A 1 and A 2 are two new agents produced by the competition operator where a shape represents a change in the encoding of the clone agent of H. Assumpting that Al 1 > Hl 1 , Al 7 > Hl 7 and Hl 1 = Min(Hl 1 , Hl 2 , · · ·, Hl 8 ), A 1 is the result of Strategy 1 where the link (1 → 1) is replaced with (1 → 6) while A 2 is that of Strategy 2 where the two links (1 → 1) and (7 → 1) are respectively replaced with (1 → 6) and (7 → 2).
In fact, the two strategies in this operator are designed to play similar roles. More specifically, Strategy 1 only replaces the worst connection of a winner with the better information of a loser while Strategy 2 is in favor of reserving all advantaged information of a loser.
2) Crossover operator. Suppose that two parent agents are which will randomly produce a child agent C 1 = ((1 → c 1 ), (2 → c 2 ), . . . , (N → c N )) by making use of their connection information and the corresponding crossover strategies. To obtain offsprings of the two parent agents, the rules of crossover operator are as follows.
Alternating link crossover rule. The rule works as follows: first it chooses a link from the first parent at random; secondly, the link is extended with the appropriate link of the second parent; thirdly, the partial tour created in this way is extended with the appropriate link of the first parent, etc. This process is repeated until traversing all the nodes in a PPI network. During the generation of a candidate agent, once a link is chosen which would produce a cycle into the partial tour, the next link will be selected randomly from the links of those untraversed nodes in the corresponding parent.
The schematic diagram of the alternating link crossover rule is shown in Figure 4, where F ) are two parent agents, and C ) is an offspring agent. In generating a candidate agent, the links (1 → 6), (5 → 5), (7 → 4) and (8 → 8) are selected from the first parent while the other links from the second parent, and each shape represents a starting point of a new subtour in the candidate agent.
Alternating chunk crossover rule. Based on this rule, an offspring is constructed from two parent agents as follows: first it takes a random length subtour of the first parent; then this partial tour is extended by choosing a subtour of random length from the second parent; next the partial tour is constantly extended by taking subtours from alternating parents till up to the length of the solution. For each subtour, the random length range is 1 to the remaining digits of the constructing solution. In generating a candidate agent, if a link is chosen which would produce a cycle into the partial tour, the next link will be selected randomly from the links of those untraversed nodes in the corresponding parent. Different length subtours from two parent agents are alternatingly chosen to construct a child agent. Figure 5 gives an illustrative diagram of an alternating chunk crossover rule, where F ) are two parent agents, and C ) is an offspring agent. In generating a candidate agent, we assume that the sizes of four chunks are respectively determined as 3, 2, 2 and 1 by four random functions, and chunk 1 and chunk 3 are selected from the first parent while the other two chunks from the second parent. The new agent is alternatively constructed by means of the subtours of different parents, where shapes represent the same meaning as in Figure 4.
Obviously, the crossover operator has the function of a random search, which is performed on an agent and its neighborhood agents to achieve the purpose of cooperation with a crossover probability p c . More specifically, if r(0, 1) < p c , then the algorithm performs the two crossover operators. Otherwise, it skips these operators. Once a child agent has higher energy level than its parent agent after performing crossover operators, the initial agent with lower energy level will be replaced with the child agent.
3) Self-adaptive mutation operator. In addition to the behaviors of competition and cooperation, an agent can also increase its energy level by using a self-adaptive mutation operator, which depends on the degree of its evolution and controls the number of digits to be mutated. The mechanism of the self-adaptive mutation operator is denoted as: where n is the number of mutation digits, l i is the number of continued stagnation steps for i th agent, and r is the maximum step length at which an agent might have the same energy level. It is not difficult to find that n is not only associated with the encoding length of an agent (network size), but also related to the evolutionary process of the agent. More specifically, the larger the network scale, the more the number of potential mutations. On the other hand, the longer the stagnating time of an agent evolution, the more the number of potential mutations. Based on a mutation probability p m , n connection elements of an agent A = ((1→a 1 ), (2→a 2 ), . . . , (N→a N )) are randomly selected when r(0, 1) < p m , and then  Figure 6 gives an illustration diagram of a mutation operator, where is the mutated agent in which two elements are replaced randomly, and shapes represent the changes in the encoding of the new agent. Essentially, the mutation operator realizes a local search, which only performs a small perturbation on some elements (node connections) of an agent encoding. If a mutation operator can increase the energy level of the current agent, the initial agent with lower energy level will be replaced with the new agent.
In the light of an energy level function, MAE-FMD algorithm employs competition, crossover and mutation operators to continually realize good information exchange among agents and improve the energy levels of a group of initial agents. During the competition process, if the current agent is winner, then it will be kept alive. Otherwise, the neighborhood agent with the highest energy level will be selected, and improved by combination with advantaged information of the current agent, then it replaces the current agent. Meantime, whether crossover operators or mutation operators, once they can produce new agents with higher energy level, the initial agents with lower energy level will be replaced with the new agents. By means of the three operators, the evolutionary process will gradually converge to a solution with the largest energy level which corresponds to the initial module structure of the PPI network.

Post-processing
After a number of iterations, we can obtain a solution with the largest energy level. That is, the preliminary modules are generated by the multi-agent evolutionary method. To improve the detection quality, we adopt two postprocessing strategies based on topological and functional information to produce final modules. The first step is merging the similar preliminary modules in light of functional annotation information. A merging module results from two or more preliminary modules which are close in view of function. The similarity S(M S , M T ) between two modules M S and M T is measured by the functional similarity score defined as: where Two modules with the highest similarity are iteratively merged until there are no such two modules whose similarity is larger than the merging threshold λ.
To exclude some too sparsely connected nodes and very small clusters generated above, we perform the filtering step based on the topological density of PPI network subgraphs. The density of subgraphs of functional modules is measured by: where n s is the number of nodes and e s is the number of interactions in a subgraph s of a PPI network. Let δ be a threshold value, those clusters with D s < δ and |s| < 2 will be filtered from clusters generated above. By such two post-processing strategies, the preliminary modules are refined from the topological property and functional similarity, and the potential functional modules hidden in the PPI networks are generated.

Algorithm description and complexity analysis
The procedure of the proposed MAE-FMD algorithm is to carry out initialization, agent random-walk and solution construction, multi-agent evolution, post-processing, and output of detected modules. The detailed pseudocode is shown in Algorithm 1.
Based on the description of Algorithm 1, the complexity of MAE-FMD can be simply analyzed as follows: Let the maximum number of a node degree be n 1 in a PPI network, and the maximum number of nodes be n 2 in a module. In the initialization process, computing connection strengths (similarities) and the number of common neighbors for all pairs of nodes is time-consuming. For each node, since the number of its maximum neighborhood nodes is n 1 , the computing complexity of its all available connection strengths is n 1 , thus the time complexity is O(n 1 ·N). In the agent random-walk and solution construction process, the time complexity is O(M · N · n 1 ). In the multi-agent evolution process, the time complexity . Thus, the time complexity of the multi-agent evolution process can be simplified http://www.biomedcentral.com/1471-2105/15/325 as O(T · (n 2 + M) · N). In the post-processing and output process, the time complexity is O( Because most PPI networks are small-world and scale-free networks, n 1 N, n 2 < N, K N. Moreover, we usually select a constant (e.g, 100) as the population size of agents, which is far less than the number of nodes in a large-scale PPI network. Therefore, the time complexity of MAE-FMD can be decreased to O(T · (n 2 + M) · N) (n 2 < N for all PPI networks, M N for a large-scale PPI network), which is better than that of most existing typical algorithms with O(N 2 ). Especially for a large-scale complex network with near uniform community size, the efficiency of MAE-FMD is very promising for detecting modules in PPI networks.

Agent random-walk and solution construction:
For k=1 to M {Randomly select a node as its start node, i = 1; While i ≤ N do {Move to the next node according to Eq. (1) or an unprocessed node up to now; i = i + 1; } } 3. Multi-agent evolution: Compute the energy values of initial agents by Eq. (4);

Post-processing:
If (S + T remains unchanged in R iterations) Then merge and filter the corresponding clusters.

Output:
Return Functional Modules for the PPI network.

Results and discussion
In this section, we use three different protein-protein interaction datasets to perform our empirical study. In light of many evaluation metrics, we assess the performance of our algorithm, and compare our test results to other existing algorithms on these PPI datasets. The experimental platform is a PC with Core 2, 2.13 GHz CPU, 2.99 GB RAM, and Windows XP, and all algorithms are implemented by Java language.

PPI datasets
We have performed our experiments over five publicly available benchmark PPI datasets including four yeast data and one human data, namely DIP data [35], Gavin data [36], MIPS data [37], DIP Scere20140703 and DIP Hsapi20140703. Table 1 shows a summary of the data sets used in our experiments, where the 2th column gives the web links, the 3th and 4th columns respectively present the size of proteins and interactions in source data while the 5th and 6th columns respectively present the size of proteins and interactions in the preprocessed data. A cleaning step, which deletes all self-connected and repeated interactions, is performed in data preprocessing.
To evaluate the protein modules mined by our algorithm, the set of real functional modules from [38] is selected as the benchmark. This benchmark set, which consists of 428 protein functional modules, is constructed from three main sources: the MIPS [27], Aloy et al. [39] and the SGD database [40] based on the Gene Ontology (GO) notations.

Evaluation metrics
At present, there exist three popular measurements for the evaluation of the detection modules' quality and the calculation of the detection methods' general performance [41].

Precision, Recall, F-measure, and Coverage
Many research works use a neighborhood affinity score to assess the degree of matching between the identified functional modules and real ones. The score NA(p, b) between an identified module p = (V p , E p ) and a real module in the benchmark module set is defined as: If NA(p, b) ≥ ω, then p and b are considered to be matched (generally, ω = 0.2). Let P be the set of functional modules identified by some computational methods and B be the real functional module set in benchmark networks. And then the number of the modules in P which at least matches one real module is denoted by N cp = {p|p ∈ P, ∃b ∈ B, NA(p, b) ≥ ω} , while the counterpart number in B can be denoted by http://www.biomedcentral.com/1471-2105/15/325 Thus, Precision and Recall can be defined as follows [42]: and F-measure is a harmonic mean of Precision and Recall, so can be used to evaluate the overall performance. It is defined as: Moreover, Coverage assesses how many proteins in a PPI network can be clustered into the detected modules by a computational method. That is, it indicates the percentage of proteins assigned to any functional module, i.e., 1-Discard-rate, which can be defined as follows [43]: where |V | = N denotes the size of the PPI network and V pi is the set of the proteins in the i th detected module.

Sensitivity, positive predictive value, and accuracy
Sensitivity (S n ), Positive predictive value (PPV ) and Accuracy (Acc) are also common measures to assess the performance of module detection methods. Let T ij be the number of the common proteins in both of the i th benchmark and the j th identified module. Then S n and PPV can be defined as [38]: and where N i is the number of the proteins in the i th bench- T ij . Generally speaking, S n assesses how many proteins in the real functional modules can be covered by the predicted modules, while PPV indicates that identified modules are more likely to be true positives.
As a general metric, the accuracy of an identification (Acc) can be calculated as the geometric mean of S n and PPV :

p-value measure
Modules can be statistically evaluated using the p-value from the hypergeometric distribution, which is defined as [44]: where |V | denotes the same means as mentioned in Equation 16, C is an identified module, |F| is the number of proteins in a reference function, and k is the number of proteins in common between the function and the module. P-value is also known as a metric of functional homogeneity. It is understood as the probability that at least k proteins in a module of size |C| are included in a reference function of size |F|. A low value of p indicates that the module closely corresponds to the function, because it is less probable that the network will produce the module by chance. Consequently, the minimum pvalue in all modules will show the general performance of each detection method.

Effects of parameters
In this subsection, we take the Gavin data as an example to study respectively the effects of the algorithm parameters involved in the multi-agent evolution and post-processing. These parameters include the number of agent population (M), the strength threshold of connections (ε), the maximum step length with same energy level http://www.biomedcentral.com/1471-2105/15/325 (R), the selection probability (p o ), the crossover probability (p c ), the mutation probability (p m ), merging threshold (λ), and filtering threshold value (δ). During all experimentations, the value of a single parameter is changed, while keeping the values of other parameters fixed.
For the multi-agent random-walk and evolutionary processes, we take maximum energy of an agent and the number of iterations as two evaluation metrics to test the performance of the algorithm. Ten executions are independently carried out in each parametric combination. Figure 7 reveals that the effects of three main parameters (M, ε, R) on the multi-agent method performance by mean value curve with error bars. Figure 7(a) shows the evolutionary performance with 7 different agent sizes (M). Multi-agent evolutionary method is a populationbased optimization algorithm, where the number of agent population determines the number of solutions at each iteration. The left graph in Figure 7(a) shows the results about the maximum energy value, and the right graph in Figure 7(a) illustrates the results about the number of iterations. As reflected in Figure 7(a), smaller maximum energy values and larger number of iterationss are obtained when using a small number of agents. Along with the number of agents increasing, the maximum energy slowly increases and the number of iterations decreases on the whole. The reason is that more agents means more initial search points in the search space to be employed so that the search range is larger at each iteration, which induces the algorithm to rapid converge. However, after a sufficient value for the number of agents, any increment does not obviously improve the maximum energy, and also does not dramatically reduce the number of iterations. On the contrary, the search time in each iteration will increase as the size of the number of agents increases. Therefore, to acquire a balance between getting a better solution and using less time, we recommend an agent size of 225 (M = 225).
The strength threshold of connections ε is an important parameter in the constructing solution process of an agent, which controls the feasible neighborhood for each node in an agent random-walk process. To investigate the effect of ε on our algorithm, we perform experiments using different values of ε. The results are presented in Figure 7 The reason is as follows: Smaller ε is, larger the feasible neighborhood of each node and the search space of a solution are, thus the algorithm will cost more iterations to search a better solution, and vice versa. It is worth noting that the algorithm is easy to fall into local optimal if ε is too large though it has s fast convergence performance. Combining above experimental results and such analysis, we select ε = 0.25 in our algorithm.
The maximum step length with same energy level R is also a key parameter which plays an important role in determining the end of evolution. Figure 7(c) shows two plots of the maximum energy value and number of iterations for different R. From the left graph in Figure 7(c), the maximum energy value is insensitive to the parameter R and increases slightly along with increasing of R. From the right graph in Figure 7(c), the number of iterations will have a more significant increase as the parameter R increases. These results illustrate that if the algorithm uses a large value of R, which is bound to increase the number of iterations and not necessarily able to get a better result. Considering the two factors together, we set R = 60. Figure 8 reveals that the effects of three operator parameters (p o , p c , p m ) on the performance of the multi-agent method by mean value curve with error bars. As shown in the left graph of Figure 8(a), the maximum energy is insensitive to the occupying probability p o , and its value maintains around at 0.56 within all values of p o . From the right graph in Figure 8(a), we can see that the number of iterations decreases as p o increases on the whole. This is because no matter what value p o is, the competition operator (Strategy 1 or Strategy 2) is performed, thus the difference on the maximum energy is very small (e.g. the maximum gap of the average value is 0.006). However, since Strategy 2 reserves more advantaged information of a loser than Strategy 1, excessively using Strategy 2 will slow the convergence of the algorithm. Hence, we set p o = 0.5 in our algorithm to obtain a balance between two strategies. The relationship curve between the method performance and p c is shown in the Figure 8 , and finally increases gradually in (0.6, 0.9], which means that moderate crossover operations can contribute to the convergence of the algorithm, however, too few or too many crossover operations will reduce the convergence of the algorithm. To shorten the evolutionary process, we set p c = 0.5 in our algorithm. Figure 8 curve of the evolutionary performance on mutation probability p m . As p m increases, the maximum energy values slowly increase, and the number of iterations decreases with a small amount of fluctuation. That is, the rich mutation operators will not only benefit the convergence of the multi-agent evolutionary process, but also get a better http://www.biomedcentral.com/1471-2105/15/325 maximum energy value. To obtain a good result and save evolution time, we select p m = 0.8 in our algorithm. For the postprocessing process, we employ recall, F-measure, precision, sensitivity, accuracy and PPV metrics to evaluate algorithm performance. Figure 9 gives the effects of merging threshold λ on 6 performance metrics. Figure 9(a) demonstrates that the F-measure and recall increase as λ increases on the whole range while the precision also increases as λ increases at the beginning and decreases after λ passes over 1.0. Figure 9(b) shows that the relationship between λ and the sensitivity, the accuracy and the PPV. The accuracy and the PPV have the same trend: both values subtly increase as λ increases. Conversely, the sensitivity decreases at the beginning, then keep the value low (0.74) after λ gets to 1.4. As shown in Figure 9(a) and Figure 9(b), the larger λ is, the better F-measure and accuracy seems to be. However, once λ is set a larger value, the number of clusters will become too large due to many small clusters. To balance between the scale and size of clusters, the value of λ is set to 1.8 in our following experiments. Figure 10 gives the effects of filter threshold δ on 6 performance metrics. As shown in Figure 10(a), the recall and F-measure have a similar trend, namely, their values slowly increase as δ increases at the beginning, then gently decrease after δ gets to 0.12. However, the rate of change is slightly different for the two metrics where the values of recall have larger changes than those of Fmeasure. Meanwhile, the precision maintains a relatively stable value around 0.45 though there are two small peaks at δ = 0.04 and 0.12. Figure 10(b) investigates the relationship between δ and PPV, the accuracy and the sensitivity. As δ increases, three metrics have different tendencies.
In detail, the sensitivity obviously decreases from 0.75 to 0.52, the PPV increases from 0.30 to 0.32 when δ locates in [0.02, 0.16], then keeps a larger value (0.32) when δ > 0. 16 while the accuracy holds steady at 0.46 when δ varies from 0.02 to 0.14, then slightly decreases from 0.46 to 0.41 when δ locates in [0.14, 0.2]. The main reason for these different trends is that only those modules whose similarity is strong enough are merged along with the value of δ increasing, thus making the number of clusters to increase and the average size of a cluster to be small. To make a balance, we employ δ = 0.12 in our algorithm.
Based on similar tests, we have determined the parameter sets for other different data sets, and Table 2 summaries these parameters used in the following experiments.
From these results, we can give some simple suggestions to preset these parameters. For M, a certain size population is necessary for MAE-FMD to obtain good quality solution while keeping a smaller value not to increase the running time. For ε, a medium value between [0, 0.6] is recommended. For R, a smaller value is favorable to rapidly converge. For p o , p c and p m , we can set a medium value between [0, 1] to p o and p c and a higher value to p m to save the running time. The two parameters in postprocessing depend on different datasets. For the curated databases, such as DIP and MIPS, λ and δ can be set two smaller values in respective domains, however, two larger values in respective domains have to be employed for the database with more noise (such as Gavin).

Comparative evaluations
To demonstrate the strengths of the MAE-FMD method, we compared it to the six competing methods: HAM- The detailed comparative results of the various algorithms on the five different data sets are shown respectively in Table 3, where " − " denotes an invalid result. For each detection method, we have listed the number of clusters detected (Number of clusters), the average number of proteins in each cluster (size of average module), the number of detected modules which match at least one real module (N cp ) and the number of real modules that match at least one detected module (N cb ). Taking MAE-FMD on Gavin data as an example, it has detected 193 modules, of which 110 match 224 real modules. Each of 193 detected modules has about 6 proteins in Gavin. These results show that MAE-FMD generates smaller scale clusters on most of data, and MCL doesn't effectively detect modules when a dataset is largely sparse (i.e. human interaction networks). Figures 11, 12, 13, 14 and 15 show the overall comparison results of these methods in terms of various evaluation metrics, including Coverage, Precision, Recall, F-measure, Sensitivity, PPV and Accuracy for five different data, respectively. From the first panel of these figures, we can conclude that our algorithm archives good performance on the Coverage for all five data sets. For instance, one can easily see that the Coverage of our algorithm is the third highest one among seven algorithms on DIP, MIPS and DIPScere20140703, which is higher than that of other four algorithms and only lower than that of NACO-FMD and MCL. The main reason is that these algorithms adopted different clustering mechanisms which can seriously exert  influence on the percentage of proteins clustered into functional modules in a PPI network. Essentially, MAE-FMD, NACO-FMD, HAM-FMD and MCL have two similar characteristics: 1) Three representations of solutions are established on the basis of all nodes of the PPI network.
For example, MCL uses a matrix representation of nodes, NACO-FMD employs an ordered sequence of nodes while HAM-FMD and MAE-FMD adopt a connection encoding of nodes; 2) All four algorithms use random clustering mechanisms though specific methods are different. Both From the second to fourth panels of these figures, we can see that the Precision values of our algorithm are 57%, 50%, 29.9%, 27%, and 18%, respectively. In detail, MAE-FMD obtains the second best result which is only inferior to that of MCODE (72.5%) on Gavin, the third best result which is only inferior to that of CFinder (51.4%, and 30.9%) and MCODE (64.8% and 37.3%) on DIP and MIPS data and that of CFinder (21%) and Coarch (19%) on DIPHsapi20140703 data, and fourth best result which is superior to that of NACO-FMD (22%), MCL (15%) and HAM-FMD (22%) on DIPScere20140703 data. Further, it is easy to observe that our algorithm obtains the best performance on the Recall for Gavin (67.9%), MIPS (46.9%) and DIPHsapi20140703 (17%) data, and is only inferior to that of NACO-FMD on DIP data (less 1.3%) and Coach on DIPScere20140703 data (less 1%). In combination, our algorithm archives the most excellent F-measure on Gavin, DIP, MIPS and DIPHsapi20140703 data, and the second best result on DIPScere20140703 data. That is, our algorithm obtains the highest F-measure value 62.0% with the Gavin data as shown in Figure 11, which is 31.77%, 14.84%, 16.2%, 17.31%, 17.3% and 18.92% higher than that of CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE, 52.2% with the DIP data as shown in Figure 12, which is 12.4%, 5.3%, 7.9%, 15.6%, 2.0% and 16.4% higher than that of CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE, 36.6% with the MIPS data as shown in Figure 13, which is 12.2%, 4.3%, 8.3%, 15.7%, 7.2% and 16.4% higher than that of CFinder, Coach, NACO-FMD, Figure 15 Comparative results of some methods in terms of various evaluation metrics for DIPHsapi20140703 data. http://www.biomedcentral.com/1471-2105/15/325 MCL, HAM-FMD and MCODE, 17% with the DIPH-sapi20140703 data as shown in Figure 15, which is 9%, 16%, 8.9%, 2% and 15% higher than that of CFinder, Coach, NACO-FMD, HAM-FMD and MCODE, and 37% with the DIPScere20140703 data as shown in Figure 14, which is 13%, 7%, 14%, 7% and 20% higher than that of CFinder, NACO-FMD, MCL, HAM-FMD and MCODE, and only 0.3% lower than that of Coach, respectively.
On Gavin, MIPS, DIPScere20140703 and DIPH-sapi20140703 data, MAE-FMD attains the best or the second best PPV value while its PPV performance is not outstanding on DIP data. In detail, the PPV value of MAE-FMD is 30.7% shown in Figure 11, which is 9.9%, 4.7%, 1.4%, 0.4% and 5.0% higher than that of CFinder, Coach, NACO-FMD, MCL and MCODE and is 0.9% lower than that of HAM-FMD. Figure 12 shows the PPV value of MAE-FMD is 29.9%, which is 4.4% and 1.4% higher than the CFinder and MCODE algorithms, and is 1.1%, 3.5%, 5.2% and 5.4% lower than that of Coach, NACO-FMD, MCL and HAM-FMD algorithms with the DIP data. In Figure 13, the PPV value of MAE-FMD is 34.2%, which is 15.3%, 10.6%, 1.2%, 5.1% and 8.2% higher than that of CFinder, Coach, NACO-FMD, MCL and MCODE, and only is 2.1% lower than that of HAM-FMD. The PPV value of MAE-FMD is 32% shown in Figure 14, which is 17%, 9%, 1%, 1% and 15% higher than that of CFinder, Coach, NACO-FMD and MCODE and is equal to that of MCL.
In Figure 15, the PPV value of MAE-FMD is 48%, which is equal to that of NACO-FMD, and 16%, 11% and 17% higher than that of CFinder, Coach and MCODE while it is only 4% lower than that of HAM-FMD.
Overall, our algorithm achieves the highest Acc on all five tested data due to its balanced effort between Sensitivity and PPV. The Acc value of our algorithm is 47.2% shown in Figure 11, which is 15.6%, 18.2%, 13.1%, 12.8%, 13.7% and 16.1% higher than that of CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE with the Gavin data, respectively. Figure 12 shows the Acc value of our algorithm is 41.3%, which is 12.9%, 14.3%, 8.8%, 9.2%, 10.1% and 14.9% higher than that of CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE with the DIP data, respectively. Figure 13 shows the Acc value of our algorithm is 35.2%, which is 11.0%, 13.1%, 6.8%, 9.9%, 8.7% and 14.9% higher than that of CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE with the MIPS data. Figure 14 shows the Acc value of our algorithm is 43%, which is 12%, 14%, 3.4%, 11%, 5% and 25% higher than that of CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE with the DIPScere20140703 data. Similarly, our algorithm attains 38% on Acc metric, which is 14%, 14%, 9%, 2% and 22% higher than that of CFinder, Coach, NACO-FMD, HAM-FMD and MCODE with the DIPHsapi20140703 data. These experimental results on the Acc performance show that our algorithm is superior to other six algorithms. Table 4 compares the distribution of the p-values of protein modules obtained by 7 different algorithms on DIP data, where the first column gives different types of p-values, the second column lists 7 algorithms, and the third to eighth columns respectively present the number of modules located in the corresponding range while the ninth column shows the ratio of the modules with a p-value and all modules detected for each algorithm. From these results, we can find that MCODE, Coach, and CFinder have the three highest ratios in all the statistics, however, MCODE only obtains the minimum amount of modules while Coach can obtains the maximum amount of modules. The ratio difference of three swarm intelligence algorithms (MAE-FMD, HAM-FMD and NACO-FMD) is not obvious, particularly to MAE-FMD and HAM-FMD. MCL has the worst ratio in three types of p-values. Moreover, it is worth noting that most modules with a p-value are concentrated in the area (1.0e-10, 1.0e-3], and only a few modules fall into the range (0, 1.0e-20] where MAE-FMD has obvious advantages comparing with other algorithms. To further investigate the computational results, 10 protein modules with low p-values and high matching rate predicted by different algorithms using DIP data are respectively presented in Tables 5,6,7,8,9,10 and 11. In these tables, the first column is a cluster identifier. The   To explicitly reveal the results obtained by our algorithm, we take two modules as the examples to explain. For the retromer module, corresponding to the first module in these seven tables, the seven algorithms have obtained the same good performance in terms of p-values and matching rates. That is, the real retromer module is correctly detected by all seven algorithms. Compared to the anaphase-promoting module (corresponding to the second module in Tables 7,8,9,10 and 11) that is respectively detected by the Coach, NACO-FMD, MCL, HAM-FMD and MCODE algorithms, the minimum p-value of our algorithm in Table 5 is 1.82e-31, which is much less http://www.biomedcentral.com/1471-2105/15/325 than those of the other five algorithms since the minimum p-values of the module predicted by the Coach, NACO-FMD, MCL, HAM-FMD and MCODE algorithms are 1.38e-25, 1.38e-25, 2.08e-28, 2.08e-28 and 5.62e-24, respectively. The real anaphase-promoting module in the benchmark consists of 16 proteins, of which 1 protein (ygl116w) is isolated by other proteins within the same module and 2 proteins (yir025w and ydr260c) don't exist in DIP data. Thus, the real structure of the anaphasepromoting module including 13 proteins is shown in Figure 16(a). The protein module obtained by our algorithm consists of 13 proteins and succeeds in matching all 13 proteins in the benchmark module (shown in Figure 16(b)). Though the matching rates of Coach, NACO-FMD, MCL, HAM-FMD and MCODE algorithms are also 100%, Coach, NACO-FMD, MCL, HAM-FMD and MCODE only cover 11, 11, 12, 12 and 10 proteins of the real anaphase-promoting module, respectively (shown in Figure 16(c), Figure 16(d) and Figure 16(e)). In addition, CFinder has not obtained the real anaphase-promoting module. Actually, CFinder finds a huge cluster which contains 13 proteins in the real anaphase-promoting module and 49 other proteins. In other words, the example demonstrates that our algorithm can accurately predict protein modules. To show more biological details of Figure 16, Table 12 gives some corresponding messages of the sixteen proteins in anaphase-promoting module. Moreover, our algorithm also obtains some new modules on all five data sets. Table 13 lists 5 new modules with lower p-values on the DIP data, which are not previously described or not detected by other six algorithms. This means that MAE-FMD has certain exploratory ability in detection functional modules from a PPI network.
In this section, we have performed complete comparisons among MAE-FMD, CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE algorithms in terms of various evaluation metrics (e.g. F-measure, accuracy, p-value etc). These evaluation comparisons from different perspectives show that MAE-FMD is a promising method to effectively identify functional module structures in PPI networks. It should be noted that F-measure and accuracy are two comprehensive evaluation metrics whose values http://www.biomedcentral.com/1471-2105/15/325     can more objectively reflect the detection quality from different computational views. In light of accuracy, MAE-FMD significantly outperforms CFinder, Coach, NACO-FMD, MCL, HAM-FMD and MCODE on five protein data sets. Based on F-measure, MAE-FMD also outperforms other six algorithms on Gavin, DIP, MIPS and DIPH-sapi20140703 data, and is slightly worse than Coach on DIPScere20140703 data. On the other hand, since the p-value of modules is a metric to incarnate the biological significance, the more number of modules we get with lower p-values, the greater significant the application is. Though the number of modules discovered by MAE-FMD is smaller than most of algorithms compared on yeast data, the number of modules with lower p-value discovered by MAE-FMD is no less than those algorithms did. For instance, MAE-FMD detects 234 modules on DIP data which is less than those of HAM-FMD, NACO-FMD, Coarch and MCL, however, the number of modules located in (0, 1.0e-20] is 16, 21 and 10 from three types of p-values, which is much larger than those of other four algorithms. Moreover, MAE-FMD can identify some new modules that were not previously identified by other algorithms, especially for the human data. All these results show MAE-FMD can identify more biological functional modules.
In summary, the outstanding experimental results of MAE-FMD on five different data sets demonstrate that MAE-FMD is robust algorithm whose performances are not dependent on the underlying data.

Conclusions
To reveal unknown functional ties between proteins and predict functions for unknown proteins, people have remained a great interest in mining functional modules from PPI networks over the past decade. However, how to accurately predict these protein modules through computational methods is still a highly challenging issue. This paper presented a multi-agent evolution approach called MAE-FMD, which can achieve a high accuracy for identifying functional modules in PPI networks. The most significant feature of MAE-FMD is that the algorithm utilizes random search and optimization mechanisms in the solution constructing and evolutionary processes. First, MAE-FMD employs a random-walk model merged topological characteristics with functional information to construct a candidate solution for each agent, which can effectively and reasonably find a feasible solution. And then, it applies some simple evolutionary operators, i.e., competition, crossover, and mutation, to realize information exchange among agents during the evolution process. The competition operator can replace the worst connection information with the better information to improve the winner anent, the crossover operator performs a random search in a solution space by the cooperation between neighborhood agents while the mutation operator carries out local searches with randomness. The experimental results indicate that our algorithm has the characteristics of outstanding recall, F-measure, sensitivity, accuracy and p-value and can obtain some new modules on five benchmark data sets while keeping other competitive performances, so it can be applied to the biological study which requires a higher accuracy. It should be pointed out that the algorithm doesn't take into account overlapping functional modules based on the current representation and evolution of solutions, and may require longer running time for larger scale PPI networks due to the iterative evolution of the population. Thus, our future work includes investigating some new strategies to further improve the time efficiency and detect overlapping modules in PPI networks.
Endnote a Because the underlying protein interaction data used in the paper do not provide temporal and spatial information, we use the concept of functional modules.