\section*{Additional Files}
\subsection*{Predicting overlapping protein complexes based on core-attachment structure and a local modularity measure: Additional file 1}
\renewcommand{\tablename}{TableS}
\subsubsection*{1 Algorithms used for comparisons: brief description and description of the other algorithms' parameters}
We run our experiments on an Intel core i7 processor (4 cores) at 3.6GHz, with 12 Gb RAM memory. The operating system is Windows 10 Enterprise. The HD holds 1 Tb. The software for CALM was developed in Python 2.7.13. Without any optimization to exploit the multi-core features of the processor. For CALM and all compared algorithms, because we use two gold standard, we try to run 6 times for each network, and the run resulting in the best composite score is kept.
\subsubsection*{1.1 MCODE}
The MCODE \cite{ref31} Cytoscape plugin is downloaded from:\\
http://apps.cytoscape.org/apps/MCODE\\
At the time of the submission of this manuscript, the most recent version of the MCODE Cytoscape plugin (version 1.5.1) is used to predict protein complexes. MCODE has several parameters for whose meaning we refer to the Cytoscape MCODE Plugin online documentation.%%It consists of three stages: vertex weighting, complex
%prediction and optionally post-processing. Among its inherent parameters, the depth limit parameter controls the duration
%of the augment process. The node score cutoff parameter controls the difference that can be tolerance between scores of
%proteins within the same complex, and it is closely related to the size of the complex. There are two possible post-processing
%operations: haircut and fluffing. MCODE is able to produce overlapping complexes in the fluffing case, but we experimentally
%find that when fluffing is turned off, MCODE always has better performance. Therefore, we turn off the fluffing process in
%this study. We try all possible combinations of the following parameters:
According to the suggestions of the authors. the degree cutoff parameter is set to the default value. The K-core parameter is set to the default value 2, and for fairness, we set the depth limit to values in (100,1000). Our experiments have shown that the algorithm performs better when fluffing is turned off and Haircut is turned on. We set the range of possible node score cutoff values for the MCODE algorithm (0.0 to 1.0) is sampled uniformly with a step size of 0.1 and the one resulting in the best composite score is kept. The optimal node score cutoff values for each dataset in TableS3.
%We tried all the possible combinations of the following parameters:\\
\begin{table}
\caption{The value of the preferences selected for MCODE.}
\begin{tabular}{ccccc}
\hline
Gold Standard &Parameters& Collins& Gavin& Krogan core\\
\hline
\multirow{4}{2cm}{CYC2008}
&Degree cutoff& 2 & 2 & 2\\
&Haircut parameter& on & on& on\\
&Fluff parameter& off  & off & off \\
&Node score cutoff& 0.2 & 0.1& 0.3\\
&The K-core parameter& 2 & 2& 2\\
&Depth limit& 1000 & 100& 1000 \\
\hline
\multirow{4}{2cm}{NewMIPS}
&Degree cutoff& 2 & 2 & 2\\
&Haircut parameter& on & on& on\\
&Fluff parameter& off  & off & off \\
&Node score cutoff& 0.2 & 0.1& 0.2\\
&The K-core parameter& 2 & 2& 2\\
&Depth limit& 1000 & 100& 1000 \\
\hline
\end{tabular}
\end{table}
%\subsection*{1.2 RNSC}
%The RNSC \cite{ref2} C code is downloaded from:\\
%$http://www.cs.utoronto.ca/~juris/data/rnsc/$\\
%Additional details on the usage of the software are in:\\
%$http://www.cs.utoronto.ca/~juris/data/rnsc/rnsc_techreport.ps$
%
%The algorithm has several parameters (seven) that mainly control the tabu search part of the algorithm. The total number of parameter combinations tried is 2916. all the possible combinations of the parameter values are unrealistic. Fortunately, a study in \cite{ref10,ref12} performs extensive testing on RNSC. So according to the suggestions of the authors of the algorithm, ClusterONE \cite{ref10}, Following the approach chosen by ClusterONE \cite{ref10}, each combination is tried 5 times for each network and the one resulting in the best composite score is kept. The optimal parameters values for each network in Table 2.
%\begin{table}
%\caption{Parameters selected for RNSC.}
%\begin{tabular}{ccccc}
%\hline
%Gold Standard &Parameters& Collins& Gavin& Krogan core\\
%\hline
%\multirow{4}{2cm}{CYC2008}
%&Shuffling diversification length& 5 & 9 & 9\\
%&Diversification frequency& 50 & 20& 20\\
%&Number of experiments& 3 & 3 & 3 \\
%&Naive stopping tolerance & 10 & 20& 10\\
%&Scaled stopping tolerance& 5 & 5& 5\\
%&Tabu length& 100 & 100& 10 \\
%&Tabu tolerance& 1 & 5& 3\\
%\hline
%\multirow{4}{2cm}{NewMIPS}
%&Shuffling diversification length& 9 & 9 & 3\\
%&Diversification frequency& 50 & 10& 20\\
%&Number of experiments& 3 & 3 & 3 \\
%&Naive stopping tolerance & 50 & 20& 50\\
%&Scaled stopping tolerance& 5 & 15& 5\\
%&Tabu length& 100 & 100& 50 \\
%&Tabu tolerance& 1 & 1& 1\\
%\hline
%\end{tabular}
%\end{table}
\subsubsection*{1.2 MCL}
The MCL \cite{ref38} C code is downloaded from:\\
http://micans.org/mcl/src/mcl-12-068.tar.gz.\\
The MCL algorithm has one main parameter, namely the is the inflation the value of which affects the cluster granularity. In our work, we have tested the inflation parameter in the range from 1.0 to 5.0 with 0.1 increments. The optimal value of inflation for each PPI network is shown in TableS4.
\begin{table}
\caption{The value of inflation selected for MCL.}
\begin{tabular}{ccccc}
\hline
Gold Standard &Parameters& Collins& Gavin& Krogan core\\
\hline
\multirow{1}{4cm}{CYC2008}
&Inflation& 5.0 & 3.4 & 2.4 \\
\hline
\multirow{1}{4cm}{NewMIPS}
&Inflation& 4.5 & 3.2 & 2.3 \\
\hline
\end{tabular}
\end{table}
\subsubsection*{1.3 CMC}
The CMC \cite{ref46} windows executable code is downloaded from:\\
http://www.comp.nus.edu.sg/~wongls/projects/complexprediction/CMC-26may09/.\\
CMC expects as input a PPI file with weighted interactions. Because we use these datasets with weighted the PPI interactions, so we do not need the program provided within the downloaded CMC code to weight the PPI interactions.

We set the minimum cluster size parameter to 3. For the other parameters, the overlap-threshold is set to the default of 0.5, and merge-threshold is set to 0.25 (default parameters) as suggested by the authors.
\subsubsection*{1.4 RRW}
The RRW \cite{ref59} requires the specification of the minimum and maximum size of the clusters, the restart probability of the random walk at each step, and two threshold parameters (the overlap threshold and the early cutoff). In this paper, we use a maximum cluster size of 80 and a minimum cluster size of 3. Then, we tune the remaining parameters by trying all possible combinations of the following values:\\
• Restart probability: 0.5 to 0.9 in steps of 0.1\\
• Overlap threshold: 0.05 to 0.3 in steps of 0.05\\
• Early cutoff: 0.5 to 0.9 in steps of 0.1\\
Based on the above suggestions of the authors, we try all possible combinations of these parameters values in order to obtain the best composite score. We list the optimal parameters of RRW for each network in TableS5.
\begin{table}[h!]
\caption{Parameters for RRW.}
\begin{tabular}{ccccc}
\hline
Gold Standard &Parameters& Collins& Gavin& Krogan core\\
\hline
\multirow{4}{2cm}{CYC2008}
&Restart probability& 0.9 & 0.8 & 0.7\\
&Overlap threshold& 0.2 & 0.3& 0.3\\
%&Early cutoff& 0.5 & 0.5& 0.7\\
&maxClusterSize&80 &80 &80\\
&minClusterSize&3 &3 &3\\
\hline
\multirow{4}{2cm}{NewMIPS}
&Restart probability& 0.9 & 0.8 & 0.9\\
&Overlap threshold& 0.3 & 0.2& 0.3\\
%&Early cutoff& 0.5 & 0.6& 0.6\\
&maxClusterSize&80 &80 &80\\
&minClusterSize&3 &3 &3\\
\hline
\end{tabular}
\end{table}
\subsubsection*{1.5 CORE}
The CORE \cite{ref51} Linux executable is downloaded from\\
http://i.cs.hku.hk/~alse/hkubrg/projects/core/\\
The procedure takes in input the PPIN file, and has no other parameters, so we do not tune the parameters for a particular network.
%According to the suggestions of the authors of the algorithm . We run CORE with the default parameters.Thus, we use the default settings of parameters in the software.
\subsubsection*{1.6 COACH}
The COACH \cite{ref24} windows executable is downloaded from\\
http://www1.i2r.a-star.edu.sg/~xlli/coach.zip.\\
The procedure takes in input the PPIN file, and has no other parameters, Thus, we use the default settings of the parameters in the software.
\subsubsection*{1.7 SPICi}
The SPICi \cite{ref43} tool is run it online:\\
http://compbio.cs.princeton.edu/spici/\\
SPICi \cite{ref43} is a computationally efficient local network clustering algorithm for large biological networks, which can be applied on PPI networks for complex detection, so we apply it on the weighted PPI network to test its performance. SPICi has four parameters: the cluster density threshold and support threshold. Here, we try different values of density threshold, ranges from 0.1 to 1 with 0.1 increment, and we also try different values of graph mode, ranges from 0 to 2 with 1 increment. Like other methods, SPICi is run with the minimum cluster size parameter s = 3. For the other parameters, as suggested by the authors \cite{ref43}, we do not tune the parameters for a particular network. TableS6 lists the optimal value of parameters for each PPI networks.

\begin{table}[h!]
\caption{Parameters for SPICi.}
\begin{tabular}{ccccc}
\hline
Gold Standard &Parameters& Collins& Gavin& Krogan core\\
\hline
\multirow{4}{2cm}{CYC2008}
&Minimum cluster density[0-1]& 0.5 & 0.4 & 0.6\\
&Minimum support threshold[0-1]& 0.5 & 0.5& 0.5\\
&Minimum cluster size&3 &3 &3\\
&Graph mode&0 &1 &1\\
\hline
\multirow{4}{2cm}{NewMIPS}
&Minimum cluster density[0-1]& 0.4 & 0.5 & 0.6\\
&Minimum support threshold[0-1]& 0.5 & 0.5& 0.5\\
&Minimum cluster size&3 &3 &3\\
&Graph mode&0 &1 &1\\
\hline
\end{tabular}
\end{table}
%\subsection*{1.7 PEWCC}
%The PEWCC \cite{ref10} Python code was downloaded from:\\
%http://faculty.uaeu.ac.ae/nzaki/Research.htm.\\
%According to the suggestions of the authors of the algorithm. These are: The "Method" parameter sets to PE. The "Overlap" parameter sets to 1 and "the edges relaibility score less than this vlaue" will be removed is 0.1. As for "Re-join parameter removed" parameter, the optimal values of the parameters of PEWCC for each PPI network are listed in Table 5.
%\begin{table}[h!]
%\caption{Parameters for ClusterONE.}
%\begin{tabular}{ccccc}
%\hline
%Gold Standard &Parameters& Collins& Gavin& Krogan core\\
%\hline
%\multirow{4}{2cm}{CYC2008}
%& Method& PE & PE & PE\\
%& Overlap& 1 & 1& 1\\
%& edges relaibility score& 0.2  & 0.2 & 0.2 \\
%& Re-join parameter& 2 & 2& 2\\
%\hline
%\multirow{4}{2cm}{NewMIPS}
%& Method& PE & PE & PE\\
%& Overlap& 1 & 1& 1\\
%& edges relaibility score& 0.2  & 0.2 & 0.2 \\
%& Re-join parameter& 2 & 2& 2\\
%\hline
%\end{tabular}
%\end{table}

\subsubsection*{1.8 CPredictor2.0}
The CPredictor2.0 \cite{ref69} algorithm is downloaded from:\\
https://github.com/bin-admis/admis-files\\
According to the suggestions of the authors of the algorithm \cite{ref69}. We run CPredictor2.0 with the overlapping rate is greater than or equal to $Threshold_{olr}$ (0.8 in this work), and we use the most specific functional annotations by setting the level height to 6.

\subsubsection*{1.9 ClusterONE}
The ClusterONE \cite{ref11} Cytoscape plugin (version 1.0) is downloaded from:\\
http://apps.cytoscape.org/apps/clusterone\\
All parameters are set as suggested by author, and we therefore used the default parameters of ClusterONE implementation. These are: density threshold set to auto for weighted networks. The merging threshold is set to 0.8 and the penalty value of each node is 2.
According to the suggestions of the authors of the algorithm, the optimal values of the parameters of ClusterONE for each PPI network are listed in TableS7.
\begin{table}[h!]
\caption{Parameters for ClusterONE.}
\begin{tabular}{ccccc}
\hline
Gold Standard &Parameters& Collins& Gavin& Krogan core\\
\hline
\multirow{4}{2cm}{CYC2008}
& Minimum size& 3 & 3 & 3\\
& Minimum density& Auto & Auto& Auto\\
& Edge weights& yes  & yes & yes \\
& Node penalty& 2 & 2& 2\\
& Overlap threshold& 0.8 & 0.8& 0.8\\
\hline
\multirow{4}{2cm}{NewMIPS}
& Minimum size& 3 & 3 & 3\\
& Minimum density& Auto & Auto& Auto\\
& Edge weights& yes  & yes & yes \\
& Node penalty& 2 & 2& 2\\
& Overlap threshold& 0.8 & 0.8& 0.8\\
\hline
\end{tabular}
\end{table}

\subsubsection*{1.10 WEC}
The WEC \cite{ref80} tool is available at: \\
http://agnigarh.tezu.ernet.in/~rosy8/shared.html.\\
We run WEC with all parameters values as suggested by the authors \cite{ref80}. The optimal values of all parameters for each PPI network are shown in TableS8.
%\renewcommand{\multirowsetup}{\centering}
\begin{table}[h!]
\caption{Parameters for WEC.}
\begin{tabular}{ccccc}
\hline
Gold Standard &Parameters& Collins& Gavin& Krogan core\\
\hline
\multirow{4}{2cm}{CYC2008}
  & Balance factor ($\lambda$) & 0.8 & 0.8 & 0.8\\
  & Edge weight ($T_{w}$) & 0.7 & 0.7& 0.7\\
  & Enrichment ($T_{e}$ $nrich$) & 0.8 & 0.8& 0.8\\
  & Filtering ($T_{f}$)& 0.9 & 0.9& 0.9\\
\hline
\multirow{4}{2cm}{NewMIPS}
  & Balance factor ($\lambda$) & 0.8 & 0.8 & 0.8\\
  & Edge weight ($T_{w}$) & 0.7 & 0.7& 0.7\\
  & Enrichment ($T_{e}$ $nrich$) & 0.8 & 0.8& 0.8\\
  & Fitering ($T_{f}$)& 0.9 & 0.9& 0.9\\
\hline
\end{tabular}
\end{table}
%\subsection*{2 Parameters settings for CALM}
%CALM don't tune any parameters to any input network and all parameters of is set default or automatically computed. For example, the value of $\delta$ is automatically set according to being tested protein-protein interaction network. We have only one filtering threshold parameter to set. As for regarding parameters used and the rationale behind the choice of parameter values. We have explained in the "parametric selection" section of our paper.
%\section*{Additional Files}
%  \subsection*{Additional file 1 --- Selecting parameters for the Collins, Gavin, Krogan core in PPINs.}
%   \section*{Tables}
%\begin{table}[h!]
%\caption{Selecting parameters for the Collins, Gavin, Krogan core in PPINs.}
%      \begin{tabular}{|l|m{0.2\columnwidth}|l|l|l|l|l|}
%        \hline
%           &parameters  & Collins   &Gavin   & Krogan core \\ \hline
%          MCODE & Degree Cutoff,Haircut:Node Score Cutoff,K-Core,Max.Depth &2,0.2,2,100  & 2,0.2,2,100& 2,0.2,2,100\\\hline
%          MCL &Inflation & 4.9 & 3.2 & 2.3\\\hline
%          RNSC & -d,-D,-e,-n,-N,-t, & 5,50,3,10,5,100&9,20,3,20,5,100& 9,20,3,10,5,10 \\\hline
%          COACH & density, Neighborhood affinity  & 0.7,0.225  & 0.7,0.225& 0.7,0.225\\\hline
%          CORE & parameters& default & default& default\\\hline
%          CMC & min\_ deg\_ ratio,min\_ size,Overlap threshold,Merge threshold & 1,3,0.5,0.25 & 1,3,0.5,0.25& 1,3, 0.5,0.25\\\hline
%          CPredictor2.0 &  The height of specific functional annotations& 6 & 6&6\\\hline
%          RRW & restartProb, maxClusterSize, minClusterSize, overlapThreshold, earlyCutoff & 0.7, 1000, 3,0.2,0.6&0.7, 1000, 3,0.2,0.6 &0.7, 1000, 3,0.2,0.6\\\hline
%          SPICi & Density, support, graph, minimum size & 0.1,0.5,0 &0.1,0.5,1&0.1,0.5,1\\\hline
%          ClusterONE & minimum size,Minimum density,edge weights & 3,Auto,weighted & 3,Auto,weighted& 3,Auto,weighted \\\hline
%          PEWCC & Join parameter,Overlap threshold& 0.3,0.8  & 0.3,0.8&0.3,0.8\\\hline
%          WEC & Balance factor, Edge weight, Enrichment, Filtering& 0.8,0.7,0.8,0.9& 0.8,0.7,0.8,0.9& 0.7,0.8,0.9\\\hline
%          CALM & Removing size and merging threshold & 3,1& 3,1& 3,1\\
%           \hline
%      \end{tabular}
%\end{table}
