F2C2: a fast tool for the computation of flux coupling in genomescale metabolic networks
 Abdelhalim Larhlimi†^{1, 2}Email author,
 Laszlo David†^{3, 4, 5}Email author,
 Joachim Selbig^{1, 2} and
 Alexander Bockmayr^{3, 4}
DOI: 10.1186/147121051357
© Larhlimi et al.; licensee BioMed Central Ltd. 2012
Received: 16 December 2011
Accepted: 23 February 2012
Published: 23 April 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
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:

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

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

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.
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
Then $i\stackrel{=0}{\to}j$ if and only if ${v}_{j}^{1}={v}_{j}^{2}=0$.
Flux coupling between irreversible reactions

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

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
As stated below, reactions which are consuming or producing deadend metabolites are blocked.
Observation 1 (Deadend Metabolite)

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,

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\stackrel{=0}{\to}j$

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)

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\stackrel{=0}{\to}j$

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

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="">{g}_{l}^{\left(l\right)}=1$. 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.
Main steps of the preprocessing procedure
Step  Rule 

1.  Identify deadend metabolites and the corresponding blocked reactions. 
2.  Apply Reduction Rule 1 to remove the rows (resp. columns) corresponding to deadend metabolites (resp. blocked reactions) from the stoichiometric matrix. 
3.  Apply the TFC rule to determine reactions which are proportional to each other and update their reversibility type. 
4.  Apply Reduction Rule 2 to keep only one column for each set of reactions which are proportional to each other. 
5.  Repeat Steps 14 until neither a deadend metabolite nor a pair of fully coupled reactions can be identified. 
6.  Update the reversibility type of each reaction and remove the columns corresponding to blocked reactions from the stoichiometric matrix. 
7.  Use a basis of the kernel of the stoichiometric matrix to identify fully coupled reactions. This step is optional as the kernel computation may lead to numerical problems. 
8.  Classify reactions according to their reversibility type. 
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).
Transitivity inferred flux (un)coupling
Known flux coupling  i∽j  $\mathbf{i}\stackrel{\mathbf{=}\mathbf{0}}{\mathbf{\leftrightarrow}}\mathbf{j}$  $\mathbf{i}\stackrel{\mathbf{=}\mathbf{0}}{\mathbf{\to}}\mathbf{j}$  $\mathbf{j}\stackrel{\mathbf{=}\mathbf{0}}{\mathbf{\to}}\mathbf{i}$ 

k∽i  k∽j  $i\stackrel{=0}{\leftrightarrow}j$  $k\stackrel{=0}{\to}j$  $j\stackrel{=0}{\to}k$ 
k∽j  
$k\stackrel{=0}{\leftrightarrow}i$  $k\stackrel{=0}{\leftrightarrow}j$  $k\stackrel{=0}{\leftrightarrow}j$  $k\stackrel{=0}{\to}j$  $j\stackrel{=0}{\to}k$ 
$k\stackrel{=0}{\to}i$  $k\stackrel{=0}{\to}j$  $k\stackrel{=0}{\to}j$  $k\stackrel{=0}{\to}j$  
k↦i  k↦j  k↦j  k↦j  
i↦k  j↦k  j↦k  j↦k 
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.

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

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

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\stackrel{=0}{\to}j$

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.
The main steps of the F2C2 algorithm
Step  Rule 

1.  Apply the preprocessing procedure shown in Table 1. 
2.  Apply the feasibility rule using the feasible solutions obtained when solving the LP problems used in Step 1. 
3.  Apply the TDC and TUC rules to determine trivially (un)coupled reactions. 
4.  Identify fully coupled reversible reactions by solving the LP problems (2). This is not necessary if the kernel of the stoichiometric matrix is used in Step 1. 
5.  Determine the dimension t of kern(S_{∗Rev})and remove t independent fully reversible reactions and their coupled reactions. This step is optional since t is often small. 
6.  Determine the flux coupling between (pseudo)irreversible reactions by solving the LP problems (3) and (5). 
7.  For each LP problem solved in Step 6, use the inference rules in Table 2 in combination with the feasibility rule. 
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.
Genomescale metabolic networks with the number of metabolites ( ♯ met.) and reactions ( ♯ reac.) before and after applying the preprocessing steps
Original size  Prepr. size  

Network name  ♯ met.  ♯ reac.  ♯ met.  ♯ reac. 
M. barkeri, iAF 692  628  690  149  221 
S. cerevisiae, iND 750  1061  1266  248  446 
M. tuberculosis, iNJ 661  826  1025  240  418 
E. coli, iJR 904  761  1075  269  565 
E. coli, iAF 1260  1668  2382  604  1272 
E. coli, iJO 1366  1805  2582  651  1376 
H. sapiens, Recon 1  2766  3742  725  1573 
Performance comparison between the FFCA and F2C2 algorithms in terms of the number of LP problems solved ( ♯ LPs) and their total running times (TRT)
FFCA  F2C2  

