 Methodology article
 Open Access
 Published:
F2C2: a fast tool for the computation of flux coupling in genomescale metabolic networks
BMC Bioinformatics volume 13, Article number: 57 (2012)
Abstract
Background
Flux coupling analysis (FCA) has become a useful tool in the constraintbased analysis of genomescale metabolic networks. FCA allows detecting dependencies between reaction fluxes of metabolic networks at steadystate. On the one hand, this can help in the curation of reconstructed metabolic networks by verifying whether the coupling between reactions is in agreement with the experimental findings. On the other hand, FCA can aid in defining intervention strategies to knock out target reactions.
Results
We present a new method F2C2 for FCA, which is orders of magnitude faster than previous approaches. As a consequence, FCA of genomescale metabolic networks can now be performed in a routine manner.
Conclusions
We propose F2C2 as a fast tool for the computation of flux coupling in genomescale metabolic networks. F2C2 is freely available for noncommercial use at https://sourceforge.net/projects/f2c2/files/.
Background
The huge amount of genomic, transcriptomic and related data has allowed for a fast reconstruction of an increasing number of genomescale metabolic networks, e.g. [1–7]. In the absence of detailed kinetic information, constraintbased modeling and analysis has recently attracted ample interest due to its ability to analyze genomescale metabolic networks using very few information [8–10]. Constraintbased analysis is based on the application of a series of constraints that govern the operation of a metabolic network at steady state. This includes the stoichiometric and thermodynamic constraints, which limit the range of possible behaviors of the metabolic network, corresponding to different metabolic phenotypes. Applying these constraints leads to the definition of the solution space, called the steadystate flux cone[11]:
where S is the m×nstoichiometric matrix of the network, with m internal metabolites (rows) and n reactions (columns), and the vector v\in {\mathbb{R}}^{n} gives a flux distribution. Furthermore, Irr⊆{1,…,n} denotes the set of irreversible reactions in the network, and Rev={1,…,n}∖Irrdenotes the set of reversible reactions.
The flux cone contains the full range of achievable behaviors of the metabolic network at steady state. Various approaches have been proposed either to search for single optimal behaviors using optimizationbased methods [12–16] or to assess the whole capabilities of a metabolic network by means of networkbased pathway analysis [11, 17–20].
Flux coupling analysis (FCA) is concerned with describing dependencies between reactions [21]. The stoichiometric and thermodynamic constraints not only determine all possible steadystate flux distributions over a network, they also induce coupling relations between the reactions. For instance, some reactions may be unable to carry flux under steadystate conditions. If a nonzero flux through a reaction in steadystate implies a nonzero flux through another reaction, then the two reactions are said to be coupled (see Def. 2 for a formal definition). FCA has been used for exploring various biological questions such as network evolution [22–24], gene essentiality [22], gene regulation [25–27], analysis of experimentally measured fluxes [28, 29], or implications of the structure of the human metabolic network for disease cooccurrences [30]. Having a time efficient implementation of FCA is important in such studies.
After introducing the main existing algorithms for flux coupling analysis, we propose in this paper a new algorithm which significantly speeds up the calculation of flux coupling. Our algorithm is based on two main principles. First, we reduce the stoichiometric model as much as possible when parsing the stoichiometric matrix. Second, we use inference rules to minimize the number of linear programming problems that have to be solved. We prove the efficiency of our algorithm by successfully competing with the most recent approach [31]. We show that FCA can now be quickly performed even for very large genomescale metabolic networks.
Approaches for flux coupling analysis
Several algorithms were developed to calculate flux coupling between reactions. For a comparison among the existing approaches, the reader may refer to [31, 32]. In the following, we focus on flux coupling methods based on solving a sequence of linear programming (LP) problems. These methods have proved to be significantly faster than other algorithms.
Definitions
We give a short overview of the important concepts we will use throughout this paper. First, we formally define blocked reactions in a metabolic network.
Definition 1 (Blocked reaction)
Given the steadystate flux cone C, let i∈{1,…,n}be a reaction. If v_{ i }=0, for all v∈C, reaction i is called blocked, otherwise i is unblocked.
In the following, we assume that the flux cone is not trivial, i.e., not all reactions are blocked. Next, we define the (un)coupling relationships between reactions.
Definition 2 (Coupling relations)
Let i,j be two unblocked reactions. The (un)coupling relationships \stackrel{=0}{\to},\stackrel{=0}{\leftrightarrow},\backsim and ↦are defined in the following way:

i\stackrel{=0}{\to}j
if for all v∈C, v_{ i }=0implies v_{ j }=0.

i\stackrel{=0}{\leftrightarrow}j
if for all v∈C, v_{ i }=0is equivalent to v_{ j }=0.

i∽jif there exists λ≠0such that for all v∈C,v_{ j }=λ v_{ i }.

