In this paper, we first briefly describe how the problem is formulated as a Bayesian labelling problem. The labelling configration assumes to follow a Gibbs distribution. After that, a MRF model is introduced to solve this problem by integrating multiple kinds of biological data, including known gene-disease associations, protein complexes, PPIs, pathways and gene expression profiles.

### The Bayesian labelling problem

Let *L* = {*L*_{1}*, L*_{2}, ..., *L*_{
k
}} be a set of *k* labels and *S* = {*S*_{1}*, S*_{2}, ... *, S*_{
r
}} be a set of *r* sites. A *labelling problem* [33] is defined as assigning each site *Si* with a label in *L*.

Let *F* = {*F*_{1}*, F*_{2}, ... *, F*_{
r
}} be a family of random variables defined on *S*, in which each random variable *F*_{
i
} takes value *f*_{
i
} of *L*. We use the notation *F* = *f* to represent the joint event that {*F*_{1} = *f*_{1}, ... *, F*_{
r
} = *f*_{
r
}}, where *f* = {*f*_{1}, ... *, f*_{
r
}} is called a *configuration* of *F*. The set of all configurations is denoted as \phantom{\rule{0.25em}{0ex}}\mathcal{F}.

The relationship of sites is determined by a neighborhood system \mathcal{N}=\left\{{N}_{i}|{\forall}_{i}\in S\right\}, where *N*_{
i
} is the set of sites neighboring *i*.

A family of random variables *F* is said to be a MRF on *S* w.r.t. *N* if and only if the following two conditions are satisfied:

1 Positivity: P\left(f\right)>0,\forall f\in \mathcal{F},

2 Markovianity: P\left({f}_{i}|{F}_{S\backslash \left\{i\right\}}\right)=P\left({f}_{i}|{f}_{{N}_{i}}\right).

The Markovianity indicates that the probability of a local event *f*_{
i
} conditioned on all other events is equivalent to that conditioned on only events of its neighbors. Hence, the joint probability *P*(*f*) of the random field can be uniquely determined by local conditional probabilities.

Let *r*be an observation of *F* . Suppose we know both the prior probability distribution *P* (*f*) of configuration *f* and the conditional probability distribution *P* (*r* *|f*) of the observation *r*given the configuration *f*. The best estimation of *f* is the one maxizing a posteriori probability (MAP), which is

P\left(f|r\right)=P\left(r|f\right)P\left(f\right)/P\left(r\right)

(1)

where *P*(*r*) is the probability that we get the observation *r*.

The *Bayesian labelling problem* [33] is that given a set of observation *r*, find the MAP configuration of labelling {f}^{*}={\mathsf{\text{argmax}}}_{f\in F}P\left(f|r\right). Here, as *P* (*r*) is not a function of *f* , it does not affect the MAP estimation of *f*.

### Gibbs distribution in MRF

It is usually hard to specify a prior probability of a MRF for a real problem. Fortunately, the Hammersley-Clifford theorem [34] provides a solution for this. According to the theorem, *F* is a MRF on *S* w.r.t. \phantom{\rule{0.25em}{0ex}}\mathcal{N} if and only if the probability distribution of *P* (*F* = *f*) of the configuration is a Gibbs distribution w.r.t. \phantom{\rule{0.25em}{0ex}}\mathcal{N}. The Gibbs distribution has a form of

P\left(f\right)={Z}^{-1}\cdot {e}^{-U\left(f\right)/T},

(2)

where Z={\sum}_{f\in F}{e}^{-U\left(f\right)/T} is a normalizing constant, *T* is a global control constant that is often assumed to be 1, and *U*(*f*) is the energy function calculated as follows

\begin{array}{c}U\left(f\right)={\displaystyle \sum _{c\in C}}{V}_{c}\left(f\right)\\ ={\displaystyle \sum _{\left\{i\right\}\in {C}_{1}}}{V}_{1}\left({f}_{i}\right)+{\displaystyle \sum _{\{\left(i,j\right)\}\in {C}_{2}}}{V}_{2}\left({f}_{i},{f}_{j}\right)+{R}_{\mathrm{n}}\left(f\right),\end{array}

(3)

