Computer and Information Science and Engineering, University of Florida, Gainesville, FL 32603, USA

Abstract

Background

Microarray experiments often measure expressions of genes taken from sample tissues in the presence of external perturbations such as medication, radiation, or disease. The external perturbation can change the expressions of some genes directly or indirectly through gene interaction network. In this paper, we focus on an important class of such microarray experiments that inherently have two groups of tissue samples. When such different groups exist, the changes in expressions for some of the genes after the perturbation can be different between the two groups. It is not only important to identify the genes that respond differently across the two groups, but also to mine the reason behind this differential response. In this paper, we aim to identify the cause of this differential behavior of genes, whether because of the perturbation or due to interactions with other genes.

Results

We propose a new probabilistic Bayesian method

Conclusions

In this paper, we solved the problem of finding primarily differentially regulated genes in the presence of external perturbations when the data is sampled from two groups. The probabilistic Bayesian method CMRF based on Markov Random Field incorporates dependency structure of the gene networks as the prior to the model. Experimental results on synthetic and real datasets demonstrated the superiority of CMRF compared to other simple techniques.

Background

Microarray experiments often measure expressions of genes taken from sample tissues in the presence of external perturbations such as medication, radiation, or disease

In a perturbation experiment, some of the genes respond by noticeably changing their expression values between the control and non-control data. Genes that change their expressions in a statistically significant way are referred to as

Genes for any organism typically interact with each other via regulatory and signaling networks. For simplicity, we will refer to them as

A sample gene regulatory network

**A sample gene regulatory network**. Illustration of the impact of a hypothetical external perturbation on a small portion of the Pancreatic Cancer pathway. The pathway is taken from the KEGG database. The solid rectangles denote the genes affected directly by perturbation, the dashed rectangles indicate genes secondarily affected through the networks. The dotted rectangles denote the genes without any change in expression. → implies activation and ⊣ implies inhibition. In this figure, genes K-Ras, Raf and Cob42Roc are primarily affected and MEK, Ral and RalGDS are secondarily affected through interactions.

Once an external perturbation is applied, a gene can be DE in one of the two ways - as a direct effect of the perturbation or via interaction with other DE genes through gene networks. We denote a gene as

Recall that for a gene to be DR, it has to be EE in one group and DE in another group. For such a gene, if it happens to be DE in one group because of the external perturbation, we call it as

Existing methods to identify the primarily affected DE genes using association analysis techniques

We have also developed a method to detect the primarily and secondarily affected genes in perturbation experiments with a single data group

Though these methods analyze primary and secondary effects of perturbation on gene expressions, they are not directly applicable for multi-group perturbation experiments.

Several recent studies aim to identify DE genes in multiple groups of data points. maSigPro is a two stage regression based method that identifies genes that demonstrate differential gene expression profiles across multiple experimental groups

Our approach

In this paper, we propose a new probabilistic Bayesian method CMRF to find the PDR genes in two group perturbation experiment dataset as defined above. We call this method CMRF (Comparative MRF) for it applies MRF on two groups of data for comparison purpose. Our Bayesian method incorporates information about relationship from gene networks as prior beliefs. We consider the gene network as a directed graph where each node represents a gene, and a directed edge from gene _{i }_{j }_{i }_{j}

