 Methodology article
 Open Access
 Published:
Estimating the size of the solution space of metabolic networks
BMC Bioinformaticsvolume 9, Article number: 240 (2008)
Abstract
Background
Cellular metabolism is one of the most investigated system of biological interactions. While the topological nature of individual reactions and pathways in the network is quite well understood there is still a lack of comprehension regarding the global functional behavior of the system. In the last few years fluxbalance analysis (FBA) has been the most successful and widely used technique for studying metabolism at system level. This method strongly relies on the hypothesis that the organism maximizes an objective function. However only under very specific biological conditions (e.g. maximization of biomass for E. coli in reach nutrient medium) the cell seems to obey such optimization law. A more refined analysis not assuming extremization remains an elusive task for large metabolic systems due to algorithmic limitations.
Results
In this work we propose a novel algorithmic strategy that provides an efficient characterization of the whole set of stable fluxes compatible with the metabolic constraints. Using a technique derived from the fields of statistical physics and information theory we designed a messagepassing algorithm to estimate the size of the affine space containing all possible steadystate flux distributions of metabolic networks. The algorithm, based on the well known Bethe approximation, can be used to approximately compute the volume of a non fulldimensional convex polytope in high dimensions. We first compare the accuracy of the predictions with an exact algorithm on small random metabolic networks. We also verify that the predictions of the algorithm match closely those of Monte Carlo based methods in the case of the Red Blood Cell metabolic network. Then we test the effect of gene knockouts on the size of the solution space in the case of E. coli central metabolism. Finally we analyze the statistical properties of the average fluxes of the reactions in the E. coli metabolic network.
Conclusion
We propose a novel efficient distributed algorithmic strategy to estimate the size and shape of the affine space of a non fulldimensional convex polytope in high dimensions. The method is shown to obtain, quantitatively and qualitatively compatible results with the ones of standard algorithms (where this comparison is possible) being still efficient on the analysis of large biological systems, where exact deterministic methods experience an explosion in algorithmic time. The algorithm we propose can be considered as an alternative to Monte Carlo sampling methods.
Background
Cellular metabolism is a complex biological problem. It can be viewed as a chemical engine that transforms available raw materials into energy or into the building blocks needed for the biological function of the cells. In more specific terms a metabolic network is indeed a processing system transforming input metabolites (nutrients), into output metabolites (amino acids, lipids, sugars etc.) according to very strict molecular proportions, often referred as stoichiometric coefficients of the reactions.
Although the general topological properties of these networks are well characterized [1–3], and nontrivial pathways are well known for many species [4] the cooperative role of these pathways is hard to comprehend. In fact, the large sizes of these networks, usually containing hundreds of metabolites and even more reactions, makes the comprehension of the principles that govern their global function a challenging task. Therefore, a necessary step to achieve this goal is the use of mathematical models and the development of novel statistical techniques to characterize and simulate these networks.
It is well known that under evolutionary pressure, prokaryote cells like E. coli behave optimizing their growth performance [5]. Flux Balance Analysis (FBA) provides a powerful tool to predict the optimal growth and production fluxes, but is not reliable about phenotypic state the cell will acquire. This is mainly due to the fact that among the infinitely many potential network states compatible with the stoichiometric constraints, FBA chooses a single one whose biological meaning is at least questionable under generic external conditions. FBA maximizes a linear function (usually the growth rate of the cell) subject to biochemical and thermodynamic constraints [6]. On the other hand, cells with genetically engineered knockouts or bacterial strains that were not exposed to evolution pressures, need not to optimize their growth. In fact, the method of minimization metabolic adjustment [7] has shown that knockout metabolic fluxes undergo a minimal redistribution with respect to the flux configuration of the wild type. Yet, in more general situations, the results are unpredictable, therefore, a tool to characterize the shape and volume of the whole space of possible phenotypic solutions must be welcome.
So far, apart from exact algorithms evaluating the volume of the space of possible solutions, that are unsuitable for analyzing metabolic networks larger than some dozens metabolites [8, 9], the best technique allowing for such a characterization is based on Monte Carlo sampling (MCS) of the steadystate flux space [10–14]. This method is known to perform very well on intermediate size metabolic networks (up to a hundred of metabolites) [10, 11] where different strategies of MCS have been implemented giving comparable results. Some improved variant of MCS seems to perform well also on organismwide where the number of variables is in the range order of a thousand [13, 14]. Although MCS has in general some intrinsically associated problems, mainly due to the fact that the convergence (or mixing) time is hard to assess and often is exponential, in the case of polytope volume estimations it turns out that sampling strategies such as hit and run have mixing times that scale only polynomially with system size [15]. However in many concrete cases a practical problem is to give a precise condition for convergence therefore we believe that an alternative independent technique could be more than welcome even in the cases where MCS is applicable.
As a concrete step toward an efficient characterization of the set of fluxes compatible with the stoichiometric constraints, we propose a novel messagepassing technique derived from the field of statistical physics and information theory.
Mathematical Model
As already mentioned, a metabolic network is an engine that converts metabolites into other metabolites through a series of intracellular intermediate steps. The fundamental equation characterizing all functional states of a reconstructed biochemical reaction network is a mass conservation law that imposes simple linear constraints between the incoming and outcoming fluxes at any chemical reaction:
where ρ is the vector of the M metabolite concentrations in the network. i (o) is the input (output) vector of fluxes, and ν are the reaction fluxes governed by the M × N stoichiometric linear operator $\stackrel{\u2038}{S}$ (usually named stoichiometric matrix) encoding the coefficient of the M intracellular relations among the N fluxes.
As long as just steadystate cellular properties are concerned one can assume that a variation in the concentration of metabolites in a cell can be ignored and considered as constant. Therefore in case of fixed external conditions one can assume metabolites (quasi) stationarity and consequently the lhs of 1 can be set to zero. Under these hypotheses the problem of finding the metabolic fluxes compatible with fluxbalance is mathematically described by the linear system of equations
where b is the net metabolite uptake by the cell. Without loss of generality we can assume that the stoichiometric matrix $\stackrel{\u2038}{S}$ has full rows rank, i.e. that rank($\stackrel{\u2038}{S}$) = M, since linearly dependent equations can be easily identified and removed. Given that the number of metabolites M is lower than the number of fluxes N the subspace of solutions is a (NM)dimensional manifold embedded in the Ndimensional space of fluxes. In addition, the positivity of fluxes, together with the experimentally accessible values for the maximal fluxes, limit further the space of feasible solutions. This fact may be expressed by the following inequalities:0 ≤ ν≤ ν^{max}
in such a way that together, 2 and 3, define the convex set of all the allowed timeindependent phenotipic states of a given metabolic network.
Subdimensional volumes
Mathematically speaking, the space of feasible solutions consistent with the Equations 2 is an affine space V ⊂ ℝ^{N}of dimension N  M. The set of inequalities 3 then defines a convex polytope Π ⊂ V that, from the metabolic point of view, may be considered as the allowed configuration space for the cell states. The main goal of this work is computation of the volume of this space of solutions and of certain subspaces of it. Although conceptually simple, the notion of subdimensional volume like that of Π requires some new definitions.
Consider any linear parameterization ϕ : ℝ^{NM}→ V ⊂ ℝ^{N}(see explicative scheme in Figure 1). A popular choice for ϕ is, for instance, the inverse of the so called lexicographical projection i.e., the projection over the first NM coordinates such that its restriction to V has an inverse. Being ϕ linear, the (N  M) × N Jacobian matrix $\stackrel{\u2038}{\lambda}$ is constant and coincides with the matrix of ϕ in the canonical bases. Denoting λ = det ${({\stackrel{\u2038}{\lambda}}^{\text{\u2020}}\stackrel{\u2038}{\lambda})}^{\frac{1}{2}}$, the Euclidean metric in ℝ^{N}induces a measure on V (which does not depend on ϕ):
allowing to compute the volume of our polytope
where 1_{Π} (·) is the indicator function of the set Π. It is worth pointing out that given the linear structure of the metabolic equations, the determinant of the mapping is a (scalar) constant. Although the coefficient λ could be explicitly calculated, it turns out that as far as only relative volume quantities are concerned, as in the case of the in silico flux knockouts introduced below, this term factors out and therefore we will drop it from the rest of the computation.
Probabilistic framework
The problem of describing the polytope Π can be cast into a probabilistic framework. We define the probability density $\mathcal{P}$ as:
Marginal flux probabilities over a given set of fluxes are obtained by integrating out all remaining degrees of freedom. In particular we can define single flux marginal probability densities as integrals on the affine subspace W = V ∩ {ν_{ i }= $\overline{\nu}$}
where the normalization term vol_{ W }(Π ∩ W) is the (sub dimensional) volume of the intersection between the polytope Π and the hyperplane {ν_{ i }= $\overline{\nu}$} as displayed schematically in Figure 2 where the marginal probability at point ν_{ i }= $\overline{\nu}$ is proportional to length of the blue segment which is the intersection between the polytope Π and the plane ν_{ i }= $\overline{\nu}$
Approximate volume computation
¿From a computational point of view, the problem of the exact computation of the volume of a polytope with current methods requires the enumeration of all its vertexes. The vertex enumeration problem is #Phard [16, 17], but even the problem of computing the volume, given the set of all vertexes is a big computational challenge. Various algorithms exist for calculating the exact volume of a polytope from its vertexes (for a review see [18]), and many software packages are available in the Internet. Computational limitations restrict however exact algorithmic strategies to cope with polytopes in relatively few dimensions (e.g. N  M around 10 or so). To overcome such severe limitations we will introduce a very efficient approximate computational strategy that will allow us to compute the volume and the shape of the space of solutions for realworld metabolic networks.
We will adopt the following three steps strategy:

