Using the message passing algorithm on discrete data to detect faults in boolean regulatory networks

An important problem in systems biology is to model gene regulatory networks which can then be utilized to develop novel therapeutic methods for cancer treatment. Knowledge about which proteins/genes are dysregulated in a regulatory network, such as in the Mitogen Activated Protein Kinase (MAPK) Network, can be used not only to decide upon which therapy to use for a particular case of cancer, but also help in discovering effective targets for new drugs. In this work we demonstrate how one can start from a model signal transduction network derived from prior knowledge, and infer from gene expression data the probable locations of dysregulations in the network. Our model is based on Boolean networks, and the inference problem is solved using a version of the message passing algorithm. We have done simulation experiments on synthetic data to verify the efficacy of the algorithm as compared to the results from the much more computationally intensive Markov Chain Monte-Carlo methods. We also applied the model to analyze data collected from fibroblasts, thereby demonstrating how this model can be used on real world data.


Background
Modeling cellular behavior is a first step towards the holistic understanding of the multivariate interactions among various genes. One possible approach to do that is through gene regulatory networks. These networks could also help in developing better intervention strategies in order to shift the state of the cell or the tissue to a more favorable one. Many different approaches have been proposed in the literature for modeling the behavior of genetic regulatory networks. These include differential equations [1], deterministic and probabilistic Boolean networks [2,3], and Bayesian and dynamic Bayesian networks [4,5]. Some of these methods rely on the assumption that the transition probabilities are provided beforehand. Such an assumption may not be realistic since the sheer volume of data required to effectively estimate the transition probabilities makes it a practically difficult proposition. Some methods such as the REVEAL algorithm [6] provide approaches to learn deterministic Boolean networks from discretized time course data. However time course data from biological samples itself can be difficult to come by.
One way to get around the problem of insufficient data is to use prior knowledge about the regulatory interactions between the various biological molecules in a cell. In the biological literature, a lot of information is available regarding the various regulatory interactions. This information has been collected by biologists over a long period of time. These regulatory interactions, collectively referred to as pathway knowledge, are generally not incorporated into the various methods of modeling gene regulatory networks. Using this information, however, would result in models which describe cellular behavior more accurately.
A possible approach to use such prior information has been developed in [7]. In that reference, the authors use Boolean logic to model signal transduction networks. In [8], the authors have used boolean models derived from http://www.almob.org/content/9/1/20 prior information to model the heterogeneity of cancerous tissues. Furthermore, in [9] Boolean logic is used to model the Mitogen Activated Protein Kinase (MAPK) signal transduction network and the result of that modeling is shown in Figure 1. Here, each connecting wire corresponds to a variable which represents the state of the corresponding protein/gene. In this model each variable is assumed to have two states, an activated and a deactivated one. For example the state of EGFR will be upregulated or activated when the cell is exposed to EGF. The way the various variables are dependent on each other can be modeled using standard Boolean logic functions such as AND, OR, NOT, NAND, etc. This is shown in Figure 1. In [9] the authors presented a stuck-at fault model of the mutations which result in the neoplastic behavior of the tissue. A stuck-at-one fault corresponds to a variable permanently being in an activated state irrespective of the states of the variables upstream of it. Similarly a stuck-at-zero fault would mean a variable has a permanently downregulated state irrespective of the states of the other upstream variables. These "stuck" variables would however affect the variables downstream of them through the Boolean Logic gates which have these variables as inputs. To show how Boolean regulatory networks with stuck-at faults can be used to model cancerous tissue, we give the following examples. In 30% of human breast cancers there is an over expression of the ERBB2 gene [10]. This causes ligand independent firing translating to a stuck-at-one fault in the Boolean network. A stuck-at one fault at ERBB2 means that the variable corresponding to ERBB2 in the Boolean network shown in Figure 1 is always upregulated regardless of the activity status of the variables upstream of it. Similarly in 90% of the pancreatic cancer cases we see a mutated Ras gene which causes it to lose its gtpase activity [10]. In other words, we have a stuck-at-one fault associated with the Ras variable. Stuck-at faults could also be interpreted as points of dysregulation in the Boolean network brought about by certain genes irrespective of the presence of mutations. Figure 1 also shows the locations where some important kinase inhibitory drugs act. The inputs in the Boolean network corresponding to these drugs are '1' when the drugs are administered, '0' otherwise. When the input corresponding to a drug is '1', it causes the target variable to get downregulated irrespective of the variables upstream of it, which in turn affects other downstream variables. At the bottom of the network, various observable variables such as the transcription factors (FOS-JUN, SP1, SRF-ELK) are represented as arrows. Other proteins of interest (BCL2, BCL2L1, CCND1) are also represented as arrows. Activity of transcription factors can be determined by the use of appropriate reporter genes. Hence this network can be considered as a multi input multi output system with the inputs being the exposure to various drug combinations and the output being the activity of the observable variables. The growth factors can also be considered as inputs, but in this paper we are simply considering the drugs as inputs whereas the growth factors are all considered to be one, that is, constantly active.
Locating stuck-at faults in a given Boolean regulatory network could help in the identification of key dysregulated genes that have a strong impact on the observable variables. This in turn could be used to identify targets for http://www.almob.org/content/9/1/20 new drugs. Knowledge about the locations of the stuckat faults along with knowledge about the targets of the kinase inhibitory drugs can be used to come up with optimal intervention strategies. A method to devise optimal intervention strategies using such Boolean regulatory networks with stuck-at faults is described in [9]. Accordingly, the problem we pose is this: given data points, where each data point consists of a combination of drugs used as the input and the activity of the observable variables as outputs, is it possible to locate the variables where stuck-at-faults have occurred? In the following sections we represent the problem as a statistical model with unknown parameters which are estimated from the data points using the message passing algorithm. This algorithm allows for rapid computation of the posterior probabilities of the parameters. The estimates obtained are evaluated by comparison with the results given by Markov Chain Monte Carlo methods.