We represent the external perturbation by a hypothetical gene (i.e. _{0 }in the gene network. We add an edge from the metagene to all the other genes because the external perturbation has the potential to affect all the other genes. So, _{0 }is an incoming neighbor to all the other genes. We call the resulting network the _{j }_{i }_{j }_{0}, and obtain a list of possible PDR genes.

Figure

Illustration of different components of CMRF and connectivity between them

**Illustration of different components of CMRF and connectivity between them**. (A) obtains an initial estimates of state variables using Student's t test. (B) estimates parameters in a way that maximizes data likelihood. (C) estimates parameters in order to maximize prior density. Both (B) and (C) use a global optimization technique called _{0}. The genes at the top of the list are declared PDR.

We compare the accuracy of CMRF with that of SSEM and Students t test on semi-synthetic dataset generated from microarray data in Cosgrove et al

The rest of the paper is organized as follows. Section Results and discussion presents the results of our experiments. Section Methods describes our methods in detail. Section Conclusions concludes our discussion.

Results and discussion

In this section we discuss the experiments we conducted to evaluate the quality of CMRF. We implemented CMRF in MATLAB and Java. We obtained the code for Differential Evolution from

We obtained SSEM from

Dataset

We used four different sets of data to conduct the experiments in this paper.

• Dataset 1. The first dataset was collected by Smirnov et al.

• Dataset 2. The second dataset corresponds to a drug response experiment conducted by Taylor et al

Both dataset 1 and 2 are microarray time series data with more than two time points. We adapted these two time series data two create control and non-control data suitable for our experiments. We used the data before perturbation as control data. For the non-control data we calculated the expected expression of a gene at each points after the perturbation. We selected the one with highest absolute difference from the expected expression of control data for that gene.

• Dataset 3. We created dataset 3 using dataset 1. We used the control group of dataset 1 as the control group of dataset 3. Then, we changed the expression values of some of the randomly selected genes to model the primary effect of external perturbation. From that perturbed dataset, we simulated the secondary effects using the sigmoid method described in Garg et al. _{ac }_{in }

• Dataset 4. We create this dataset from dataset 1 in two steps as follows.

- Selection of genes. In order to carry out experiments on larger scale data with known PDR genes, we generated data in the presence of a hypothetical perturbation from the real datasets as follows. We first select three sets of genes. Each set consists of some primarily affected genes and a higher number of secondarily affected genes. Here, we describe how we construct each of the three sets of affected genes. We first select a random gene from the network and label it as a primarily affected DE gene. We then traverse its outgoing neighbors in a breadth first search manner. As we visit a gene during traversal, we label it as a secondarily affected DE gene with a probability of 1 − (1 − ^{η}

After we obtain the three set of genes, we assign one set to both _{A }_{B }

- Generation of gene expression. Once we identify these three sets of genes in the two groups, we create control and non-control data for _{A }_{B }_{A }_{B }_{i }_{i }_{i }

If the gene is EE we generate its non-control data points from the a normal distribution given by the parameters (_{i}_{i }_{p }_{i }_{s }_{p }_{s}

To summarize, we used the same variance in the non-control group as that in the control group. However, for an affected gene we changed the value of the mean in the non-control group from that in the control group. For a primarily affected gene we applied a higher deviation of mean than that of the secondarily affected genes.

Regulatory networks

We collected 24,663 genetic interactions from the 105 regulatory and signaling pathways of KEGG database

Comparison to other methods

Our method provides us a list of differentially regulated genes. We sort the list of those genes as follows. Consider a DR gene _{i}_{A }_{B}_{A }_{B }_{A }_{B}

As per our knowledge, no other method exists that differentiates between the primary and secondary effects in a two-group perturbation experiment. There exist some studies in identifying primarily affected genes in single group datasets. We compared the accuracy of CMRF to three such methods namely, SMRF, Student's t test and SSEM.

Experimental setup

Given an input dataset, using each of the four methods, we ranked all the genes. Highly ranked genes have higher chance of being a PDR according to each method. However, as other three methods are not tailored to solve this problem, we created separate ranking on _{A }_{B}_{A }_{B }

•

•

• Student's t test. We use the function called

Now we describe how we create an unified ranking of differentially regulated genes for these three methods. We denote the ranks from data group _{A }_{B }_{A }_{B }_{U }_{A }_{B }_{A}_{B}_{k }_{A }_{B }_{T }_{U }_{T }_{k}_{U }

Results

In this experiment we used dataset 3, that we have just described. To observe the accuracy of CMRF at varying degree of difficulties, we conducted experiments with four different values of

Comparison of CMRF with three other methods

**Comparison of CMRF with three other methods**. Comparison of our method CMRF to SMRF, SSEM and t-test. The number of primarily differentially affected genes is 40. The values for deviation (maximum perturbation to the PDR genes) are 0.6 and 0.8. The figures indicate that CMRF outperforms SMRF, SSEM and t-test.

Figures

We believe that there are three major factors for the success of our method over the other competing methods. First, the other methods do not simultaneously handle two groups of datasets and are not able to generate an unified ranking of differentially regulated genes. CMRF encompasses both groups in a single model and probabilistically determines the PDR genes. Hence, it is more shielded against the false positives introduced during the unification of ranking. Second, CMRF can successfully incorporate the gene interactions using MRFs while others ignore this information. Finally, in real perturbation experiments, multiple genes are often primarily affected. CMRF is capable of dealing with both large and small number of primarily affected genes, while performances of other methods deteriorate as the number of primarily affected genes grows. Thus, we conclude that our method is more suitable for real perturbation experiments.

Statistical significance experiment

The experiments in the last section enable us to compare the accuracy of CMRF with that of the other methods on synthetic datasets. We also wanted to evaluate the accuracy of CMRF on real dataset. However, we do not have any gold standard available that enlists

Results

We obtained the real dataset from drug response experiment conducted by Taylor et al _{p }_{p }_{s }_{s }_{p}_{i }_{i }_{A }_{B}_{0i}: _{i }_{i }is EE _{A }and DE in D_{B}_{A }_{B }_{i}_{0i }by _{i}_{i }_{i }_{i }

Figure _{p }_{p}_{p }_{p}

Illustration of statistical significance test

**Illustration of statistical significance test**. Illustration of the statistical significance test. Box plot demonstrates the P-value of null hypothesis of the DR genes over synthetic dataset. From the plot we clearly conclude that a higher gap between the control and non-control group of a DR gene leads to a lower P-value. The genes with a lower P-value have a higher chance of being primarily differentially regulated.

We also executed CMRF on the real datasets without any modification. Interestingly, on the real dataset from Taylor et al. _{p }_{6 }and _{7 }in the prior density become strong and all genes are identified as equally regulated. However, when either the number of data points or _{p }

In Figure _{p }_{p }_{p }_{p }

An interesting question can be raised is that "is there indeed no DR genes in the real dataset from Taylor et al. _{6 }and γ_{7 }assumes extreme values. Thus the support from data is not sufficient to overcome the prior and hence, the method is not able to identify the DR and PDR genes. There are two solutions to overcome this problem. First of them is to employ a bigger dataset. With the advancement of comparatively inexpensive and high throughput technologies bigger dataset are increasingly common nowadays. From that perspective, CMRF is supposed to perform more accurately in the near future. A second option to circumvent the problem is to restrict the growth of the two parameters γ_{6 }and γ_{7}. If we have knowledge about the values of these two parameters, we can assign then as input to the program and refrain from estimating their values. This will enable us to employ a comparatively non-informative prior which will be easier for the data to overcome. Also, we can use specific bound over those variables while estimating them to avoid them becoming stronger.

Conclusions

Microarray experiments often measure expressions of genes taken from sample tissues in the presence of external perturbations such as medication, radiation, or disease. Typically in such experiments, gene expressions are measured before and after the application of external perturbation.

In this paper, we solved the problem of finding primarily differentially regulated genes in the presence of external perturbations when the data is sampled from two groups. The probabilistic Bayesian method based on Markov Random Field incorporates dependency structure of the gene networks as the prior to the model. Experimental results on synthetic and real datasets demonstrated the superiority of CMRF compared to other simple techniques.

Methods

In this section we describe different components of CMRF. Section Notation and problem formulation describes the notation and formulates the problem. Section Overview of the solution provides a high level overview of the solution. Section Computation of the prior density function describes the calculation of the prior density function of MRF. Section Approximation of the objective function discusses the definition of a tractable objective function. Section Computation of likelihood density function discusses the calculation of the likelihood function. Finally, Section Objective function optimization describes the algorithm to optimize the objective function.

Notation and problem formulation

In this section, we describe our notation and formally define the problem. We define a Bayesian model for gene expression in a two-group perturbation experiment. We classify the random variables of the model into two different groups, namely

Observed variables

We define two sets of observed variables, one for microarray gene expression data and another for the neighborhood in the extended gene network.

• Microarray data. We denote the number of genes by _{A }_{B }_{A }_{B }_{A }_{Aij}_{i }_{A }_{A }_{i }_{A }_{B}

• Neighborhood variables. We use the term _{i }_{j }_{i }_{j }_{j }_{i }_{ij }

Hidden variables

We define three sets of hidden variables, These variables govern the state of genes, regulations of genes and interactions among genes respectively.

• State variables. We use _{A }_{B}_{Ai }_{i }_{A }_{A}_{Bi }_{0 }is DE for both _{A }_{B}_{A}_{0 }= _{B}_{0 }=1.

• Regulation variables. We denote the regulation condition of gene _{i }_{i}_{i }_{Ai }_{Bi}_{i }_{i }_{i }_{i }_{A}_{0 }= _{B}_{0 }= 1.

• Interaction variables. In order to govern the joint regulation states of genes _{i }_{j }_{ij }_{i }_{j}_{ij }_{i }_{j }_{0j }∈ {2, 3} and _{0j }∈{1, 4} correspond to the cases where _{j }_{0}.

It is easy to see that the hidden variables follow a hierarchical structure. For instance, the value of _{i }_{Ai }_{Bi}_{ij }_{i }_{j}_{ij }_{Ai}_{Bi}_{Aj }_{Bj }_{i}_{j }_{ij }_{Ai}_{Bi}_{Aj }_{Bj }

Enumeration of the values of _{i}_{j }_{ij}

**
S**

**
S**

**
S**

**
S**

**
Z**

**
Z**

**
X**

DE

DE

DE

DE

1

1

1

DE

DE

DE

EE

1

2

2

DE

DE

EE

DE

1

3

3

DE

DE

EE

EE

1

4

4

DE

EE

DE

DE

2

1

5

DE

EE

DE

EE

2

2

6

DE

EE

EE

DE

2

3

7

DE

EE

EE

EE

2

4

8

EE

DE

DE

DE

3

1

9

EE

DE

DE

EE

3

2

10

EE

DE

EE

DE

3

3

11

EE

DE

EE

EE

3

4

12

EE

EE

DE

DE

4

1

13

EE

EE

DE

EE

4

2

14

EE

EE

EE

DE

4

3

15

EE

EE

EE

EE

4

4

16

Enumeration of the values of _{i}_{j }_{ij }_{Ai}_{Bi}_{Aj }_{Bj}_{i }_{Ai }_{Bi}_{ij }_{i }_{j}_{ij }_{Ai}_{Bi}_{Aj }_{Bj}

It is worth noting that the different values that we assign to the hidden variables are categorical in nature.

Problem formulation

Let _{0}. Given an observed data

A higher value of _{0j }= {2, 3}|·) indicates a higher probability of a gene _{j }_{0j }|·), ∀_{j }

Overview of the solution

This section describes a high level overview of our approach to estimate _{0j}|·), ∀_{j }