We discretize the problem a la Riemann considering an a Ndimensional square lattice whose elementary cell is of size ε^{N}. The approximated volume is then proportional to the number of cells intersecting the polytope Π. Of course the smaller ε the better is the approximation.

We consider an integer constraint satisfaction problem where each of the massbalance equations set a hard constraint over the involved discretized fluxes.

We solve the constraint satisfaction problem using a messagepassing algorithm called Belief Propagation.
Discretization
Consider the regular orthogonal grid Λ_{ ε }of side ε partitioning ℝ^{N}as in the simple sketch of Figure 3. This grid maps via ϕ^{1} into a partition Γ_{ ε }of ϕ^{1}(Π). The number of cells ${\mathcal{N}}_{\epsilon}$_{ ε }of Λ_{ ε }intersecting Π is proportional to the numbers of cells of Γ_{ ε }intersecting ϕ^{1}(Π). Finally, the volume in Eq. 5 is proportional to lim_{ε → 0}ε^{NM}${\mathcal{N}}_{\epsilon}$_{ ε }. For any given ε one we have then defined discrete variables ν_{ i }∈ {0,1,..., ${q}_{i}^{\mathrm{max}}$}, for ${q}_{i}^{\mathrm{max}}$ equal to the integer part of ${q}^{\mathrm{max}}\times {\nu}_{i}^{\mathrm{max}}$, where the integer q^{max} is the granularity of the approximation.
The constraint satisfaction problem
When dealing with integer coefficients s_{ i, a }, as the ones appearing in normal stoichiometric relations, the discrete version of Eqs. 2 close in the set of positive integers defining a constraint satisfaction problem. The εapproximation of the volume is then the number of elementary cells that are solution to the discretized massbalance equations. It is interesting to note that in the case of fractional stoichiometric relations one can multiply all terms for the minimum common multiple of all denominators, getting an equivalent massbalance equation with integer coefficients.
Belief Propagation
The integer constraint satisfaction is solved using Belief Propagation (BP), a local iterative algorithm that allows for the computations of marginal probability distributions. BP is exact on trees, and perform reasonably well on locally treelike structures [19–22]. This approximation scheme allows for the computation of the logarithm of the number of solutions via the entropy that can be expressed in terms of flux marginals. We will give a detailed derivation of the equations in section Methods.
Results and Discussion
Performance on low dimensional systems
In this section we will analyze the performance of our algorithm against an exact algorithm on low dimensional polytopes. Among the different packages available in the Internet, we have chosen LRS [8], a program based on the reverse search algorithm presented by Avis and Fukuda in [9] that can compute the volume of nonfull dimensional polytopes. Actually, it computes the volume of the lexicographically smallest representation of the polytope, that for the benchmark used below, coincides with the conventional volume estimated by our algorithm.
We have devised a specific benchmark generating random diluted stoichiometric matrices at a given ratio α = M/N and fixed number of terms different from zero K in each of the reactions. All fluxes were constrained inside the hypercube 0 ≤ ν_{ i }≤ 1. As a general strategy we have calculated several random instances of the problem and measured the volume (entropy) of the polytope using the LRS and BP algorithm. In particular, we have first generated 1000 realizations of random stoichiometric matrices with N = 12, M = 4. Note that N = 12 is around the maximum that allows simulations with LRS in reasonable time (around one hour per instance). For each polytope then we have computed the two entropies S_{ LRS }and S_{ BP }with both algorithms, fixing the same maximum value for the discretization q^{max} = 1024 for all fluxes.
In Figure 4 we show how the quality of the BP measure is affected by the discretization, by displaying the histogram of the relative differences $\delta S=\frac{{S}_{BP}{S}_{LRS}}{{S}_{LRS}}$ with an increasing number of bins per variable q^{max} = 16 , 64, 256, 1024. One can see how a finer binning of messages improves the quality of the approximation, seemingly converging to a single distribution of errors. It is expected that for larger N the histograms would peak around the true value: upon increasing the number of fluxes, loops become larger and the overall topology of the graph becomes more locally treelike, validating the hypothesis behind the Bethe approximation. Unfortunately, the huge increase of computer time experimented in the calculation of the volumes using LRS made impossible to test systems large enough to make any reasonable scaling analysis.
Finally we address the issue of the computational complexity of the algorithm which is a crucial one if one is interested in approaching real world metabolic networks whose size typically is at least 50 times the size of the largest network that can be analyzed with exact algorithms. In Figure 5 we display the running time of both LRS and BP as a function of the number of fluxes N. Interesting, LRS outperforms BP up to sizes N ~12 where the running time of LRS explodes exponentially while BP maintains a modest almostlinear behavior.
Distribution of fluxes in Red Blood Cell
We used our BP algorithm and MCS [11] to obtain the marginal flux distributions for each of the reactions in the Red Blood Cell (RBC) metabolism taking the same stoichiometric matrix presented in [10, 11] (see Additional file 1). The network contains 46 reactions and 34 metabolites. The first comparison of MCS with our BP algorithm is done setting all ${\nu}_{i}^{\mathrm{max}}$ to 1 (the resulting marginal probability distribution for the fluxes are displayed in Figure 6). The second comparison is done by setting all ${\nu}_{i}^{\mathrm{max}}$ to the values used in [10] (results are displayed in Figure 7). In both settings we compared BP with a set of 5000 feasible solutions generated by MCS, while for the BP algorithm we used a q^{max} = 2048. As it can be seen in the two cases, the predictions of both methods compare rather well. Assuming the accuracy of MCS, differences are probably due to small loops structures in the graph. We leave for a future work the issue of a more detailed comparison of both methods. However we really think that the emerging scenario of RBC metabolism captured by BP is analogous to that obtained by MCS both quantitatively and qualitatively.
The MCS method appears to be quite efficient (the authors of [11] reported in a similar network less then 30 seconds of computer computation in a Dell Dimension 8200 to obtain their distributions) while our algorithm converged to the same result in less than 3 seconds on a similar machine (Intel CPU 6600 2.40 GHz). Of course, no stringent statement can be done at this level about the comparative performance of the two algorithms. This positive result encourages us to face the problem of metabolism at organismwide scale.
Analysis of gene knockout in E. coli central metabolism
In this section we study the influence of partial flux knockout on the volume of the solution space. We concentrate on E. coli central metabolism [23]. The network has 62 metabolites, 104 reactions (75 internal reactions and 29 exchange fluxes). All reactions were considered irreversible following their nominal directions, and maximum flux rates were set to 1.
In this numerical experiment we first run BP on the unperturbed system measuring the volume of the space of solution S_{0}. Then the maximum flux values are kept constant and equal to 1 for all the reactions but one (say reaction ν_{ i }). The partial knockout effect on flux i is then obtained reducing repeatedly ${\nu}_{i}^{\mathrm{max}}$ and computing again the volume S_{ KO }(${\nu}_{i}^{\mathrm{max}}$) at each time until ${\nu}_{i}^{\mathrm{max}}$ = 0. In principle at each reduction step of ${\nu}_{i}^{\mathrm{max}}$ one should converge again the BP equations. In practice for most of the fluxes convergence is very fast since at each reduction of ${\nu}_{i}^{\mathrm{max}}$ the new stationary point will be in general close enough to the old one. However we have experimentally noted that the larger is the impact of a given flux on the volume of the space of solutions, the longer is the convergence time at each reduction step. Let us point out that doing so we are tacitly assuming that each knockout is independent from the others although it is known that some reactions might be associated with the same enzyme. However there is no computational restriction to analyze multiple knockouts. An analogous technique was presented in [11], where maximal fluxes were reduced to the value of 75% of their original maximal allowed flux to mimic enzymopathies.
In Figure 8 we display the whole set of S_{0}  S_{KO}(${\nu}_{i}^{\mathrm{max}}$) vs. knockout percentage curves. We can observe how heterogeneous is the impact of the different fluxes on the volume. Moreover one can observe how different curves may cross depending on the knockout percentage displaying thus an intriguing scenario of differential fluxreduction impacts. Let us now concentrate on the 20 fluxes having larger impact on the space of solutions: in Figure 9 we display complete knockouts values S_{0} S_{ KO }(${\nu}_{i}^{\mathrm{max}}$ = 0). Focusing only on internal fluxes (the first two fluxes are indeed exchange fluxes of water and protons), one can observe that the first half of them basically compose the backbone of glycolysis showing little pathway redundancy in the network, while reactions like FUM, ACONT, SUC and SUCCD1i appear in the Krebs cycle and again show little pathway redundancy in the network (see Additional file 2).
Finally in Figure 10 we display the correlations between the changes in the entropy for different reaction knockouts and the average flux ⟨ν_{ i }⟩ = ∫P_{ i }(ν)ν dν in the unperturbed network. At 75% knockout, two kinds of regimes are divided by a clear threshold at ν ~ 0.6: (i) for ⟨ν_{ i }⟩ < 0.6, S_{0}  S_{ KO }(${\nu}_{i}^{\mathrm{max}}$) has a small positive correlation with ⟨ν⟩, (ii) at larger average fluxes, correlations increase rapidly but with larger fluctuations. The presence of this threshold can be understood noting that reactions belonging to the linear (glycolysis) an circular (Krebs cycle) pathways are, in the wild cell, fast flux reactions, with average flux values larger than 0.5. An analogous scenario emerges in the case of a 100% knockouts, but now fluctuation are wider, and also fluxes with intermediate average value start becoming important. This is the case for instance of the 6 large impact fluxes having average flux around 0.3. A closer inspection reveals that among them there is an exchange fluxes (glycogen) and 5 internal fluxes (G1PP, GLCP, HEX1, CS, PDH). The first three (G1PP, GLCP, HEX1) are the first steps of glycolysis, while PDH is the input of the Krebs cycle, and CS is a segment of the cycle strictly related to PDH. It is interesting that this peculiar behavior (large impact and relatively small average flux) are related to key checkpoints of central metabolism.
E. coli metabolism at organismwide scale
Finally we analyze the average fluxes distribution function in the metabolic network of E. coli. The network used contains, in its original format, 1035 reactions and 626 metabolites [23]. The network has been preprocessed using Gaussian elimination procedure: when a trivial massbalance equation of the type ν_{ i }= ν_{ j }is present we eliminate variable ν_{ i }using elementary row operations. Doing so new trivial mass balance equations appear, an then we iterate the eliminations until all trivial massbalance equations disappear. During Gaussian elimination, some mass balance equations become effective deadend metabolite (i.e metabolites that are only consumed or produced). Fluxes participating to deadend metabolites are set to zero at the beginning and removed from the system. The new set of equations is equivalent to the original one but with a lower number of fluxes. Reversible reactions have been considered using bidirectional signed fluxes. Using BP we are able to compute the marginal flux distributions in around 40 minutes, using q^{max} = 64.
We ran our algorithm on this network and computed the average fluxes in each reaction. We have performed a statistical analysis of these averages in the spirit of [14, 24, 25]. The probability distribution function (pdf) of these average values is displayed in Figure 11. As can be clearly seen the distribution is large and may be fitted with a power law distribution of P(ν) ∠ (ν + ν_{0})^{γ}. The fit gives an exponent γ around 1.5, a result that compares very well with previous simulations found in: (i) [14] where FBA optimal fluxes were averaged over many different external condition, (ii) [24] where a maximal localoutput strategy is used, and (iii) [25] where a Gaussian approximation for the marginal flux distributions is used. It is claimed in [14] that the robustness of this value γ is a signature of universality in cell's metabolism.
A more careful analysis of the data may reveals however that the distribution of averages fluxes has a richer structure. In Figure 12 we present the cumulative distribution function ${P}_{<}(\nu )\equiv {\displaystyle {\int}_{\infty}^{\nu}P(y)dy}$ of theaverage fluxes of the reactions and a clear jump appears for ν ≈ 0.5, and smaller ones for ν ≈ 0.4 and μ ≈ 0.6. At present we do not know whether these jumps are just due to statistical fluctuations (and are correctly smeared out in the usual binning process done to plot the pdf in double logarithmic scale) or they reflect relevant biological or structural information about the network.
Conclusion
We proposed a novel algorithm to estimate the size and shape of the affine space of a non fulldimensional convex polytope in high dimensions. The algorithm was tested in specific benchmark, i.e. random diluted stoichiometric matrices at a given ratio α = M/N and fixed number of terms different from zero K, in each of the reactions, with results that compare very well with those of exact algorithms. Moreover, we show that while the running time of exact algorithms increases more than exponentially for already moderate sizes, our algorithm is polynomial. The program was run on the Red Blood Cell metabolism producing with shorter computational time results that are in both quantitatively and qualitatively in good agreement with those obtained by MCS presented in [10, 11].
Then, our program was used to study the E. coli central metabolism, and as expected, reactions with little redundancy turned out to be the ones with larger impact in the size of the space of the metabolic solutions. Specifically, most of the reactions associated with the transformation of glucose in pyruvate, belong to this set, as well as some reactions in the citric cycle. In addition we show strong correlations between the characteristics of the flux distributions of the wild type network and the changes in size of the space of solutions after reaction knockouts. Finally, we calculate the distribution of the average values of the fluxes in the metabolism of the E. coli and present results that are consistent with those of the literature. In the present approach we have mainly followed a discretization strategy that although polynomial, becomes computationally rather heavy for mass balance equation containing a large number of fluxes. We are currently investigating other representation schemes for the messages. The final hope is to obtain an algorithm that allows for online analysis of organismwide metabolic networks.
Let us conclude by noting that in principle the presented approach can be extended to deal with constraints whose functional form is more general than linear, provided that the number of variables involved in each of the constraints remains small, as in the case of inequalities enforcing the second law of thermodynamics for the considered reactions [26]. Work is in progress also in this direction.
Methods
Belief Propagation
In the previous section we have seen how the metabolic problem can be cast into a constraint satisfaction framework where each of M massbalance equations imposes a constraint onto a subset of the metabolic fluxes. Let A be the set of equations and I the set of fluxes. Consider the ath row of $\stackrel{\u2038}{S}$, and let {i ∈ a} ≡ {i_{1}, ..., ${i}_{{n}_{a}}$} ⊂ I be the labels of the fluxes involved in the considered equation having stoichiometric coefficients different from zero. Let also {a ∈ i} ≡ {a_{1}, ..., ${a}_{{n}_{i}}$} ⊂ A be the labels of the equations in which flux i participates. The emerging structure is a bipartite graph, with two types of nodes: variable nodes representing the fluxes of the reactions and factor nodes imposing mass conservation. In this case marginals become qmodal probability densities that for large values of ${q}_{i}^{\mathrm{max}}$ will approximate better and better the continuous set of probabilities.
Under the hypothesis that the factor graph is a tree it can be shown [19, 27] that a given flux vector ν satisfying all fluxbalance constraints can be expressed as a product of flux and reaction marginals [19–21]:
where d_{ i }is the number of equations in which flux ν_{ i }participates (i.e. the degree of site i). The marginal probabilities are defined as:
One can then define an entropy in terms of the marginal probability distributions which amounts to the logarithm of the number of solutions of the associated constraint satisfaction problem. From a more geometrical point of view, this entropy is a count of the (logarithm of) the number of elementary εcells intersecting the polytope Π (see Figure 3).
One may wonder how such an approach could be useful in a realworld situation where the graph is not a tree. One can hope that typical loop length are large enough to ensure weak statistical dependence of neighboring sites which lay at the heart of the Bethe approximation [28, 29]. It is interesting to note that the Bethe approximation is successfully used in many different problems with loopy graph topologies. This is for instance the case for LDPC error correcting codes in Information Theory [30] used in wireless Internet transmission technologies such as WiMAX, or in many inference problems such as graphical models [31], binary perceptron learning [32], and in constraint satisfaction problems such as Satisfiability or Coloring [33, 34]. In all these cases although there is no mathematically rigorous proof about the quality of the solution, whenever the algorithm converges, the result generally provides a good estimate of marginal probability distributions.
The algorithm is based on two type of messages exchanged from variable nodes to functional nodes, and vice versa:

μ_{i → a}(ν): the probability that flux i takes value ν in the absence of reaction a.

m_{a → i}(ν): the nonnormalized probability that the balance in reaction a is fulfilled given that flux i takes value ν.
The two quantities satisfy the following set of functional equations:
where $\sum}_{{\left\{{\nu}_{l}\right\}}_{l\in a\backslash i}$ means the sum over all values of fluxes around metabolite a but i, b ∈ i\a, is the set of metabolites in reaction i but a, C_{i → a}is a constant enforcing the normalization of the probability μ_{i → a}(ν), and δ (·; ·) is the Kronecker delta function (δ (a; b) is 1 if a = b and 0 otherwise). The set of Equations 11 can be solved iteratively and upon convergence of the algorithm one can compute the marginal flux distributions as:
A brute force integration of the discrete set of equation would be much too inefficient for analyzing large networks, due to the multiple dimensional sum over ${\{0,\mathrm{...},{q}_{l}^{\mathrm{max}}\}}_{l\in a\backslash i}$ in the previous equation. The first of Equations 11 includes the computation of the convolution of all μ_{j → a}messages except one, an expression of the form ${C}_{a\to i}={\otimes}_{j\in a\backslash i}{\mu}_{j\to a}$ (where ⊗ denotes convolution) and requires normally n_{ a } 1 convolutions for each outputting message, i.e. n_{ a }(n_{ a } 1) convolutions in total for constraint a. In the case of the complete E. coli network we have massbalance equations with n_{ a }as large as 500, then reducing the computational complexity of the iteration has a cogent practical implication on the performance of the proposed algorithm. There is a way to reduce this quadratic load to just O (n_{ a }) convolutions. The method we propose is not confined to convolutions and works generally for any associative operation. Note that for operations that are efficiently invertible and commutative, one could just operate all n_{ a }terms (n_{ a }initial operations) and then for each outputting message operate with the inverse of the undesired element (just one more operation for each message, totalizing just 2n_{ a }operations for constraint a plus invertions) i.e. ${C}_{a\to i}=\left({\otimes}_{j\in a}{\mu}_{j\to a}\right)\otimes {\mu}_{i\to a}^{1}$. When elements are not invertible, nor conmutative or are just difficult to invert, the following more general scheme can be applied. Let us concentrate for instance on metabolite a and let us assume that n_{ a }is a power of two, say 2^{n}(this assumption can be easily relaxed). We will iteratively build a n × n_{ a }auxiliary matrix ${h}_{i}^{l}$ setting as initial condition ${h}_{i}^{0}={\mu}_{i\to a}$ and then building the following sequence: ${h}_{i}^{d}={h}_{2i}^{d1}\otimes {h}_{2i+1}^{d1}$ for d = 1, ..., n  1. This is equivalent to operate consecutive pairs of fluxes over metabolite a, then consecutive quadruples and so on. One needs just 2n_{ a }operations for computing the full matrix at this stage.
To compute C_{a → i}one needs additionally n = log_{2} n_{ a }operations: we just have to operate the complement of i in its pair with the complement of this pair in its quartet and so on on all levels, i.e. in a compact form ${\otimes}_{d=0}^{n}{h}_{[i/{2}^{d}]\text{xor}1}^{d}$ (See Figure 13). The total number of operations for all out messages becomes then 2n_{ a }+ n_{ a }log_{2} n_{ a }. Moreover, if all messages are to be computed sequentially this number can be further reduced to O (n_{ a }).
References
 1.
Jeong H, Tombor B, Albert R, Oltvai ZN, Barabasi AL: The largescale organization of metabolic networks. Nature 2000, 407(6804):651–654. 10.1038/35036627
 2.
Fell DA, Wagner A: The small world of metabolism. Nature Biotechnology 2000, 18: 1121–1122. 10.1038/81025
 3.
Z D, Qin ZS: Structural comparison of metabolic networks in selected single cell organisms. BMC Bioinformatics 2005., 6(8):
 4.
Kanehisa M, Goto S, Hattori M, AokiKinoshita K, Itoh M, Kawashima S, Katayama T, Araki M, Hirakawa M: From genomics to chemical genomics: new developments in KEGG. Nucleic Acids Res 2006, 34: D354–7. 10.1093/nar/gkj102
 5.
Ibarra AU, Edwards J, Palsson B: Escherichia coli K12 undergoes adaptive evolution to achieve in silico predicted optimal growth. Nature 2002, 420: 186–189. 10.1038/nature01149
 6.
Varma A, Palsson B: Metabolic Capabilities of Escherichia coli: I.Synthesis of biosynthetic precursors and cofactors. J theor Biol 1993, 165: 477–502. 10.1006/jtbi.1993.1202
 7.
Segré D, Vitkup D, Church G: Analysis of optimality in natural and perturbed metabolic networks. PNAS 2002, 99: 15112–15117. 10.1073/pnas.232349399
 8.
LRS package[http://cgm.cs.mcgill.ca/~avis/C/lrs.html]
 9.
Avis D, Fukuda K: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete Comput Geom 1992, 8(3):295–313. 10.1007/BF02293050
 10.
Wiback S, Famili I, Greenberg HJ, Palsson B: Monte Carlo sampling can be used to determine the size and shape of the steadystate flux space. J Theor Biol 2004, 228: 437–447. 10.1016/j.jtbi.2004.02.006
 11.
Price N, Schellenberger J, Palsson B: Uniform Sampling of SteadyState Flux Spaces: Means to Design Experiments and to Interpret Enzymopathies. Biophysical Journal 2004, 87: 2172–2186. 10.1529/biophysj.104.043000
 12.
Thiele I, Price N, Vo T, Palsson B: Impact of diabetes, ischemia, and diet. J Biol Chem 2005, 280: 11683–11695. 10.1074/jbc.M409072200
 13.
Price N, Thiele I, Palsson B: Candidate States of Helicobacter pylori's GenomeScale Metabolic Network upon Application of "Loop Law" Thermodynamic Constraints. Biophysical Journal 2006, 90: 3919–3928. 10.1529/biophysj.105.072645
 14.
Almaas E, Kovacs B, Vicsek T, Oltval Z, Barabasi AL: Global organization of metabolic fluxes in the bacterium Escherichia col. Nature 2004, 427: 839–843. 10.1038/nature02289
 15.
Simonovits M: How to compute the volume in high dimension? Math Progr 2003, 97(1–2):337–374.
 16.
Dyer M, Frieze A: On the complexity of computing the volume of a polyhedron. SIAM J Comput 1988, 17(5):967–97. 10.1137/0217060
 17.
Khachiyan L: Complexity of volume computation. In New trends in discrete and computational geometry, SpringerVerlag Edited by: Pach J. 1993, 91–101.
 18.
Bëuler B, Enge A, Fukuda K: Exact volume computation for convex polytopes: A practical study. In Polytopescombinatorics and computation, Birkhauser Edited by: Ziegler GM, Kalai G. 2000, 131–154.
 19.
Yedidia J, Freeman W, Weiss Y: Generalized belief propagation. In Advances in Neural Information Processing Systems (NIPS) 13, Denver, CO Edited by: press M. 2001, 772–778.
 20.
Kschischang FR, Frey BJ, Loeliger HA: Factor graphs and the sumproduct algorithm. Information Theory, IEEE Transactions on 2001, 47(2):498–519. 10.1109/18.910572
 21.
Braunstein A, Mezard M, Zecchina R: Survey propagation: An algorithm for satisfiability. Random Struct Algorithms 2005, 27: 201–226. 10.1002/rsa.20057
 22.
MacKay DJC: Information Theory, Inference, and Learning Algorithms. Cambridge University Press; 2003.
 23.
Reed J, Vo T, Schilling C, Palsson B: An expanded genomescale model of Escherichia coli K12 (iJR904 GSM/GPR). Genome Biology 2003, 4(9):R54. 10.1186/gb200349r54
 24.
De Martino A, Martelli RMC, Castillo IP: Von Neumann expanding model on random graphs. Journal of Statistical Mechanics: Theory and Experiment 2007, 2007(05):P05012. 10.1088/17425468/2007/05/P05012
 25.
Bianconi G, Zecchina R: Viable flux distribution in metabolic networks. Technical report 2007. ArXiv:condmat/0705.2816 [http://aps.arxiv.org/pdf/0705.2816]
 26.
Beard D, Babson E, Curtis E, Qian H: Thermodynamic constraints for biochemical networks. J Theor Biol 2004, 228: 327–333. 10.1016/j.jtbi.2004.01.008
 27.
Baxter B: Exactly Solved Models in Statistical Mechanics. London: Academic Press Inc; 1989.
 28.
Mezard M, Parisi G: The Bethe lattice spin glass revisited. The European Physical Journal B 2001, 20: 217. 10.1007/PL00011099
 29.
Mezard M, Parisi G: The cavity method at zero temperature. J Stat Phys 2003, 111: 1. 10.1023/A:1022221005097
 30.
Richardson T, Urbanke R: The capacity of lowdensity parity check codes under message passing decoding. IEEE, Trans Info Theory 2001, 47: 599–618. 10.1109/18.910577
 31.
Weiss Y, Freeman WT: Correctness of Belief Propagation in Gaussian Graphical Models of Arbitrary Topology. Neural Comp 2001, 13(10):2173–2200. 10.1162/089976601750541769
 32.
Baldassi C, Braunstein A, Brunel N, Zecchina R: Efficient supervised learning in networks with binary synapses. PNAS 2007, 104: 11079–11084. [http://aps.arxiv.org/pdf/0707.1295] 10.1073/pnas.0700324104
 33.
Mezard M, Parisi G, Zecchina R: Analytic and Algorithmic Solution of Random Satisfiability Problems. Science 2002, 297: 812. [http://aps.arxiv.org/pdf/0707.1295] 10.1126/science.1073287
 34.
Mulet R, Pagnani A, Weigt M, Zecchina R: Coloring random graphs. Phys Rev Lett 2002, 89: 268701. [http://arxiv.org/abs/condmat/0208460] 10.1103/PhysRevLett.89.268701
Acknowledgements
AB was supported by Microsoft TCI grant. RM wants to thank the International Center for Theoretical Physics in Trieste and the Center for Molecular Immunology of La Habana, for their cordial hospitality during the completion of this work. We are also very grateful to Ginestra Bianconi, Michele Leone, Martin Weigt, and Riccardo Zecchina, for very interesting discussions, and in particular to Carlotta Martelli for sharing with us a human readable E. coli data set. We are really grateful to Jan Schellenberger for providing us the MCS data used in Figure 6 and 7.
Author information
Additional information
Authors' contributions
Authors equally contributed to this work. All authors read and approved the final manuscript.
Electronic supplementary material
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
About this article
Received
Accepted
Published
DOI
Keywords
 Metabolic Network
 Exact Algorithm
 Constraint Satisfaction Problem
 Monte Carlo Sampling
 Flux Balance Analysis