Network  ♯ LPs  TRT  ♯ LPs  TRT  Prepr. RT 
M. barkeri, iAF 692  301975  59 m 40 s  774  7 s  5 s 
S. cerevisiae, iND 750  472629  1 h 50 m 17s  1280  21 s  15 s 
M. tuberculosis, iNJ 661  556504  3 h 5 m 36 s  1506  22 s  16 s 
E. coli, iJR 904  655437  2 h 40 m 33 s  1580  26 s  18 s 
E. coli, iAF 1260  4256786  4 d 31 m 26 s  3309  2 m 47 s  2 m 
E. coli, iJO 1366  4877262  4 d 5 h 30 m 46 s  3955  3 m 55 s  2 m 45 s 
H. sapiens, Recon 1  4566304  4 d 18 h 3 m 37 s  3903  5 m 20 s  4 m 9 s 
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/.
Notes
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.
Declarations
Authors’ Affiliations
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/gb200349r54PubMed CentralView ArticlePubMedGoogle Scholar
 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.2250904PubMed CentralView ArticlePubMedGoogle Scholar
 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.PubMed CentralView ArticlePubMedGoogle Scholar
 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/17520509126PubMed CentralView ArticlePubMedGoogle Scholar
 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.PubMed CentralView ArticlePubMedGoogle Scholar
 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.0610772104PubMed CentralView ArticlePubMedGoogle Scholar
 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.PubMed CentralView ArticlePubMedGoogle Scholar
 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.10849View ArticlePubMedGoogle Scholar
 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/nrmicro1023View ArticlePubMedGoogle Scholar
 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.308PubMed CentralView ArticlePubMedGoogle Scholar
 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.Google Scholar
 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/1471210511View ArticleGoogle Scholar
 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.232349399PubMed CentralView ArticlePubMedGoogle Scholar
 Kauffman KJ, Prakash P, Edwards JS: Advances in flux balance analysis. Curr Opin Biotechnol 2004, 14(5):491–496.View ArticleGoogle Scholar
 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.0406346102PubMed CentralView ArticlePubMedGoogle Scholar
 Lee JM, Gianchandani EP, Papin JA: Flux balance analysis in the era of metabolomics. Brief Bioinf 2006, 7(2):140–150. 10.1093/bib/bbl007View ArticleGoogle Scholar
 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.1073View ArticlePubMedGoogle Scholar
 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/s002850200143View ArticlePubMedGoogle Scholar
 Voss K, Heiner M, Koch I: Steady state analysis of metabolic pathways using Petri nets. In Silico Biol 2003, 3(3):367–387.PubMedGoogle Scholar
 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.039View ArticleGoogle Scholar
 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.1926504PubMed CentralView ArticlePubMedGoogle Scholar
 Notebaart RA, Kensche PR, Huynen MA, Dutilh BE: Asymmetric relationships between proteins shape genome evolution. Genome Biol 2009, 10: R19. 10.1186/gb2009102r19PubMed CentralView ArticlePubMedGoogle Scholar
 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/ng1686View ArticlePubMedGoogle Scholar
 Yizhak K, Tuller T, Papp B, Ruppin E: Metabolic modeling of endosymbiont genome reduction on a temporal scale. Mol Syst Biol 2011, 7: 479.PubMed CentralView ArticlePubMedGoogle Scholar
 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.0040026PubMed CentralView ArticlePubMedGoogle Scholar
 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.201000109View ArticlePubMedGoogle Scholar
 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.846PubMed CentralView ArticlePubMedGoogle Scholar
 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.002View ArticlePubMedGoogle Scholar
 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.5662207PubMed CentralView ArticlePubMedGoogle Scholar
 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.0802208105PubMed CentralView ArticlePubMedGoogle Scholar
 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/1471210512236View ArticleGoogle Scholar
 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/bbp068View ArticleGoogle Scholar
 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.Google Scholar
 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.251View ArticlePubMedGoogle Scholar
 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.261View ArticlePubMedGoogle Scholar
 Gagneur J, Klamt S: Computation of elementary modes: a unifying framework and the new binary approach. BMC Bioinf 2004, 5: 175. 10.1186/147121055175View ArticleGoogle Scholar
 Urbanczik R, Wagner C: Functional stoichiometric analysis of metabolic networks. Bioinformatics 2005, 21(22):4176–4180. 10.1093/bioinformatics/bti674View ArticlePubMedGoogle Scholar
 Löfberg J: Mexclp. 2006, [http://control.ee.ethz.ch/johanl/clp.php] 2006, [http://control.ee.ethz.ch/johanl/clp.php]
Copyright
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.