We build a Bayesian probabilistic method based on Markov Random Field where we leverage the information from gene networks as the prior belief of the model. Using Bayes theorem

The first term in the numerator, _{Y }_{X }

Given the joint probability density function outlined in Equation 1, our original problem reduces to obtaining assignments for the interaction variables _{X }_{Y }

A Maximum Likelihood Estimation (MLE) of Equation 1 is practically infeasible even for a small number of genes since the number of terms in the denominator grows exponentially. Instead we use a pseudo-likelihood version of the objective function as shown in Section Approximation of the objective function. We use Iterative Conditional Modes (ICM) _{X }_{Y}

After the optimization, we obtain an assignment for _{X }_{Y}_{ij }_{0j}|·), ∀_{j }

Figure

Computation of the prior density function

In this section, we describe how we incorporate gene network as the the prior belief into our Bayesian model. From the structure and properties of gene network, we build three hypotheses and embed them into our model. We present the entire concept in three numbered subsections.

1. Statement of hypotheses

Here we state the three hypotheses on the biological networks in brief.

• Hypothesis 1. In each group _{T}_{0 }can change the state of all the other genes. Thus, all the genes can be directly affected by the external perturbation.

• Hypothesis 2. In each group _{T}_{i }_{j }

• Hypothesis 3. Each gene has a high probability of being equally regulated. This follows from the observation that, often the difference between the expressions of most of the genes in two groups is small. We expect that the response of genes in these groups is very similar.