i ↦ jif there exists v∈Csuch that v_{ i }=0and v_{ j }≠0.
Reactions i and j are fully (resp. partially, directionally) coupled if the relation i∽j(resp. i\stackrel{=0}{\leftrightarrow}j, i\stackrel{=0}{\to}j) holds. Otherwise, i and j are uncoupled.
Note that i∽j(resp. i\stackrel{=0}{\leftrightarrow}j) is equivalent to j∽i(resp. j\stackrel{=0}{\leftrightarrow}i). In addition, i∽j implies i\stackrel{=0}{\leftrightarrow}j, which in turn is equivalent to (i\stackrel{=0}{\to}j and j\stackrel{=0}{\to}i).
As shown in [33] the reversibility type of reactions is a key concept in flux coupling analysis.
Definition 3 (Reversibility types)
A reversible reaction i∈Revis called fully reversible if there exists a flux vector v∈Csuch that v_{ i }≠0and v_{ j }=0for all j∈Irr. Otherwise, reaction i is called pseudoirreversible.
Using the reversibility type of reactions, we define the following reaction sets which will be used to determine the cases where flux coupling can occur between reactions.

Frev={i∣iis fully reversible},

Prev={i∣iis pseudoirreversible and there exist v^{+} ,v^{−}∈Csuch that {v}_{i}^{+}>0,{v}_{i}^{}<0\},

Irev={i∣i∉Frev∪Prev and v_{ i }≠0 for some v∈C},

Blk={i∣iis blocked }.
Note that the above reaction sets are disjoint and their union is equal to the set of all reactions, i.e., Blk ∪ Irev ∪ Prev ∪ Frev={1,…,n}.
As the classification of reactions according to their reversibility types has been treated elsewhere [31, 33, 34], we focus on calculating the flux coupling between reactions given the reaction sets Blk, Irev, Prev and Frev. First, we briefly review the main existing flux coupling methods based on linear programming. Afterwards, we present our new method to speed up the flux coupling analysis.
Flux coupling finder
The Flux Coupling Finder (FCF) algorithm [21] determines blocked reactions as well as coupled reactions by solving a sequence of linear programming (LP) problems. The FCF algorithm requires that each reversible reaction is split into two irreversible reactions, one forward and one backward. This may hamper the application of FCF to determine flux coupling in large genomescale metabolic networks. Indeed, splitting reversible reactions results in an increase in the number of variables (resp. constraints) by Rev(resp. 2Rev). Since the FCF algorithm solves four LP problems to identify the maximum and minimum flux ratios for every pair of reactions, the total number of LP problems that have to be solved is very large. Furthermore, the FCF algorithm does not compute directly coupling relationships between reactions. A postprocessing step is needed to deduce couplings between reactions (in the original network) from those between reaction directions (in the reconfigured network). More importantly, the FCF algorithm explores exhaustively all possible reaction pairs. This leads to a very big number of LP problems that have to be solved. This strategy may not scale well for genomescale models of complex microorganisms which involve a large number of reactions.
Reversibilitybased flux coupling analysis
To cope with the drawbacks of the FCF algorithm, we used the reversibility type of reactions to develop an improved version (WRPFCF) of the original FCF method [31, 34]. When looking for coupled reactions, WRPFCF applies linear programming only in those cases where coupling relationships can occur [33]. Namely, given two unblocked reactions i and j, we have exactly three cases where a flux coupling is possible between i and j:
Flux coupling between reversible reactions
If i,j∈Prev or i,j∈Frev, i\stackrel{=0}{\to}j,i\stackrel{=0}{\leftrightarrow}j and i∽jare equivalent. More importantly, only the stoichiometric constraints determine whether i\stackrel{=0}{\to}j holds, independently of the thermodynamic constraints.
Assume that blocked reactions have been identified beforehand and their respective columns in the stoichiometric matrix have been removed. Consider the following LP problem
and let v^{∗} be an optimal solution. According to Proposition 6.13 in [34], i\stackrel{=0}{\to}j if and only if {v}_{j}^{\ast}=0.
Flux coupling between (pseudo)irreversible reactions
If i∈Irev and j∈Prev, we only have to check whether i\stackrel{=0}{\to}j. The other coupling relationships cannot occur. Let v^{1}resp. v^{2} be optimal solutions of the two LP problems
Then i\stackrel{=0}{\to}j if and only if {v}_{j}^{1}={v}_{j}^{2}=0.
Flux coupling between irreversible reactions
If i,j∈ Irev, in analogy with the FCF algorithm, we determine upper and lower bounds U_{ ij } and L_{ ij } such that 0≤L_{ ij }v_{ j }≤v_{ i }≤U_{ ij }v_{ j } for all v∈C by solving the LP problems
Comparison of L_{ ij }and U_{ ij }allows us to determine whether reactions i and j are coupled using the following rules:

i\stackrel{=0}{\to}j
(resp. j\stackrel{=0}{\to}i) if and only if L_{ ij }≠0(resp. U_{ ij }≠ + ∞),

j∽iif and only if L_{ ij }≠0, U_{ ij }≠0and L_{ ij }=U_{ ij }.
The improved version WRPFCF does not make an exhaustive computation for all pairs of reactions and does not require a reconfiguration of the metabolic network. Accordingly, not only is the number of LP problems used by WRPFCF smaller than the number solved by FCF, but also the LP problems used by WRPFCF are simpler than those employed by FCF. For mathematical proofs, the reader may refer to [31, 34].
Feasibilitybased flux coupling analysis
Linear programming can be solved by enumerating a set of adjacent feasible solutions such that at each solution the objective function improves or is unchanged. Accordingly, searching for a feasible solution can be faster than computing an optimal solution [35]. Based on this observation, [31] proposed the FFCA approach for flux coupling analysis transforming the optimizationbased LP problems used in the WRPFCF method into feasibilitybased LP problems. The authors compared FFCA with other available flux coupling algorithms, and showed that FFCA is slightly faster than WRPFCF.
Methods
Before using linear programming to calculate flux coupling between reactions, we preprocess the metabolic network in order to i) reduce the number of variables and constraints of the subsequent LP problems and ii) classify reactions according to their reversibility type. The network reduction is mainly based on the removal of trivially blocked reactions and the merging of the stoichiometric columns corresponding to trivially coupled reactions [36–39]. For this, one can use the kernel of the stoichiometric matrix. Alternatively, we can apply the following reduction rules which require a simple parsing of the stoichiometric matrix and are not time consuming. This strategy allows avoiding potential numerical instabilities related to the computation of a basis of the kernel.
Preprocessing
Certain metabolites, called deadend metabolites[37], are produced (resp. consumed) by some reactions without being consumed (resp. produced) by other reactions. This concept is illustrated in Figure 1(a) where the deadend metabolite H is produced by reaction 13 without being consumed by any of the remaining reactions.
As stated below, reactions which are consuming or producing deadend metabolites are blocked.
Observation 1 (Deadend Metabolite)
Let k∈{1,…,m}be a metabolite. Then, the following hold:

If there exists a reaction i such that S_{ ki }≠0and S_{ kj }=0for all j≠i, then reaction i is blocked.

If there exists a set of reactions I⊆Irrsuch that S_{ ki }>0(resp. S_{ ki }<0) for all i∈Iand S_{ kj }=0for all j∉I, then all reactions i∈Iare blocked.
In each of these cases, k is called a deadend metabolite.
Certain metabolites are involved in exactly two reactions. For instance, in the network MetNet depicted in Figure 1(a), metabolite E is produced/consumed only by reactions 8 and 9. The following observation states that the fluxes through reactions involving such metabolites are proportional to each other.
Observation 2 (Trivial Full Coupling (TFC))
Let i and j be two reactions such that, for some metabolite k∈{1,…,m}, S_{ ki }≠0, S_{ kj }≠0and S_{ kl }=0for all l≠i,j. Then, reactions i and j are either blocked or fully coupled.
The identification of deadend metabolites and their corresponding blocked reactions allows us to reduce the number of metabolites and reactions that matter for identifying coupled reactions. As stated in the following observation, the removal of the rows (resp. columns) in the stoichiometric matrix corresponding to deadend metabolites (resp. blocked reactions) does not influence the flux coupling between reactions.
Observation 3 (Reduction Rule 1)
Let D be a set of deadend metabolites and let B be a set of blocked reactions. For convenience, suppose B={s + 1,…,n}. Let S^{′}be the submatrix of S formed by the rows S_{k∗}with k∉Dand the columns S_{∗l}with l∉B. Let Irr^{′}=Irr∖B. Then, for all pairs of reactions i∉Band j∉B,

i\stackrel{=0}{\to}j
if and only if {v}_{i}^{\prime}=0 implies {v}_{j}^{\prime}=0, for all {v}^{\prime}\in {\mathbb{R}}^{s} such that S^{′}v^{′}=0and {v}_{p}^{\prime}\ge 0\phantom{\rule{2.77695pt}{0ex}}\text{for all}\phantom{\rule{2.77695pt}{0ex}}p\in {\mathrm{Irr}}^{\prime}.