where *V*_{
i
}(*f*) is the energy potential of *C*_{
i
} (the set of *i*^{th} order cliques) in the neighborhood system \phantom{\rule{0.25em}{0ex}}\mathcal{N}, *R*_{
n
}(*f*) represents those higher order terms. A special case of MRF is the Ising model that only considers up to the second order of cliques [35].

Given a configuration *f*, let the conditional probability distribution of observation r have the same exponential form

P\left(r|f\right)={Z}_{r}^{-1}\cdot {e}^{-U\left(r|f\right)}.

(4)

Then the posterior probability of the Gibbs distribution has form

P\left(f|r\right)={Z}_{E}^{-1}\cdot {e}^{-U\left(f|r\right)},

(5)

where the posterior energy is [33]

U\left(f|r\right)=U\left(f\right)+U\left(f|r\right).

(6)

Based on this, suppose the collection of whole human genes *G* = {*g*_{1}, *g*_{2}, ..., *g*_{
N
}} is the site set, and {1, 0} is the label set, where 1 represents a gene is a disease gene and 0 otherwise. The problem of human disease gene identification is actually to find the best configuration of *G* according to what is currently known about human diseases.

### The MRF model for identifying human disease genes

Suppose human genome consists of a set of *N* genes *G* = {*g*_{1}, *g*_{2}, ..., *g*_{
N
}}. Some of them are already known to be associated with genetic diseases, while associations of most other genes are still not known. Without loss of generality, let *g*_{1}; *g*_{2}, ..., *g*_{
n
} be genes that have not yet been known to be associated with genetic diseases, and *g*_{
n+1
}*, g*_{
n+2
}, ..., *g*_{
n+m
} be currently known disease genes. Obviously, we have *N* = *n* + *m*. Let {*D*_{1}*, D*_{2}, ..., *D*_{
M
} } be a set of human diseases, where *D*_{
i
} consists of the set of genes that are already known associated with the *i*^{th} disease.

For a specific disease, let *X* = (*X*_{1}*, X*_{2}, ..., *X*_{
n+m
}) be the random variables defined on all genes, where *X*_{
i
} = 1 represents gene *g*_{
i
} to be a associated gene of the disease and *X*_{
i
} = 0 otherwise.

Consider those individual genes. Let (*π*_{1}*, π*_{2}, ..., *π*_{
n+m
}) be a set of probabilities, where *π*_{
i
} represents the probability that *X*_{
i
} = 1. Let *x* = (*x*_{1}*, x*_{2}, ..., *x*_{
n+m
}) be observations of *X*. The probability distribution of configuration *x* is proportional to

\begin{array}{c}{\displaystyle \prod _{i=1}^{n+m}}{\pi}_{i}={\displaystyle \prod _{i=1}^{n+m}}{\pi}_{i}^{{x}_{i}}{\left(1-{\pi}_{i}\right)}^{1-{x}_{i}}\\ ={\displaystyle \prod _{i=1}^{n+m}}{\left(\frac{{\pi}_{\iota}}{1-{\pi}_{i}}\right)}^{{x}_{i}}\left(1-{\pi}_{i}\right)\\ =\mathsf{\text{exp}}\phantom{\rule{2.77695pt}{0ex}}\left[{\displaystyle \sum _{i=1}^{n+m}}{\alpha}_{i}{x}_{i}+{\displaystyle \sum _{i=1}^{n+m}}\mathsf{\text{log}}\left(1-{\pi}_{i}\right)\right]\propto \mathsf{\text{exp}}{\displaystyle \sum _{i=1}^{n+m}}{\alpha}_{i}{x}_{i}\end{array}

(7)

where {\alpha}_{i}=\mathsf{\text{log}}\frac{{\pi}_{i}}{1-{\pi}_{i}}, and {\sum}_{i=1}^{n+m}\mathsf{\text{log}}\left(1-{\pi}_{i}\right) is a constant.

Next, consider pairwise relationships between genes. Suppose we have *K* biological networks *H* = (*H*^{1}, ..., *H*^{K}), where vertices represent genes. Given a *H*^{k}, edges of *H*^{k} represent a specific kind of biological relationship between those genes. Let *x* be the observation labels of *X*. According to *x*, edges of *H*^{k} can be classified into three categories: (1) edges that between two 1-labelled vertices, (2) edges that between a 1-labelled vertex and a 0-labelled vertex, and (3) edges that between two 0-labelled vertices. Let {N}_{11}^{k},{N}_{10}^{k} and {N}_{00}^{k} denote the number of edges in each category of *G*^{k} respectively. Then