Clearly, when the data does not follow one or more of the hypotheses, the optimization function can overcome the prior belief with a strong support from the data.

2. Markov Random Field construction

In order to compute the prior density function, we define a Markov Random Field (MRF) over the _{ij }_{35 }and _{25 }are neighbors, as they share 5 (i.e. gene _{5}) as the second subscript and _{2 }and _{3 }interact in the gene network in Figure

A hypothetical gene network and corresponding Markov random graph

**A hypothetical gene network and corresponding Markov random graph**. (a) A small hypothetical gene network with perturbation in two datasets _{A }_{B}_{0 }represents the abstraction of the external perturbation. Rectangles denote genes. → implies activation and ⊣ implies inhibition. The potential effect of metagene to all other genes is indicated by dotted arrows from the metagene to all the other genes. For example, _{1 }is primarily affected in _{A}_{B}_{2 }is primarily affected in both the datasets. _{3 }is secondarily affected in both _{A }_{B}

One important point to note is that, this graph does not use the state variables _{2 }to _{3}. So, _{2 }can potentially change the state of _{3}. We create an edge from _{12 }to _{13 }that corresponds to the edge from _{2 }to _{3}. As g1 is common for _{12 }and _{13}, if they assume the same value (i.e. _{12 }= _{13}), it implies that the genes _{2 }and _{3 }are in same state (i.e. _{T}_{2 }= _{T}_{3},

3. Development of feature functions

We denote the neighbors of _{ij }_{ij }_{ij }_{ij }_{ij }_{ij }_{ij }_{ij}_{ij }_{ij}_{ij}

We define seven feature functions to capture the dependencies among the variables in

Unary feature functions

F_{1}, F2, F3. A primary component of the prior density function is modeling the frequency of _{ij }_{ij }_{ij }_{j }_{0}. When _{ij }_{j }_{A }_{B}_{1}(_{ij}_{ij }_{ij }_{j }_{A }_{B}_{2}(_{ij}_{ij }_{ij }_{3}(_{ij}_{ij }_{1}, _{2 }and _{3}.

Feature functions

**
X**

**
F
_{1}
**

**
F
_{2}
**

**
F
_{3}
**

**
F
_{6}
**

**
F
_{7}
**

1

0

0

1

1

1

2

1

0

0

1

0

3

0

1

0

1

0

4

0

0

1

1

1

5

0

0

1

0

1

6

0

0

1

0

0

7

0

0

1

0

0

8

0

0

1

0

1

9

0

0

1

0

1

10

0

0

1

0

0

11

0

0

1

0

0

12

0

0

1

0

1

13

0

0

1

1

1

14

0

0

1

1

0

15

0

0

1

1

0

16

0

0

1

1

1

Enumeration of five different unary feature functions _{1}, _{2}, _{3}, _{6 }and _{7}.

Binary feature functions

_{4}, _{5}. Let ϒ represent the hypothesis that in a group _{T }_{j }_{k}_{A }_{B }_{A }_{B }

ϒ_{p}_{i}_{j }_{k}_{p }_{i}_{i }_{j }_{j }_{k}_{pj}_{ij}_{ij }_{ik}_{p }_{i}_{k }_{j }_{ij }_{i }_{j }_{pj }_{ij }_{p }_{i}_{ij }_{ik }iff Z_{j }_{k}

We define two sets of feature functions to formalize these equalities based on the incoming neighbors of _{i }_{j}

• Left external equality. We denote the incoming neighbors of _{i }_{i}_{4}(_{pj }_{ij}_{p}_{p }_{i}_{4}(_{pj }_{ij}_{i }_{p }_{pi }_{ij }_{4}(_{pj}_{ij}_{i }

• Right external equality. We denote the outgoing neighbors of _{j }_{j}_{5}(_{ik}_{ij }_{k}_{k }_{j}_{5 }(_{ik}_{ij}_{k }_{j }_{jk }_{ij }_{5 }(_{ik}_{ij }_{j }

Tables _{4 }and _{5 }for different values of _{ij}_{j }_{ij }_{pj }

Left external equality

**
X**

**1**

**2**

**3**

**4**

**5**

**6**

**7**

**8**

**9**

**10**

**11**

**12**

**13**

**14**

**15**

**16**

1

1

0

0

0

2

1

0

0

0

3

1

0

0

0

4

1

0

0

0

5

0

1

0

0

6

0

1

0

0

7

0

1

0

0

_{ij}

8

0

1

0

0

9

0

0

1

0

10

0

0

1

0

11

0

0

1

0

12

0

0

1

0

13

0

0

0

1

14

0

0

0

1

15

0

0

0

1

16

0

0

0

1

The table enumerates the truth values for the binary feature function _{4}). Only the possible entries are annotated with zero and one. The other entries require different values of _{j }_{ij }_{j}_{ij }_{pj }

Right external equality

**
X**

**1**

**2**

**3**

**4**

**5**

**6**

**7**

**8**

**9**

**10**

**11**

**12**

**13**

**14**

**15**

**16**

1

1

0

0

0

2

0

1

0

0

3

0

0

1

0

4

0

0

0

1

5

1

0

0

0

6

0

1

0

0

7

0

0

1

0

_{ij}

8

0

0

0

1

9

1

0

0

0

10

0

1

0

0

11

0

0

1

0

12

0

0

0

1

13

1

0

0

0

14

0

1

0

0

15

0

0

1

0

16

0

0

0

1

The table enumerates the truth values for the binary feature function _{5}). Only the possible entries are annotated with zero and one. The other entries require different values of _{i }_{ij }_{ik}_{ij }_{ik }

For feature functions _{4 }and _{5}, _{pj }_{ik }_{pj }_{ik }

Unary feature functions

_{6}, _{7}. We introduce two unary feature functions to incorporate our last hypothesis, that all genes are ER with a high probability. We consider two genes _{i }_{j }_{i }_{j}_{i }_{j }

• Left internal equality. We define this feature function to capture the events when _{i }_{j }_{ij }_{6}(_{ij}_{ij }

• Right internal equality. We define this feature function to capture the events when _{j }_{i }_{ij}_{7}(_{ij}_{ij }

The last two columns of Table

Based on these feature functions, we define the joint density function of

In the above equation _{k}

In the next section, we discuss how we approximate the objective function of the MRF and the data. We also describe how we formulate the posterior probability density function for _{ij}

Approximation of the objective function

A direct maximization of the objective function given by Equation 1 is intractable, as it requires evaluation of exponential number of terms in the denominator. We employ pseudo-likelihood as an established substitute to Equation 1 _{ij }

The posterior density function _{ij }_{ij }

Derivation of ** F**.

In step 2 of the derivation, we substitute _{Ai}_{Bi}_{Aj }_{Bj }_{ij }_{Ck }_{ij }_{Y }_{X}

Derivation of _{ij }

_{ij}_{1}, _{2},...·_{7}} by _{X}

□

There are two different terms in objective function of Equation 4. _{ij }

Computation of likelihood density function

In this section, we describe how we derive the likelihood function in three numbered subsections. Here, we assume that gene expressions in a group follow a normal distribution, We can rewrite the derivations if gene expressions follow some other distribution.

1. Likelihood for a single gene

Consider a set of measurements for a gene _{i }**z _{i }**= {

The derivation of Equation 5 can be obtained from Demichelis et al _{i }_{T }

Similarly, for EE genes it is given by,

For instance, the likelihood of a gene to be DE in group _{A }

2. Likelihood for a regulation variable

As for a gene _{i}_{i }

2. Likelihood for an interaction variable

We have 16 different forms for the likelihood of the _{ij }_{ij }_{ij }

From the definition of _{i }_{j }_{i }_{j}

In a similar way, we can derive the likelihood functions for all the 16 different values of _{ij }_{i }_{0}. We assume that _{0 }= 1 equals to 1. Its value is zero otherwise.

Objective function optimization

So far, we have described how we compute the posterior density function. The final challenge is to find the values of the hidden variables that maximize the objective function (Equation 3). We develop an iterative algorithm to address this challenge.

In our model we have three different sets of parameters. The nodes of the MRF given by _{ij }_{X }_{1},... _{7}} and _{Y }_{0}, _{X }_{Y }

The likelihood function is non-convex in terms of the parameters _{Y }_{0}, _{X }_{1},... _{7}}. We use a global optimization method called differential evolution to optimize both of them

1. Obtain an initial estimate of

2. Estimate parameters θ_{Y }

We implement this step using Differential Evolution, which is similar to the genetic algorithm.

3. Calculate an estimate of the parameters _{X }

We also implement this step using Differential Evolution.

4. Carry out a single cycle of ICM using the current estimate of _{X }_{Y}_{i }

5. Go to step 2 for a fixed number of cycles or until

We optimize the objective function in terms of the _{i }_{ij }_{i }_{ij }_{ij }_{i}

The optimization procedure is guaranteed to converge since in every iteration the value of the objective function increases. We continue the iterative process, until the changes in estimates of the parameters between two consecutive iterations reach below a certain cutoff level.

Competing interests

The authors declare that they have no competing interests.

Authors' contributions

NB conceived the study, analyzed the data, implemented the methods, supplied the analysis tools, designed the experiments, performed the experiments and wrote the paper. MS conceived the study and participated in writing the paper. SR conceived the study, designed the experiments and participated in writing the paper. TK conceived the study, designed the experiments and participated in writing the paper.

Acknowledgements

This work was supported partially by NSF under grants CCF-0829867 and IIS-0845439.

This article has been published as part of