Model description
There are many ways to model a gene regulatory network which describes the behavior of neoplastic tissue. The general rule is that the more the number of unknown parameters, the more the amount of data that is required to get an effective estimate of those parameters. Hence the modeling must be done keeping in mind the limited amount of data available from biological experiments.
Before we go into the details, we would like to point out that literature survey would enable us to know the most likely locations in the Boolean network where stuckat faults can take place. As stated in the previous section, in 30% of human breast cancers there is an over expression of the ERBB2 gene, and in 90% of the pancreatic cancer cases we see a mutated Ras gene. These are among many examples where prior knowledge about locations of faults is available. This knowledge would allow us to limit the search space for faults in the network. For example we may provide a set of locations where we want to search for faults.
One important assumption made in the modeling of mutations is that they are random events that occur independently of each other [11][12][13]. We make use of this assumption in our model by assuming that the faults occur unconditionally independent from each other with certain unknown probabilities associated with them. These unknown probability parameters are to be estimated from the collected data. These estimated probabilities will indicate our confidence about where the faults have occurred in the Boolean regulatory network.
We now explain the key ideas through a simple example. Let us assume that we have narrowed down the set of locations where we want to search for faults to be composed of RAF, IRS1, and RHEB as shown in Figure 1 (we are assuming stuck-at-one faults). Let their probabilities of occurrences be ρ 1 , ρ 2 , and ρ 3 which are to be determined. Define ρ = (ρ 1 ρ 2 ρ 3 ) T as the vector of the three parameters. Three possible locations of faults implies that there are 2 3 different fault combinations and their associated networks corresponding to the binary numbers 000, 001, ...., 111. The first network is one with no faults and has a probability of The second network has a single stuck-at-one fault at RHEB alone, and it's probability is given by Similarly, the third network has a single stuck-at-one fault at IRS1 alone, with a probability of and so on. The variable M is the decimal equivalent of the binary number representing the different fault combinations and could equivalently represent the particular faulty Boolean network being considered. Since there are three possible locations where stuck-at-faults can take place in this example, M can take 2 3 = 8 different values. In our convention, we use integers from 0 to 2 3 − 1 to represent the values taken by M. For example M = 6 corresponds to a network with faults at RAF and IRS1 but not at RHEB and has a corresponding probability of In this example the dimension of ρ is three, but it can be any integer depending on the size of the search space. Determining the entries of ρ allows us to determine the most likely faulty networks. Let V be the dimension of ρ. Then it is clear that P (M = m/ρ) has the following form: where R v,m is either 0 or 1 and m can vary from 0 to 2 V −1.
Consider any one of the variables represented as arrows at the bottom of Figure 1. Let us represent that variable by O j . j varies from 1 to 7 in our example based on Figure 1. The behavior or O j is determined by the network and what faults are in it. Let o i,j be an observation of that variable when the combination input is I i . o i,j can be either 0 or 1 since we are dealing with a boolean network here. Given that the network M is any one of the 2 V possible networks and given that the drug combination input is I i , the probability P O j = o i,j /M = m, I i can be either 0 or 1. It is 1 when o i,j matches the output of the j th output variable of the m th network for the the input drug combination I i , and is 0 otherwise. Let us represent P O j = o i,j /M = m, I i by S m,i,j . The probability P (M = m/ρ) is a function of ρ as http://www.almob.org/content/9/1/20 described in equation (2). Therefore, by the theorem of total probability, In our example, we will proceed by assuming that the observable variables (the O j 's) are independent given the faulty network and the drug combinations. This assumption can be easily relaxed for the case when the 7 observable variables represented as arrows at the bottom of Figure 1 are observed together for each drug combination used as the input. In this case, instead of P O j /M , we will be working with P (O 1 , O 2 , . . . , O 7 /M). This however does not affect our fundamental results and is a simple extension of our example.
Let O represent all of the observed data for all the observable variables and I represent the entire set of the corresponding inputs. Let J be the number of observable variables and N be the number of observations for each observable variable. Then we have which is nothing but the likelihood function. In order to handle experimental repeats, we can have the the drug combinations I i to be the same for more than one value of the index i. An estimate of ρ can be obtained from equation 4, either by maximum likelihood estimation, or by calculating the posterior mean of the parameters. If the prior distributions of all the elements of ρ are assumed to be uniformly distributed between 0 and 1, the posterior distribution of ρ is directly proportional to P (O/ρ, I). If P(O/ρ, I) comes out to be zero for all values of ρ, then we have every reason to question the validity of the Boolean network used to model the behavior of the biological network, or the set of possible locations of faults. Various estimates of ρ, such as the posterior mean or the posterior mode (the value of ρ where the posterior distribution is maximal) can be obtained from P (O/ρ, I). Now we can algebraically expand the right hand side of equation (4) to write P (O/ρ, I) as where Q1 v,k and Q2 v,k are non negative integers. Calculating P (ρ/O, I) from P (O/ρ, I) is now trivial since it only involves calculation of a multiplicative normalization constant.
where in the denominator there is the normalization constant which turns out to be where β( * , * ) is the beta function. This equation is derived by considering a uniform prior on all the elements of ρ. The integrations can be done easily because of the form of equation 5. Each variable ρ v is integrated from 0 to 1. Equation 6 shows the joint posterior distribution of all the unknown parameters ρ 1 through ρ V considered together. In order to find the marginal distribution of any given parameter of interest, we will need to integrate out the rest of the parameters. For example P(ρ l /O, I) for any given value of l can be found out to be Following this the posterior means can also be calculated. However the number of additive terms in equation 5 represented by the summing variable k in general rises exponentially with the number of data points collected. In the worst case, the left hand side of equation (3) will contain 2 V terms. Since the number of multiplicative terms in equation 4 is NJ (the number of data points collected), upon expanding the right hand side of equation 4 we get 2 VNJ additive terms in equations 5, 7, and 8. Thus the computational cost to compute the mean of any given ρ l is O(2 VNJ ). Hence the total computation cost to compute the posterior means of all the elements of ρ (ρ 1 through ρ V ) is O V × 2 VJN . Therefore the straightforward approach for calculating the posterior distributions of ρ l 's and their posterior means will get intractable as the amount of data collected increases.
To get around this difficulty we will use an iterative algorithm to obtain an approximation of the marginal distributions of the elements of the parameter vector ρ. From the marginal distribution it will be straightforward to obtain the posterior means and confidence intervals of the individual elements of ρ.