{N}_{11}^{k}={\displaystyle \sum _{\left\{\left(i,j\right)\right\}\in E\left({H}^{k}\right)}}{x}_{i}{x}_{j},

(8)

{N}_{10}^{k}={\displaystyle \sum _{\left\{\left(i,j\right)\right\}\in E\left({H}^{k}\right)}}\left(1-{x}_{i}\right){x}_{j}+{x}_{i}\left(1-{x}_{j}\right),

(9)

{N}_{00}^{k}={\displaystyle \sum _{\left\{\left(i,j\right)\right\}\in E\left({H}^{k}\right)}}\left(1-{x}_{i}\right)\left(1-{x}_{j}\right).

(10)

The probability that we have such a kind of biological network *H*^{k} conditional on those observed labels *x* follows as

P\left({H}^{k}|x,{\theta}^{k}\right)\propto {e}^{{\beta}^{k}}{N}_{10}^{k}+{\gamma}^{k}{N}_{11}^{k}+{K}^{k}{N}_{00}^{k},

(11)

where *θ*^{k} = (*β*^{k}*, γ*^{k}*, κ*^{k}) are weights of these three kinds of edges for *H*^{k}. One of three parameters in *θ*^{k} is redundant. Without loss of generality, let *κ*^{k} = 1. Similarly, for *K* biological networks, the probability that we observe them conditional on the observed labels follows as

P\left({H}^{1},\dots ,{H}^{K}|x,{\theta}^{1},\dots {\theta}^{K}\right)\propto {\displaystyle \sum _{k=1}^{K}}{e}^{{\beta}^{k}}{N}_{10}^{k}+{\gamma}^{k}{N}_{11}^{k}+{N}_{00}^{k}.

(12)

Based on the Ising model, the energy function can be written in terms of *x* as

U\left(x|0\right)=-{\displaystyle \sum _{i=1}^{n+m}}{\alpha}_{i}{x}_{i}-{\displaystyle \sum _{k=1}^{K}}\left({\beta}^{k}{N}_{10}^{k}+{\gamma}^{k}{N}_{11}^{k}+{N}_{00}^{k}\right)

(13)

where *θ* = (*α*_{
i
}*, β*^{1}*, γ*^{1}, ..., *β*^{K} *, γ*^{K}) are parameters. In the terminology of MRF [30], *U* (*x|θ*) defines a Gibbs distribution of the entire networks

P\left(x|\theta \right)=\frac{1}{Z\left(\theta \right)}\times {e}^{-U\left(x|\theta \right)},

(14)

where *Z*(*θ*) is the normalized constant that is calculated by summing over all configurations *χ*:

Z\left(\theta \right)={\displaystyle \sum _{x\in \chi}}{e}^{-U\left(x|\theta \right)}.

### The Gibbs sampling

The Gibbs distribution (14) gives a prior probability distribution of the configuration for all genes. In the study of identifying human disease genes, the objective is to find the posterior probability of *X*_{1}, *X*_{2}, · · ·, *X*_{
n
} conditional on known disease genes

P\left({X}_{1},{X}_{2},\cdots \phantom{\rule{0.3em}{0ex}},{X}_{n}|{X}_{n+1},{X}_{n+2},\cdots \phantom{\rule{0.3em}{0ex}},{X}_{n+m}\right).

To achieve this, consider the following posterior probability distribution of an individual gene *X*_{
i
}

P\left({X}_{i}=1|{X}_{\left[-i\right]},\theta \right)

where *X*_{[−i] }= (*X*_{1}, · · ·, *X*_{
i−1
}*, X*_{
i+1
}, · · ·, *X*_{
n+m
}) represents labels of all other genes except *X*_{
i
}*, θ* are parameters. According to the Bayes' theorem [36] and the Gibbs distribution (14), we have