i∽jif and only if there exists λ^{′}≠0such that {v}_{j}^{\prime}={\lambda}^{\prime}{v}_{i}^{\prime}, for all {v}^{\prime}\in {\mathbb{R}}^{s} with S^{′}v^{′}=0and {v}_{p}^{\prime}\ge 0\phantom{\rule{2.77695pt}{0ex}}\text{for all}\phantom{\rule{2.77695pt}{0ex}}p\in {\mathrm{Irr}}^{\prime}.
The next observation shows that two fully coupled reactions can be represented by only one column in the stoichiometric matrix, without altering the flux coupling between reactions.
Observation 4 (Reduction Rule 2)
Let k,lbe two reactions such that for all v∈C,v_{ l }=λ v_{ k }for some λ≠0. For convenience, suppose l=nand λ>0. Let S^{′}be the m×(n−1)matrix defined by {S}_{\ast p}^{\prime}={S}_{\ast p} for all p≠k,land {S}_{\ast k}^{\prime}={S}_{\ast k}+\lambda {S}_{\ast l}. Let Irr^{′}=(Irr∪{k})∖{l}if l∈Irr, and Irr^{′}=Irrotherwise. Then, for all pairs of reactions i≠land j≠l,

i\stackrel{=0}{\to}j
if and only if {v}_{i}^{\prime}=0 implies {v}_{j}^{\prime}=0, for all {v}^{\prime}\in {\mathbb{R}}^{n1} such that S^{′}v^{′}=0and {v}_{p}^{\prime}\ge 0\phantom{\rule{2.77695pt}{0ex}}\text{for all}\phantom{\rule{2.77695pt}{0ex}}p\in {\mathrm{Irr}}^{\prime}.

i∽jif and only if there exists λ^{′}≠0such that {v}_{j}^{\prime}={\lambda}^{\prime}{v}_{i}^{\prime}, for all {v}^{\prime}\in {\mathbb{R}}^{n1} with S^{′}v^{′}=0and {v}_{p}^{\prime}\ge 0\phantom{\rule{2.77695pt}{0ex}}\text{for all}\phantom{\rule{2.77695pt}{0ex}}p\in {\mathrm{Irr}}^{\prime}.
Note that when applying the reduction rules of Observations 3 and 4, further metabolites and reactions may fulfill the conditions of Observations 1 and 2. Accordingly, we apply these reduction rules in an iterative way. As an illustration, the reduction of the network MetNet depicted in Figure 1(a) involves two iterations. In the first one, metabolite H and reaction 13 are removed, the pairs of reactions (1,2) and (8,9) are merged and metabolites A and E are removed. In the second iteration, the equivalent reactions (11,12) are merged and metabolite G is removed. The preprocessed network depicted in Figure 1(b) contains only four metabolites and nine reactions.
Certain fully coupled reactions could not be identified using Observation 2. The following lemma proves that all fully coupled reaction pairs can be deduced from the kernel \mathrm{kern}\left(S\right)=\{v\in {\mathbb{R}}^{n}\mid \mathrm{Sv}=0\} of the stoichiometric matrix after the removal of all blocked reactions.
Lemma 1
Let (S,Irr)be a metabolic network with n unblocked reactions. For a pair of reactions (i,j)the following are equivalent:

i∽j.

there exists \lambda \in \mathbb{R}\setminus \left\{0\right\} such that v_{ i }=λ v_{ j }, for all v∈kern(S).
Proof
⇐" Immediate.
"⇒" Since i∽j, there exists λ≠0such that v_{ i }=λ v_{ j }for all v∈C. Assume by contradiction that there is v∈kern(S)such that v_{ i }≠λ v_{ j }and let L={l∈Irr∣v_{ l }<0}. Since every reaction is unblocked, for every l∈Lthere exists g^{(l)}∈Cwith \left(\right)close="">\n \n \n \n g\n \n \n l\n \n \n (\n l\n )\n \n \n =\n 1\n \n. Let w=v\sum _{l\in L}{v}_{l}{g}^{\left(l\right)}. Clearly, w∈kern(S)and w_{ l }>0for all l∈Irr, thus w∈C. However, w_{ i }≠λ w_{ j }, contradicting i∽j. The required statement follows. □
In analogy with the WRPFCF and FFCA approaches, we identify the reversibility type of reactions in order to apply linear programming only in those cases where coupling relationships can occur [33]. Here, we use the procedure for reaction classification described in [31, 34]. Note that applying the above reduction rules beforehand reduces the number of variables and constraints in the LP problems used for the classification of reactions.
Based on the results above, we propose to apply the preprocessing procedure given in Table 1 before identifying coupled reactions using linear programming. We show later that the preprocessing step turns out to be crucial for obtaining an efficient flux coupling algorithm.
Algorithmic improvements
In certain metabolic networks, the conversion of a set of substrates into a set of products can be made by different reactions having the same stoichiometry. A simple example of such reactions are isoenzymes which make the same conversion of substrates into products. This concept is illustrated in Figure 1(a) where both reactions 4 and 5 convert C into D in the same way. This holds also for reaction 7 and the merged equivalent reactions (8,9) in Figure 1(b) showing that the network preprocessing may simplify the identification of such alternative conversions. The flux coupling of such reactions is trivial using the following lemma.
Lemma 2 (Trivial Uncoupling (TUC))
Let i,j∈Irevand k,l∈Prev∪Frevbe four reactions. Then, the following holds:

If S_{∗i}=α S_{∗j}for some α>0, then i↦pand j↦pfor all p∉Blk.

If S_{∗i}=α S_{∗j}for some α<0, then p↦i(resp. p↦j) for all p∉Blk∪{j}(resp. p∉Blk∪{i}).

If S_{∗i}=α S_{∗k}for some α≠0, then i↦pand p↦ifor all p∉Blkand q↦kfor all q∉Blk∪{i}.

If S_{∗k}=α S_{∗l}for some α≠0, then k↦pand p↦kfor all p∉Blk∪{l}and l↦qand q↦lfor all q∉Blk∪{k}.
Proof
The proofs of the four statements are similar. We only consider the first one. Suppose S_{∗i}=α S_{∗j}for some α>0and let us prove i↦p. Let p∉Blk. There exists v∈Csuch that v_{ p }≠0. Let w\in {\mathbb{R}}^{n} such that w_{ i }=0,w_{ j }=α v_{ i } + v_{ j }and w_{ q }=v_{ q }for all q≠i,j. We have w∈C,w_{ i }=0,w_{ p }≠0and so the claim follows. □
The next observation states that metabolites which are involved only in irreversible reactions and consumed or produced by exactly one reaction define trivial directional couplings between these reactions.
Observation 5 (Trivial Directional Coupling (TDC))
Let k be some metabolite such that S_{ kl }=0for all l∈Frev∪Prev. Let P={i∣S_{ ki }>0}and N={j∣S_{ kj }<0}. If card(P)=1(resp. card(N)=1), then i\stackrel{=0}{\to}j (resp. j\stackrel{=0}{\to}i) for all (i,j)∈P×N.
Since directional flux coupling is a transitive relation, the flux (un)coupling between many reactions can simply be deduced from dependencies between reactions whose flux (un)coupling has been determined beforehand. This allows us to significantly reduce the total number of LP problems to be solved. Examples of such inferred flux (un)couplings are given in Figure 1(b). According to the TDC rule, we have (1,2)\stackrel{=0}{\to}(8,9). By solving the LP problems (4), we obtain 10↦(8,9). We can easily conclude that 10↦(1,2).
Table 2 shows the inferred flux (un)coupling relations we can deduce from known relationships between reactions.
For some pairs of reactions, we need to solve at least one LP problem. The optimal solution not only determines the flux coupling between the considered pair of reactions, but also allows one to determine many other uncoupled reactions.
Observation 6 (Feasibility Rule)
Let v∈Cbe a steady state flux vector and let I={i∣v_{ i }=0}and J={j∣v_{ j }≠0}. Then i↦jfor all (i,j)∈I×J.
In general, most irreversible reactions are uncoupled to each other. Accordingly, the LP problems (4) used to determine coupled irreversible reactions are often unbounded. This limits the use of the feasibility rule, which requires the calculation of a feasible flux vector. In order to optimally use the feasibility rule, instead of solving the LP problems (4) to decide whether two irreversible reactions i,j∈Irev are coupled, we propose to solve the bounded LP problems
and to use the following scheme:

i\stackrel{=0}{\to}j
(resp. j\stackrel{=0}{\to}i) if and only if L_{ ij }≠0(resp. L_{ ji }≠0),

j∽iif and only if L_{ ij }≠0, L_{ ji }≠0and L_{ ij }=1/L_{ ji }.
The following observation states that removing a fully reversible reaction does not alter the flux coupling between (pseudo)irreversible reactions.
Observation 7
Let k∈Frevbe a fully reversible reaction. For convenience, suppose k=n. Let S^{′}be the m×(n−1)matrix defined by {S}_{\ast p}^{\prime}={S}_{\ast p} for all p≠kand let Irr^{′}=Irr. Then, for all pairs of reactions i∉Frevand j∉Frev,

i\stackrel{=0}{\to}j
if and only if {v}_{i}^{\prime}=0 implies {v}_{j}^{\prime}=0, for all {v}^{\prime}\in {\mathbb{R}}^{n1} with S^{′}v^{′}=0and {v}_{p}^{\prime}\ge 0\phantom{\rule{2.77695pt}{0ex}}\text{for all}\phantom{\rule{2.77695pt}{0ex}}p\in {\mathrm{Irr}}^{\prime}.