Factor graph representation of the model
Factor Graphs are an important tool used in various applications such as signal processing and telecommunications. Many algorithms can be easily understood and derived using the factor graph approach. These include Kalman Filters, the Viterbi Algorithm, the Forward-Backward algorithm and Turbo Codes to name a few. The approach involves first representing the probability http://www.almob.org/content/9/1/20 model as a factor graph and then applying the message passing algorithm along the edges. The reader is referred to [14,15] for an in-depth coverage of factor graphs and the message passing algorithm. Here we provide a short primer to the subjects and go into the details of only our particular example.

A simple example
for a particular value of x 2 (the marginal of x 2 ). In addition, suppose that each x i can take A different values. Hence the straight forward approach would require us to sum g (x 1 , can also be calculated as which sums over 2A different values. For continuous variables, the summation is replaced by integration. The optimal strategy for calculating the marginal of x 2 is straightforward to derive in this simple example. However a systematic approach to find the optimal strategy to calculate the marginal of any variable for any given probability function is given by the message passing algorithm which acts on the factor graph representation of the function. The factorization of a function can be represented by a factor graph. A factor graph is a bipartite graph with a variable node corresponding to each variable x i and a factor node corresponding to each independent factor f j and has an undirected edge connecting a variable node of x i to a factor node of f j iff x i is an argument of f j [14,15]. The factor graph of g (x 1 , x 2 , x 3 ) is shown in Figure 2.
Messages pass along the edges in both directions. Messages are functions of the variable whose node is associ- the messages from f j to x i and vice versa. We simply write down the update equations below. For an in-depth discussion on their derivation, the reader is referred to [14,15]. The messages are calculated as follows: where n (x i ) and n f j denote the neighbors of x i and f j respectively in the factor graph. n (x i ) \{ f j } represents the set of all the neighbors of x i except f j . The definition of n f j \{x i } is similar. Since the factor graph is bipartite, the neighbors of a variable node can only be factor nodes, and the neighbors of a factor node can only be variable nodes. X denotes the set of arguments of f j . ∼{x i } denotes summation over all local variables except x i . The set of local variables will simply be the set X, since the factor node f j is connected by undirected edges only to the variable nodes of its arguments. The message going away from a leaf variable node is the constant 1, while the message going away from a leaf factor node is the value of that local factor. Using these rules on the simple example, we have The marginal distribution of a variable is simply the product of all the messages being received by the corresponding variable node. Hence and thus equation (9) is derived using factor graphs and the message passing algorithm. Calculating the rest of the messages would allow us to calculate the marginals of x 1 and x 3 as well. The message passing algorithm would terminate when messages along both directions of all the edges in the graph have been calculated.
The message passing algorithm terminates and gives exact marginals for the cases where the factor graph has no cycles. But the most interesting applications are for those cases where the factor graph has cycles, where the http://www.almob.org/content/9/1/20 marginals are calculated by iteratively updating the messages (for example the iterative decoding of turbo codes). We similarly use an iterative version of the message passing algorithm in our model to approximate the marginal posterior distribution of the unknown parameters.
Using factor graphs and the message passing algorithm on the signal transduction network model Now, P (ρ/O, I) ∝ P (O/ρ, I) as is evident from equation (6), while the expression for P (O/ρ, I) is given in equation (4). Let P i,j represent the multiplicative factor P O j = o i,j /I i , ρ in equation (4). In a factor graph, each multiplicative factor is represented by a factor node and each element of ρ is represented by a variable node. Hence there are NJ number of factor nodes with each corresponding to one particular multiplicative term in equation 4, and there are V number of variable nodes with each corresponding to one particular unknown parameter (one out of ρ 1 through ρ V ). The purpose of this algorithm is to compute the posterior marginal distributions of the unknown parameters ρ 1 through ρ V , which can then be used to compute their means and confidence intervals. Figure 3 shows the factor graph of equation (4). As we can see the factor graph in Figure 3 has cycles. In a factor graph with cycles, the message passing algorithm does not terminate and the messages are locally updated with every iteration. Every time a new message is calculated, it replaces the old message. The iterative message passing algorithm is as follows: 2. calculate all μ P i,j →ρ v (ρ v ) as per equation (11). 3. calculate all μ ρ v →P i,j (ρ v ) as per equation (10). 4. repeat steps 2 and 3 in that order.
Since we are dealing with continuous variables between 0 and 1, the summations are replaced by integrations. Every time μ P i,j →ρ v (ρ v ) are computed in step 2, they come out to be polynomials of degree one due to the multiplicatively separable nature of the integrands involved and that all the parameters ρ v are being integrated from 0 to 1 (a rectangular integration region). Let them be represented as Every time μ ρ v →P i,j (ρ v ) are computed in step 3, they will be polynomials of degree NJ − 1 since they are simply the product of all incoming messages except one. Let them be represented as The values b 0,v,i,j and b 1,v,i,j can be updated in step 2 as follows.
The a v,i,j can be updated in step 3 by performing polynomial multiplications of the NJ − 1 incoming first degree polynomials to the v th variable node and comparing coefficients. That is, the following equation must be satisfied.
By comparing coefficients of either side of equation (17), the values of the elements of the vector a v,i,j are updated. This is also equivalent to the convolution of the message vectors b v,g,h for g = i, h = j. At each iteration, the message vectors can be multiplied by constants so as to prevent overflow or underflow when implementing the algorithm on a digital computer with finite precision. In that case the final solutions we get are simply the required marginal distributions scaled by some unknown constant. If we are simply interested in the marginal distributions, then it is not necessary to keep track of the multiplied constants. We simply need to normalize the marginals so that their integrals from 0 to 1 give unity.
The message vectors a v,i,j and b v,i,j are iteratively updated until some convergence criteria is satisfied (for example if the Hellinger distance between the marginals of two successive iterations is below a certain threshold). In our simulations, we saw that as few as 2 iterations gave satisfactory results in terms of convergence. Hence the time complexity of the algorithm is dependent on steps 2 and 3 of the algorithm.
In order to calculate Along with that, we can also calculate and store the value of If we look at equations (15) and (16), the computation of b v,i,j seems to be of O NJV 2 V time complexity. Since there are NJV of b v,i,j to be computed, step 2 seems to be of O (NJ) 2 (V ) 2 2 V time complexity. However some of the computations are repeated and storing these computations for reuse can reduce the time complex- Hence the complexity of each iteration of the algorithm comes out to be O NJV (2 V + CNJ) , where C is a constant. This is quadratic with respect to the number of data points NJ, as opposed to the exponential complexity of the straightforward approach discussed in section 'Model description'.
Once the convergence criteria is met and the algorithm is terminated, the marginal distribution of ρ v is calculated as where γ is a normalization constant which can be calculated to give

Simulation experiments
We did simulations where the algorithm was tested on synthetic data as well as applied to real world data. The marginal posterior distributions estimated using the iterative message passing algorithm were compared with the marginal posteriors estimated using the time consuming and computationally intensive Markov Chain Monte Carlo (MCMC) methods and the estimates obtained using both methods came out to be close thereby verifying the iterative message passing algorithm's correctness. Various literature on MCMC methods exist [16][17][18]. We will describe the details used in our simulations instead of going into a detailed discussion of MCMC methods. The Markov Chain Monte Carlo Method involves creating a Markov Chain whose stationary distribution is the required posterior distribution. The Metropolis-Hastings Algorithm will be used to generate such a Markov Chain since the samples need to be generated from a non standard probability distribution. This method will be used to generate samples from the posterior distribution of the unknown parameters of the vector ρ. These samples can then be used to get an estimate of the joint as well as the marginal posterior distributions of the unknown parameters using kernel density estimation.
Samples are drawn from the posterior distribution of ρ using the Metropolis-Hastings (MH) Algorithm in the following manner. Let the n th sample drawn from the posterior distribution of ρ be ρ (n) = ρ (n) 1. Initialize all elements of ρ (0) to be 0.5. 2. At the n th iteration of the MH algorithm, generate ρ * from the proposal distribution U(ρ/ρ (n) , ). The proposal distribution and the tuning parameter will be discussed in the next paragraph. http://www.almob.org/content/9/1/20

Calculate the acceptance ratio
(Recall that the prior of the parameter vector is constant). P(O/ρ * , I) and P(O/ρ (n) , I) can be easily calculated for known values of ρ * and ρ (n) without the expansion of P(O/ρ, I) described in equation (5). Accept ρ * as the next sample ρ (n+1) with probability min (1, D), or keep ρ (n+1) equal to ρ (n) with probability 1 − min(1, D). 4. Repeat steps 2 and 3 to generate samples from the posterior of P(ρ/O, I).
where Beta(x, y) is the beta function with parameters x and y and is a scalar tuning parameter which controls the variance of the distributions of the ρ i 's. It can be adjusted to give autocorrelation properties of the Markov Chain within acceptable ranges.

Experiments with synthetic data
To demonstrate the working of the algorithm, we ran simulations of the message passing algorithm as well as the MH algorithm on synthetic data. We generated synthetic data from the example described in section 'Model description' which was derived from the MAPK signal transduction network, which is a well understood network.
The set of locations where faults can take place was taken to be composed of RAF, IRS1, and RHEB. The probabilities of stuck-at-one faults at these locations (The parameters ρ 1 , ρ 2 , and ρ 3 ) were taken as 0.7, 0.4, and 0.2. Synthetic observations of the observable variable (the variables shown at the bottom of Figure 1 as arrows) were generated for various drug combinations as inputs (the drugs being AG1024, AG825, Lapatinib, LY294002, U0126, and Temsirolimus, whose action on the Boolean network of the MAPK network is shown in Figure 1) according to the probability model described in the previous sections. The inputs at the top of the network corresponding to growth factors (EGF, HBEGF, IGF, and NRG1) were all taken as 1 (if the cells were being grown on petridishes, then this would be equivalent to the case where all the four growth factors have been supplied in the serum). Hence the data set o i,1 , o i,2 , . . . , o i,J , I i is generated. There are 6 drugs in the Boolean model. All the 2 6 − 1 drug combinations were used to generate the data points. Hence i varies from 1 to 63.
After the synthetic data set was generated, the marginal posterior distributions of the elements of ρ (The parameters ρ 1 , ρ 2 , and ρ 3 ) were estimated using both the message passing algorithm as well as the MCMC method. For the MCMC method, the tuning parameter is set to 0.04 which gives an acceptance rate of 40%. The reader is referred to [18] for information on acceptance rates. Then the Markov Chain was run to generate 50,000 samples to attain stationarity (the burn in period). Following this, the Markov chain was run long enough to generate 250,000 samples and thinned by a factor of 50 (one in 50 samples generated was stored for each parameter) resulting in 5000 samples for each ρ v . This resulted in effective sample sizes of atleast 4000 for each of the ρ i 's. the reader is referred to [18] for information on effective sample sizes. The algorithms were implemented in MATLAB. The message passing algorithm was terminated after 2 iterations which took about 4 seconds. For our purposes, we used the Hellinger Distance between the marginals of the first parameter ρ 1 calculated at consecutive iterations of the message passing algorithm to fall below a certain threshold to signal termination of the algorithm. However other convergence criterions could also be used. The MCMC samples were generated in 30 minutes after the initial burn in period. The marginal posterior distribution of ρ 1 through ρ 3 calculated using both the message passing algorithm and the MCMC approach are shown in Figure 4. Kernel density estimation with a Gaussian Kernel was used to estimate the marginals from the sample values generated using the MH algorithm. The estimateP(ρ v /O, I) of P(ρ v /O, I) is calculated from the samples as followŝ where σ v is the bandwidth of the Gaussian kernel which is set to δ v L 1 5 . L is the number of samples generated by the MH algorithm (5000 in our case) and δ v is the standard deviation of the generated samples. This rule of thumb to calculate the bandwidth of the Gaussian kernel is discussed in [19].
As we can see in Figure 4, there is almost no difference in the inference of the marginal posterior distributions of the unknown parameters between the message passing algorithm and the MCMC approach. The posterior mean of ρ v is calculated from the message passing algorithm as This simulation shows that the message passing algorithm successfully calculates the posterior marginal distributions of the unknown parameters ρ 1 through ρ 3 and gives the same inferences as the Metropolis-Hastings algorithm. We did simulations with various values of ρ and for different sets of locations of faults. The iterative message passing algorithm gave estimates of the posterior marginal distributions of the parameters same as those estimated using the MCMC approach for all the test cases considered in our simulations.

Applications to real data
To test our model, we performed experiments on healthy adult fibroblasts where it is fair to assume that there are no cancer causing mutations present in the tissue. Hence it is fair to assume that a Boolean regulatory network with no faults would best model this tissue.
Adult fibroblasts were grown in petri-dishes till confluence and then maintained in 0.2% FBS (Fetal Bovine Serum) for four days. It is a general assumption that FBS contains most of the important growth factors. After this, the cells were exposed to 0.2% FBS and 100 μM Anisomycin for 30 minutes. Anisomycin is a protein synthesis inhibitor which activates the MAPK signal transduction network and keeps it responsive to kinase specific inhibitors [20,21]. That is, with the addition of Anisomycin, we anticipate the MAPK signal transduction network to respond to the addition of kinase inhibitors such as U0126. Anisomycin, being a protein synthesis inhibitor, would also cut off any feedback path which has a translation (protein synthesis) step in it. The cells were then grouped into three groups (group 0, group 1, and group 2). Group 0 was the control group which was exposed to 100 μM Anisomycin only. Group 1 was exposed to 100 μM Anisomycin and 50 μM of LY294002. Group 2 was exposed to 100 μM Anisomycin, 50 μM of LY294002, and 10 μM of U0126. All three groups were also exposed to 20% FBS along with the other chemicals. LY294002 and U0126 are highly specific inhibitors of PI3 Kinase (PI3K in Figure 1) and MEK1 respectively. The molecular targets of LY294002 and U0126 are shown in Figure 1. Genes having the SP1 and SRF-ELK response elements in their promoters were quantified through real time PCR and the delta-delta method [22]   with GAPDH as the reference gene and group 0 as the control. The genes were measured in quadruplets for each experiment. EGR1 is measured as a reporter gene of SRF-ELK transcription factor [23]. JUN, and cMYC are measured as reporters of SP1 [24,25]. Other genes having the SP1 response element in their promoters are Decorin, IRF3 and VEGFA [26][27][28][29]. These six genes were quantified in quadruplets for each experiment. The readings of each gene are discretized using Otsu's method [30]. As an example the readings of ERG1 and their corresponding discretized values are shown in Table 1. The threshold level for EGR1 came out to be 0.3824. the expressions above this level are labeled as 1 and those below are labeled as 0. The measured normalized gene expression ratios are shown in Table 2.
For demonstration purposes, we have taken the set of locations where to search for faults to be composed of ERK1/2 and IRS1 (shown in Figure 1). The marginal posterior probability distributions of the probabilities of faults associated with these two locations are shown in Figure 5.
As we can see in Figure 5, the posterior marginal distribution associated with ERK1/2 comes out to be quite tightly distributed with a mean of 0.1538 while that for IRS1 comes out to be uniformly distributed between 0 and 1. This is because the data does not contain any discriminating information about the occurrence of any fault at IRS1 under this MAPK Boolean model. But it does tell us Figure 5 Marginal posterior distribution of the unknown parameters associated with ERK1/2 and IRS1. http://www.almob.org/content/9/1/20 that the probability of occurrence of a fault at the variable corresponding to ERK1/2 is pretty low, judging by its mean to be having a low value of close to 15%. This is expected since the data comes from adult fibroblasts, where we can be fairly sure that no cancer causing mutations are present. If data had been collected after exposure to other combinations of other drugs (for instance Lapatinib or Temsirolimus) then the data might have allowed the model to make meaningful inferences regarding occurrences of faults at locations besides ERK1/2 as well as give sharper confidence intervals than that shown in Figure 5.

Conclusion
In this paper we have described a method to estimate the probabilities with which certain faults have taken place in a given Boolean Regulatory network, provided we have the observations of the observable variables whose behavior is determined by the network. We have described the probability model and described a fast algorithm based on message passing to make the inferences about the posterior marginal probability distributions of the unknown parameters of the model (These parameters being the probabilities of the occurrences of the faults). We have compared the performance of the algorithm with Markov Chain Monte Carlo techniques (the Metropolis-Hastings Algorithm) through simulations, and we have shown that the message passing algorithm gives results comparable to those obtained using the MCMC methods with the added advantage of much smaller computation times. We also applied the model to analyze data collected from fibroblasts, thereby demonstrating how this model can be used on real world data. Such a computationally manageable approach has the potential to allow the inference of locations of faults in a Boolean regulatory network in a probabilistic setting from data, such as gene expression data.
Locating the points of dysregulations in a deterministic Boolean signal transduction network could be used to suggest therapies as described in [9]. Since we are locating faults in a probabilistic setting, the therapy could be designed keeping in mind the tradeoff between treating cancer and managing the side effects of the treatment. For example, consider a case where we have two possible locations of faults. Let the computed probability of the occurrence of a fault at the first location be smaller than that of the second location. Then we may only consider the second fault in our therapy design process, thereby reducing the exposure of the patient to excessive drugs which may have unwanted side effects.
Future work could focus on performing experiments on cancerous cell lines being exposed to various combinations of drugs and infer from the collected data the likely locations of dysregulations in the corresponding Boolean regulatory network. Also, algorithms could be developed to automate the process of selecting the set of locations of faults instead of having the user provide it to the algorithm.

Availability of codes and data
The MATLAB codes and the data can be obtained by sending a request to anwoy.rkl@gmail.com.