\begin{array}{c}P\left({X}_{i}=1|{X}_{\left[-i\right]},\phantom{\rule{2.77695pt}{0ex}}\theta \right)\\ \phantom{\rule{1em}{0ex}}=\frac{P\left({X}_{i}=1,{X}_{\left[-i\right]}|\theta \right)}{P\left({X}_{i}=1,{X}_{\left[-i\right]}|\theta \right)+P\left({X}_{i}=0,{X}_{\left[-i\right]}|\theta \right)}\\ \phantom{\rule{1em}{0ex}}=\frac{{e}^{-U({X}_{i}=1,{X}_{\left[-i\right]}\left|\theta \right)}}{{e}^{-U\left({X}_{i}=1,{X}_{\left[-i\right]}|\theta \right)}+{e}^{-U\left({X}_{i}=0,{X}_{\left[-i\right]}|\theta \right)}}\\ \phantom{\rule{1em}{0ex}}=\frac{{e}^{T\left(i\right)}}{{e}^{T\left(i\right)}+1}.\end{array}

(15)

where

\begin{array}{c}U\left({X}_{i}=1,\phantom{\rule{2.77695pt}{0ex}}{X}_{\left[-i\right]}|\theta \right)=U\left({X}_{\left[-i\right]}|\theta \right)-{\alpha}_{i}\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}-{\displaystyle \sum _{k=1}^{K}}\left({\beta}^{k}{M}_{0}^{k}-{\gamma}^{k}{M}_{1}^{k}\right),\end{array}

(16)

\begin{array}{c}U\left({X}_{i}=0,\phantom{\rule{2.77695pt}{0ex}}{X}_{\left[-i\right]}|\theta \right)=U\left({X}_{\left[-i\right]}|\theta \right)\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}-{\displaystyle \sum _{k=1}^{K}}\left({\beta}^{k}{M}_{1}^{k}-{M}_{0}^{k}\right),\end{array}

(17)

the according to equation (13), and

\begin{array}{c}T\left(i\right)=-U\left({X}_{i}=1,\phantom{\rule{2.77695pt}{0ex}}{X}_{\left[-i\right]}|\theta \right)+U\left({X}_{i}=0,\phantom{\rule{2.77695pt}{0ex}}{X}_{\left[-i\right]}|\theta \right)\\ ={\alpha}_{i}+{\displaystyle \sum _{k=1}^{K}}\left[\left({\beta}^{k}-1\right){M}_{0}^{k}+\left({\gamma}^{k}-{\beta}^{k}\right){M}_{1}^{k}\right].\end{array}

(18)

Here {M}_{0}^{k} and {M}_{1}^{k} are the number of neighbors of the gene {g}_{i} labelled with 0 and 1 on network *H*^{k} *, k* = 1, ..., *K*, respectively.

Equation (15) provides a method to update the label *X*_{
i
} according to all other labels. Suppose parameters *θ* = (*α*_{
i
}*, β*^{1}*, γ*^{1}, ..., *β*^{K}*, γ*^{K}) of the model are given, together with prior observed labels of all genes. Using equation (15), we can update labels for all unknown genes. Repeating this procedure a number of times until all posterior probabilities of labels are stabilized. This is the essential procedure of the Gibbs sampling.

### Parameter estimation

In practice, we do not know parameters of the model and they need to be estimated according to those known informations. Ideally, the maximum likelihood estimation (MLE) method is a good choice to estimate *θ* in equation (14). However, the normalizing part *Z*(*θ*) is also a function of *θ*, which is the main difficulty for using the MLE method directly. Deng et al. [30] using a pseudo-likelihood method to estimate parameters in the MRF model. Specifically, the following pseudo-likelihood function is derived from equation (15), which is

\mathsf{\text{log}}\frac{P\left({X}_{i}=1|{X}_{\left[-i\right]},\theta \right)}{1-P\left({X}_{i}=1|{X}_{\left[-i\right]},\theta \right)}=T\left(i\right)

(19)

The parameter estimation can be done by a *binary logistic regression*, where dependent variables in equation (19) are categorical labels and independent variables are {M}_{0}^{1},\phantom{\rule{2.77695pt}{0ex}}{M}_{1}^{1},\dots ,{M}_{0}^{K},\phantom{\rule{2.77695pt}{0ex}}{M}_{1}^{K} of the *K* biological networks. The standard MATLAB function *glmf it*() can be employed to perform such binary logistic regression.