i∽jif and only if there exists λ^{′}≠0such that {v}_{j}^{\prime}={\lambda}^{\prime}{v}_{i}^{\prime}, for all {v}^{\prime}\in {\mathbb{R}}^{n1} with S^{′}v^{′}=0and {v}_{p}^{\prime}\ge 0\phantom{\rule{2.77695pt}{0ex}}\text{for all}\phantom{\rule{2.77695pt}{0ex}}p\in {\mathrm{Irr}}^{\prime}.
Let S_{∗Rev} be the submatrix defined by the columns in S corresponding to the reversible reactions and let t be the dimension of kern(S_{∗Rev}). Based on Observation 7, we can remove up to t independent fully reversible reactions without altering the flux coupling between (pseudo)irreversible reactions. Since certain fully reversible reactions may change their reversibility type after the deletion of a fully reversible reaction, we first remove a randomly chosen reaction i∈Frevtogether with the coupled reactions with i. We calculate the impact of this deletion on the dimension of kern(S_{∗Rev}). If this dimension decreases by 1, the deletion is maintained; otherwise the removed reactions are restored to the network. This is repeated until t independent fully reversible reactions and their coupled reactions are removed. We assume that the flux coupling between fully reversible reactions is determined beforehand.
Based on the above results, we propose the Fast Flux Coupling Calculator (F2C2) to determine coupled reactions. The main steps of the F2C2 algorithm are given in Table 3.
Results and discussion
The F2C2 algorithm has been implemented within the MATLAB environment, using CLP (via the Mexclp [40] interface) as the underlying linear programming solver. For benchmarking, we analyzed the following genomescale metabolic networks: Escherichia coli, iJR 904 [1], Saccharomyces cerevisiae, iND 750 [2], Methanosarcina barkeri, iAF 692 [3], Mycobacterium tuberculosis, iNJ 661 [4], Escherichia coli, iAF 1260 [5], Homo sapiens, Recon 1 [6] and Escherichia coli, iJO 1366 [7]. For the numerically sensitive parts, a tolerance level of 10e6 was set. All computations were performed using a single Intel Xeon 5160 (3.0 GHz) processor on a 64bit Debian Linux 6.0 system.
As pointed out in the previous section, part of the performance gain of F2C2 over previous FCA algorithms stems from the fact that the preprocessing steps reduce the network size. This affects the running time on two levels: there are fewer reaction pairs and the LP problems to be solved have reduced size. The dramatic effect of the preprocessing steps on the network size is presented in Table 4.
The algorithmic improvements further reduce the number of LP problems to be solved. A direct performance comparison between the FFCA and F2C2 algorithms (including the running times and number of LP problems solved) is summarized in Table 5. In all cases, F2C2 outperformed FFCA by several orders of magnitude. In [31] it has been shown that FFCA is more efficient on genomescale metabolic networks than other flux coupling algorithms.
For an intuitive, visual representation of the individual improvements’ impact on the algorithm’s performance, a more indepth analysis has been performed on the recent metabolic network of E. coli, iJO 1366. Four different sets of improvements were cumulatively switched on, and the linear programs solved were plotted for each case (Figure 2). To better highlight the relevant differences, the following modifications were applied to the results. First, 249 (out of 2582) reactions identified as blocked were removed from the images. This is a common preprocessing step in most FCA algorithms. Secondly, the order of reactions was permuted such that the reactions in Irev, Prev and Frev are clustered together. Additionally, in each of these three clusters, the fully coupled reactions were moved towards the end of the segment.
Figure 2(a) plots the LP problems solved in the FFCA algorithm. Applying the simple preprocessing steps without using the kernel (Figure 2(b)), several reactions are found to be fully coupled with others, and as such can be merged together. When Lemma 1 is applied (Figure 2(c)), all fully coupled sets are detected. As a consequence the gray stripes get thicker and the LP problems corresponding to (Prev, Prev) and (Frev, Frev) pairs need not be solved anymore. The use of the algorithmic improvements (Figure 2(d)) filters the pairs in (Irev, Irev) and (Irev, Prev) blocks, greatly reducing the total number of LP problems solved.
Conclusions
We have presented the new flux coupling algorithm F2C2, which outperforms previous methods by orders of magnitude. Flux coupling analysis of genomescale metabolic networks can now be performed in a routine manner. A software tool F2C2 is freely available for noncommercial use at https://sourceforge.net/projects/f2c2/files/.
Abbreviations
 F2C2:

Fast Flux Coupling Calculator
 FCA:

Flux Coupling Analysis
 FFCA:

Feasibilitybased Flux Coupling Analysis
 FCF:

Flux Coupling Finder
 LP:

Linear Program
 TDC:

Trivial Directional Coupling
 TFC:

Trivial Full Coupling.
References
Reed JL, Vo TD, Schilling CH, Palsson BØ: An expanded genomescale model of Escherichia coli K12 (iJR904 GSM/GPR). Genome Biol 2003, 4: R54. 10.1186/gb200349r54
Duarte NC, Herrgard MJ, Palsson BØ: Reconstruction and validation of Saccharomyces cerevisiae iND750, a fully compartmentalized genomescale metabolic model. Genome Res 2004, 14(7):1298–1309. 10.1101/gr.2250904
Feist AM, Scholten JCM, Palsson BØ, Brockman FJ, Ideker T: Modeling methanogenesis with a genomescale metabolic reconstruction of Methanosarcina barkeri. Mol Syst Biol 2006, 2: 2006.0004.
Jamshidi N, Palsson BØ: Investigating the metabolic capabilities of Mycobacterium tuberculosis H37Rv using the in silico strain iNJ661 and proposing alternative drug targets. BMC Syst Biol 2007, 1: 26. 10.1186/17520509126
Feist AM, Henry CS, Reed JL, Krummenacker M, Joyce AR, Karp PD, Broadbelt LJ, Hatzimanikatis V, Palsson BØ: A genomescale metabolic reconstruction for Escherichia coli K12 MG1655 that accounts for 1260 ORFs and thermodynamic information. Mol Syst Biol 2007, 3: 121.
Duarte NC, Becker SA, Jamshidi N, Thiele I, Mo ML, Vo TD, Srivas R, Palsson BØ: Global reconstruction of the human metabolic network based on genomic and bibliomic data. Proc Natl Acad Sci U.S.A 2007, 104(6):1777–1782. 10.1073/pnas.0610772104
Orth JD, Conrad TM, Na J, Lerman JA, Nam H, Feist AM, Palsson BØ: A comprehensive genomescale reconstruction of Escherichia coli metabolism2011. Mol Syst Biol 2011, 7: 535.
Covert MW, Famili I, Palsson BØ: Identifying constraints that govern cell behavior: a key to converting conceptual to computational models in biology? Biotechnol Bioeng 2003, 84(7):763–772. 10.1002/bit.10849
Price ND, Reed JL, Palsson BØ: Genomescale models of microbial cells: evaluating the consequences of constraints. Nat Rev Microbiol 2004, 2(11):886–897. 10.1038/nrmicro1023
Schellenberger J, Que R, Fleming R, Thiele I, Orth J, Feist A, Zielinski D, Bordbar A, Lewis N, Rahmanian S, Kang J, Hyduke D, Palsson B: Quantitative prediction of cellular metabolism with constraintbased models: the COBRA Toolbox v2.0. Nat Protoc 2011, 6: 1290–1307. 10.1038/nprot.2011.308
Clarke BL: Stability of complex reaction networks. In Adv. Chem. Phys. Volume 43. Edited by: Prigogine I, Rice SA. John Wiley & Sons, Inc., Hoboken; 1980:1–216.
Edwards JS, Palsson BØ: Metabolic flux balance analysis and the In silico analysis of Escherichia coli K12 gene deletions. BMC Bioinf 2000, 1: 1. 10.1186/1471210511
Segrè D, Vitkup D, Church G: Analysis of optimality in natural and perturbed metabolic networks. Proc Natl Acad Sci USA 2002, 99(23):15112–15117. 10.1073/pnas.232349399
Kauffman KJ, Prakash P, Edwards JS: Advances in flux balance analysis. Curr Opin Biotechnol 2004, 14(5):491–496.
Shlomi T, Berkman O, Ruppin E: Regulatory on/off minimization of metabolic flux changes after genetic perturbations. Proc Natl Acad Sci USA 2005, 102(21):7695–7700. 10.1073/pnas.0406346102
Lee JM, Gianchandani EP, Papin JA: Flux balance analysis in the era of metabolomics. Brief Bioinf 2006, 7(2):140–150. 10.1093/bib/bbl007
Schilling CH, Letscher D, Palsson BØ: Theory for the systemic definition of metabolic pathways and their use in interpreting metabolic function from a pathwayoriented perspective. J Theor Biol 2000, 203(3):229–248. 10.1006/jtbi.2000.1073
Schuster S, Hilgetag C, Woods JH, Fell DA: Reaction routes in biochemical reaction systems: algebraic properties, validated calculation procedure and example from nucleotide metabolism. J Math Biol 2002, 45(2):153–181. 10.1007/s002850200143
Voss K, Heiner M, Koch I: Steady state analysis of metabolic pathways using Petri nets. In Silico Biol 2003, 3(3):367–387.
Larhlimi A, Bockmayr A: A new constraintbased description of the steadystate flux cone of metabolic networks. Discrete Appl Math 2009, 157: 2257–2266. 10.1016/j.dam.2008.06.039
Burgard AP, Nikolaev EV, Schilling CH, Maranas CD: Flux coupling analysis of genomescale metabolic network reconstructions. Genome Res 2004, 14(2):301–312. 10.1101/gr.1926504
Notebaart RA, Kensche PR, Huynen MA, Dutilh BE: Asymmetric relationships between proteins shape genome evolution. Genome Biol 2009, 10: R19. 10.1186/gb2009102r19
Pál C, Papp B, Lercher MJ: Adaptive evolution of bacterial metabolic networks by horizontal gene transfer. Nat Genet 2005, 37: 1372–1375. 10.1038/ng1686
Yizhak K, Tuller T, Papp B, Ruppin E: Metabolic modeling of endosymbiont genome reduction on a temporal scale. Mol Syst Biol 2011, 7: 479.
Notebaart RA, Teusink B, Siezen RJ, Papp B: Coregulation of metabolic genes is better explained by flux coupling than by network distance. PLoS Comput Biol 2008, 4: e26. 10.1371/journal.pcbi.0040026
Montagud A, Zelezniak A, Navarro E, de Córdoba P F, Urchueguía JF, Patil KR: Flux coupling and transcriptional regulation within the metabolic network of the photosynthetic bacterium Synechocystis sp. PCC6803. Biotechnol J 2011, 6: 330–342. 10.1002/biot.201000109
Szappanos B, Kovács K, Szamecz B, Honti F, Costanzo M, Baryshnikova A, GeliusDietrich G, Lercher M, Jelasity M, Myers C, Andrews B, Boone C, Oliver S, Pál C, Papp B: An integrated approach to characterize genetic interaction networks in yeast metabolism. Nat Genet 2011, 43(7):656–662. 10.1038/ng.846
Suthers PF, Chang YJ, Maranas CD: Improved computational performance of MFA using elementary metabolite units and flux coupling. Metab Eng 2010, 12: 123–128. 10.1016/j.ymben.2009.10.002
Bundy JG, Papp B, Harmston R, Browne RA, Clayson EM, Burton N, Reece RJ, Oliver SG, Brindle KM: Evaluation of predicted network modules in yeast metabolism using NMRbased metabolite profiling. Genome Res 2007, 17: 510–519. 10.1101/gr.5662207
Lee DS, Park J, Kay KA, Christakis NA, Oltvai ZN, Barabasi AL: The implications of human metabolic network topology for disease comorbidity. Proc Natl Acad Sci USA 2008, 105(29):9880–9885. 10.1073/pnas.0802208105
David L, Marashi SA, Larhlimi A, Mieth B, Bockmayr A: FFCA: a feasibilitybased method for flux coupling analysis of metabolic networks. BMC Bioinf 2011, 12: 236. 10.1186/1471210512236
Xi Y, Chen YPP, Qian C, Wang F: Comparative study of computational methods to detect the correlated reaction sets in biochemical networks. Brief Bioinf 2011, 12(2):132–150. 10.1093/bib/bbp068
Larhlimi A, Bockmayr A: A new approach to flux coupling analysis of metabolic networks. Computational Life Sciences II , Second International Symposium (CompLife 2006), Cambridge, UK, Volume 4216 of Lecture Notes in Computer Science. 2006:205–215 Cambridge, UK, Volume 4216 of Lecture Notes in Computer Science. 2006:205–215
Larhlimi A: New concepts and tools in constraintbased analysis of metabolic networks. PhD thesis, Freie Universität Berlin 2008 PhD thesis, Freie Universität Berlin 2008
Schrijver A: Theory of Linear and Integer Programming. John Wiley & Sons Inc., NY, USA; 1986.
Pfeiffer T, SánchezValdenebro I, Nun̄o JC, Montero F, Schuster S: METATOOL: for studying metabolic networks. Bioinformatics 1999, 15: 251–257. 10.1093/bioinformatics/15.3.251
Klamt S, Stelling J, Ginkel M, ED G: FluxAnalyzer: exploring structure, pathways, and flux distributions in metabolic networks on interactive flux maps. Bioinformatics 2003, 19(2):261–269. 10.1093/bioinformatics/19.2.261
Gagneur J, Klamt S: Computation of elementary modes: a unifying framework and the new binary approach. BMC Bioinf 2004, 5: 175. 10.1186/147121055175
Urbanczik R, Wagner C: Functional stoichiometric analysis of metabolic networks. Bioinformatics 2005, 21(22):4176–4180. 10.1093/bioinformatics/bti674
Löfberg J: Mexclp. 2006, [http://control.ee.ethz.ch/johanl/clp.php] 2006, [http://control.ee.ethz.ch/johanl/clp.php]
Author information
Authors and Affiliations
Corresponding authors
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ contributions
The F2C2 algorithm was designed by all authors, based on ideas from AL and LD. The implementation and computational experiments were done by LD. The first draft of the manuscript was written by AL, and revised by LD and AB. The final document was approved by all authors.
Abdelhalim Larhlimi, Laszlo David contributed equally to this work.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Larhlimi, A., David, L., Selbig, J. et al. F2C2: a fast tool for the computation of flux coupling in genomescale metabolic networks. BMC Bioinformatics 13, 57 (2012). https://doi.org/10.1186/147121051357
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/147121051357
Keywords
 Metabolic Network
 Couple Reaction
 Reversible Reaction
 Linear Programming Problem
 Coupling Relationship