The pseudo-likelihood method used by Deng et al. [30] is valuable. However, there is an important potential problem [32, 37], which may result in unreasonable predictions with their original method. The parameter estimation of Deng et al. [30] is conducted on only known labelled vertices of biological networks. However, a known vertex with labelling 1 may have plenty of unknown vertices with labelling 0 in a biological network and vice versa. A neglect of those unknown vertices may result in inaccurate estimated parameters, which makes predictions problematic. This problem becomes serious with the increasing number of unknown vertices [37]. Kourmpetis et al. [37] alternatively introduce a Bayesian MRF model to estimate parameters and update labels at the same time. An adaptive Markov Chain Monte Carlo (MCMC) algorithm is employed to perform the estimation by using another scaling parameter, a *Z* matrix and a multivariate normal distribution.

In this study, we introduce a new method to simultaneously estimate parameters and update labels. Suppose a prior probability of *π*_{
i
} for each unknown vertex is known. A set of prior labels of unknown vertices can be assigned according to this probability. Then the pseudo-likelihood parameter estimation method is performed on all labeled vertices, including those known labelled ones and those unknown prior labelled ones. Using these estimated parameters to update labels for all unknown vertices, and then using the updated labels to re-estimate parameters until both of them are stable. The step-by-step description of this procedure is given as follows.

1 Initialization:

Let *t* = 0, and initialize labels of all vertices \left({X}_{1}^{\left(0\right)},{X}_{2}^{\left(0\right)},\dots ,{X}_{n+m}^{\left(t\right)}\right)

2 Estimating parameters:

{\theta}^{\left(t\right)}\Leftarrow \left({X}_{1}^{\left(t\right)},{X}_{2}^{\left(t\right)},\dots ,{X}_{n+m}^{\left(t\right)}\right);

3 Gibbs sampling:

\begin{array}{c}{X}_{1}^{\left(t+1\right)}\Leftarrow \left({\theta}^{\left(t\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{2}^{\left(t\right)},\dots ,{X}_{n+m}^{\left(t\right)}\right)\hfill \\ {X}_{2}^{\left(t+1\right)}\Leftarrow \left({\theta}^{\left(t\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{1}^{\left(t+1\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{3}^{\left(t\right)},\dots ,{X}_{n+m}^{\left(t\right)}\right)\hfill \\ {X}_{3}^{\left(t+1\right)}\Leftarrow \left({\theta}^{\left(t\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{1}^{\left(t+1\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{2}^{\left(t+1\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{4}^{\left(t\right)},\dots ,{X}_{n+m}^{\left(t\right)}\right)\hfill \\ \vdots \hfill \\ {X}_{n}^{\left(t+1\right)}\Leftarrow \left({\theta}^{\left(t\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{1}^{\left(t+1\right)},\dots ,{X}_{n-1}^{\left(t+1\right)},\phantom{\rule{2.77695pt}{0ex}}{X}_{n+1}^{\left(t\right)},\dots ,{X}_{n+m}^{\left(t\right)}\right)\\ {X}_{n+1}^{\left(t+1\right)}\Leftarrow {X}_{n+1}^{\left(t\right)}\hfill \\ \vdots \hfill \\ {X}_{n+m}^{\left(t+1\right)}\Leftarrow {X}_{n+m}^{\left(t\right)}\hfill \end{array}

4 Let *t* = *t* + 1, and go to 2, until stabilized.

During the Gibbs sampling procedure, a "burn-in period" and a "lag period" often need to be specified. The "burn-in period" is the period that a Markov process takes to become stabilized. Simulation results in this period are discarded to reduce the effect of initial prior probabilities. The "lag period" is the period that needs to reduce the dependence of the Markov process. The posterior probabilities in this period are estimated by averaging simulation results during individual lag steps.

In this study, the "burn-in period" takes 100 steps while the "lag period" takes 90 steps. Simulation results are averaged every 10 steps in the "lag period". There is 1000 steps in total for simulations. For convenience, predictions made by the original MRF model of Deng et al. [30] is denoted as "MRF-Deng", while predictions of our improved MRF method is denoted as "IMRF_{1}" hereafter. A second improved MRF method is also given in the following by adding a new period at last in simulations, which is called "prediction period". It takes the average estimated parameters in the "lag period" as parameters and fixes them hereafter in simulations. The input probabilities of unknown vertices are also obtained by the average posterior probabilities in the "lag period". The Markov process runs another 100 steps in this period. The average posterior probabilities in the "prediction period" are outputted as final predictions, and predictions of this method is denoted as "IMRF_{2}".

### Estimating a prior probability

Now, the only problem left is to estimate the prior probability of *π*_{
i
}. Similarly as the method used in Deng et al. [30], we also estimate them according to known protein complexes. Since genes that encode proteins in a same complex tend to associated with similar diseases. For a gene *g*_{
i
} that encodes protein in a complex,

{\widehat{\pi}}_{i}=A/B

(20)

be the prior probability, where *A* is the number of disease genes for a specific disease in the complex, and *B* is the number of all disease genes in the complex. If a gene appears in multiple protein complexes, we use the maximum value as the prior probability for the gene.

For those genes that do not belong to any protein complex, let

{\widehat{\pi}}_{i}=C/D

(21)

as the prior probability, where *C* is the number of all currently known disease genes for the specific disease, and *D* is the total number of genes in human genome.

### Data sources

The gene-disease association data are obtained from Goh et al. [3], which contain 1 284 disorders and 1 777 disease genes. These data are originally collected from the Morbid Map list of the Online Mendelian Inheritance in Man (OMIM) [38]. Disorders are manually classified into 22 primary disease classes, including a 'multiple' class and a 'unclassified' class. In this study, we consider only those disease classes that consist of at least 30 genes. We also exclude the 'multiple' class, the 'unclassified' class, the 'cancer' class and the 'neurological' class due to the class evidence and the class heterogeneity [3]. The final dataset consists of 815 genes in 12 disease classes.

The protein complex data are collected from the database of CORUM [39] and PCDq [40]. There are 1677 and 1103 protein complexes in the dataset that consist of at least two proteins, respectively. There are in total 3881 proteins in those protein complexes.

The PPI datasets are derived from the database of HPRD (Release 9) [9], BioGrid (Release 3.2.108) [10] and IntAct (downloaded on Jan 26, 2014) [11], respectively. Duplicated edges between the same pair of vertices and edges connecting to itself are deleted. Each dataset is processed independently, and three PPI networks are obtained finally. The HPRD PPI network consists of 9465 vertices and 37039 edges. The BioGrid PPI network consists of 15298 vertices and 127612 edges. The IntAct PPI network consists of 13449 vertices and 63825 edges.

The pathway datasets are obtained from the database of KEGG [12], Reactome [13], PharmGKB [14] and PIN [15], There are 280, 1469, 99 and 2679 pathways in datasets, respectively. There are in total 8614 proteins in those pathways. A pathway co-existing network is constructed by taking individual proteins/genes as vertices. Edges are constructed between two vertices, if they co-exist in any pathway.

The human gene expression profiles are obtained from BioGPS (GSE1133) [16, 17], which contain 79 human tissues in duplicates, measured using the Affymetrix U133A array. Pairwise Pearson correlation coefficients (PCC) are calculated and a pair of genes are linked by an edge if the PCC value is larger than 0.5, similar to the method used in [3, 26].

Hence, five biological networks are constructed by collecting data from various databases. All protein IDs are mapped onto the form of the gene symbol. In order to test the performance of multiple data integration of our methods, we select those genes that appears at least four times in the five networks. The final datasets consist of 7311 human genes, 815 out of which are known associated with 12 disease classes.

### Validation method and evaluation criteria

The accuracy of predictions is validated by the leaveone-out method. For each known disease gene with at least one annotated interaction partner in a biological network, we assume it is an unknown gene and predict its posterior probability by our proposed methods. We use the receiver operating characteristic (ROC) curve to show the relationship between the true positive rate and the false positive rate by varying the threshold for declaring positives. The area under the ROC curve (AUC) is also employed to show an overall measure of the performance. The negative control set consists of known disease genes that do not belong to current disease class, and they are also validated by using the leave-one-out method.

### Decision score and declaration of positives

One can directly use the posterior probabilities obtained by the Gibbs sampling to select candidate disease genes. The greater the probability is for a gene, the more likely it is to associated with specific disease. However, different disease classes consist of different numbers of known disease genes, and thus the prediction results may not be good if a global threshold is used for all classes. Hence, we propose to use a percentage as a decision score to generate the finial predictions. All the ROC curves and the AUC scores of our "IMRF_{1}" and "IMRF_{2}" method are calculated according to the decision score hereafter.