Double and multiple knockout simulations for genome-scale metabolic network reconstructions

Background Constraint-based modeling of genome-scale metabolic network reconstructions has become a widely used approach in computational biology. Flux coupling analysis is a constraint-based method that analyses the impact of single reaction knockouts on other reactions in the network. Results We present an extension of flux coupling analysis for double and multiple gene or reaction knockouts, and develop corresponding algorithms for an in silico simulation. To evaluate our method, we perform a full single and double knockout analysis on a selection of genome-scale metabolic network reconstructions and compare the results. Software A prototype implementation of double knockout simulation is available at http://hoverboard.io/L4FC.


Background
Constraint-based modeling has become a widely used approach for the analysis of genome-scale reconstructions of metabolic networks [1]. Given a set of metabolites M and a set of reactions R, the metabolic network is represented by its stoichiometric matrix S ∈ R M×R , and a subset of irreversible reactions Irr ⊆ R. The flux cone C = {v ∈ R R | Sv = 0, v r ≥ 0, r ∈ Irr} contains all steady-state flux vectors satisfying the stoichiometric and thermodynamic irreversibility constraints. Based on this flux cone, many analysis methods have been proposed over the years (see e.g. [2] for an overview). Flux Balance Analysis (FBA) [3,4] solves a linear program (LP) max{z(v) | Sv = 0, l ≤ v ≤ u} over the (truncated) flux cone in order to predict how efficiently an organism can realize a certain biological objective, represented by the linear objective function z (v). For example, one may compute the maximal biomass production rate under some specific growth conditions. Flux Coupling Analysis (FCA) [5,6] studies dependencies between reactions. Here the question is whether or not for all steady-state flux vectors *Correspondence: goldsteiny.de@gmail.com FB Mathematik und Informatik, Freie Universität Berlin, Arnimallee 6, 14195, Berlin, Germany v ∈ C, zero flux v r = 0 through some reaction r implies zero flux v s = 0, for some other reaction s.
Knockout analysis has become an important technique for the study of metabolic networks and in metabolic engineering. Starting from flux balance analysis (FBA), various in silico screening methods for genetic modifications have been developed, see [7,8] for an overview. On the one hand, complete methods have been proposed, which systematically explore all possible knockout sets up to a given size, e.g. [9,10]. On the other hand, there exist heuristic algorithms such as [11][12][13][14], which may be considerably faster, but in general are not complete. Klamt et al. [15][16][17] developed the related concept of minimal cut sets, which are (inclusion-wise) minimal sets of reactions whose knockout will block certain undesired flux distributions while maintaining others.
Recent progress in the development of algorithms for flux coupling analysis (FCA) [6,18] may lead to a different approach. FCA [5] describes the impact of each possible single reaction knockout in a metabolic network. It analyzes which other reactions become blocked after removing one reaction ("directional coupling"), and which reactions are always active together ("partial coupling"). As we will see, using flux coupling information inside a double or multiple knockout simulation may significantly reduce the search space, without loosing any information.
In this paper, we present an algorithmic framework for double and multiple knockouts in qualitative models of metabolic networks. We will use a lattice-theoretic approach [18], which includes classical constraint-based models at steady-state as a special case, but which is much more general. We illustrate and evaluate our method by computing full double knockout simulations on a selection of genome-scale metabolic network reconstructions. In particular, we compare the impact of single vs. double reaction knockouts on the other reactions in the network. We also show how our method can be extended to gene (in contrast to reaction) knockouts, and provide computational results for both cases.
Our algorithms are based on an efficient search for the maximal element in suitably defined lattices [18]. To simulate all double or multiple reaction knockouts, we describe a method to select a subset of the reactions as representatives for the whole system. More precisely, we partition the reaction set in equivalence classes of partially coupled reactions. This enables us to obtain the information about all possible double or multiple reaction knockouts much faster and to store the results in a compact format.
The approach developed in this paper is a qualitative method. We do not measure the quantitative impact of knockout sets on the cellular growth rate (or other metabolic fluxes) as this would be done in an FBA approach. Instead, we count how many reactions become blocked by a knockout, similar to the flux balance impact degree introduced in [19]. However, even though we do not apply FBA to evaluate the impact of a knockout, the idea of working with representatives for reaction classes via partial coupling could also be applied in an FBA context. Thus, studies like [20] and even MILP-based approaches like [21] might benefit from this method.

Reaction coupling in the context of knockout analysis
We start from a metabolic network N = (M, R, S, Irr) given by a set of metabolites M, a set of reactions R, a stoichiometric matrix S ∈ R M×R , and a set of irreversible reactions Irr ⊆ R, see Figure 1 for an example. The set C = {v ∈ R R | Sv = 0, v r ≥ 0, r ∈ Irr} of all flux vectors v ∈ R R satisfying the steady-state (mass balance) constraints Sv = 0 and the thermodynamic irreversibility constraints v r ≥ 0, for all r ∈ Irr, is called the steady-state flux cone. A reaction s ∈ R is called blocked if v s = 0, for all v ∈ C, otherwise s is unblocked. Two unblocked reactions r, s are called directionally coupled [5], written r =0 → s, if for all v ∈ C, v r = 0 implies v s = 0. A possible biological interpretation is that the reactions directionally coupled to r are those reactions that will become blocked by knocking out the reaction r.
To determine which reactions are coupled, a simple approach would be to solve for each pair of reactions (r, s) two linear programs (LPs) and to check whether During the last years, efficient flux coupling algorithms have been developed [6,18] that drastically reduce the number of LPs to be solved, so that that genome-wide metabolic network reconstructions can now be analyzed in a few minutes on a desktop computer (compared to a couple of days of running time before). Whether reactions are blocked or coupled does not depend on the specific flux values. It only matters whether or not v r = 0 resp. v s = 0. In this sense, flux coupling is a qualitative property that can be analysed by studying the set Each element a ∈ L C is the set of active reactions of some flux vector v ∈ C. Therefore, we can interpret L C as the set of all possible reaction sets or pathways in the flux cone C. Since L C does not contain any information about specific flux values, we also speak of a qualitative model of the metabolic network N .
In [18,22], we have shown that flux coupling analysis can be extended to much more general qualitative models, where the space of possible pathways L ⊆ 2 R can be any non-empty subset of the power set 2 R , e.g. L = {supp v | v ∈ C, v satisfies thermodynamic loop law constraints}. The definition of flux coupling needs only be slightly modified in order to be applicable to these qualitative models. A reaction t ∈ R is called blocked in L if and only if for all a ∈ L, we have t / ∈ a. For reactions r, s ∈ R that are unblocked in L, we define r To distinguish between the original flux coupling and its qualitative extension, we will call the latter reaction coupling from now on.
The goal of this paper is to study more general dependencies between reactions, where the flux through some reaction has to be zero, if the flux through two or more other reactions is zero.

Lattices and maximal elements
In [18], we presented a generic algorithm for flux coupling analysis in qualitative models. This algorithm determines the pairs of coupled reactions by computing the maximal element in suitably defined lattices. A family of reaction sets L ⊆ 2 R is a (finite) lattice if ∅ ∈ L and for all a 1 , a 2 ∈ L, we have a 1 ∪ a 2 ∈ L. The biological interpretation of this property is that the combination of two metabolic pathways is again a pathway. In [18] we showed that L C is a lattice. Any finite lattice L has a unique maximal element 1 L (w.r.t. set inclusion), which is simply the union of all lattice elements, i.e., 1 L = a∈L a. For any subset of reactions K ⊆ R, we may define the family called L without K of those reaction sets a ∈ L that do not contain any reaction in K. If L is a lattice, then L ⊥K is a lattice again, and thus it has a maximal element Given any lattice L ⊆ 2 R , we have shown in [18] that a reaction r ∈ R is unblocked in L if and only if r ∈ 1 L . For two unblocked reactions r, s ∈ 1 L , the coupling relation r =0 → s in L holds if and only if s / ∈ 1 L ⊥{r} . In [18], we also presented an efficient algorithm to compute 1 L and 1 L ⊥{r} . Once these maximal elements have been found, one can immediately determine the blocked and coupled reactions.
In this paper, we generalize these results to joint couplings. We present a method to compute the effects of double (resp. multiple) reaction knockouts based on the maximal element 1 L ⊥{r,s} (resp. 1 L ⊥K ).

More generally, for a set of unblocked reactions
Proof. We prove only the first part. The second part follows by induction.
all a ∈ L ⊥ {r,s} , and therefore t / we also know that neither r → t in L and that all three reactions are unblocked, i.e., r, s, t ∈ 1 L . As discussed in [18], we have r =0 → t in L if and only if t ∈ 1 L \ 1 L ⊥{r} . Since t ∈ 1 L , we conclude t ∈ 1 L ⊥{r} , and by the same ∈ a for all a ∈ L ⊥{r,s} . Since t ∈ 1 L ⊥{r} ∩ 1 L ⊥{s} , we can again apply [18] to see that r In [22], we considered even more general qualitative models ∅ = P ⊆ 2 R , where P needs not be a lattice. We showed there that qualitative flux coupling analysis can be done in the lattice L P = P that is generated by P. The results we will present in this paper would be applicable to those qualitative models P as well, but for simplicity we will continue to work with models L that are lattices.

Classes of partially coupled reactions
To determine joint coupling relations K =0 → t in L, we will use as much as possible the information that can be obtained from standard couplings r =0 → s in L, i.e., with normal FCA. If r =0 → s in L, any pathway a ∈ L that does not use reaction r will also not use reaction s. Thus, knocking out s in addition to r will not affect the system, i.e., {a ∈ L | r, s / ∈ a} = {a ∈ L | r / ∈ a}. Additional improvements can be obtained by looking at partially coupled reactions. Two unblocked reactions r, s ∈ 1 L are called partially coupled in the lattice L, writ- The relation ↔ is reflexive, transitive and symmetric, and thus an equivalence relation. Any equivalence relation defines a partition of its ground set into equivalence classes. In our case, An equivalence class can be represented by any of its elements, i.e., [r] ↔ =[r] ↔ if r ↔r. By selecting one element from each equivalence class, we get a set of representatives Rep ⊆ 1 L that covers all unblocked reactions, i.e., 1 L = r∈Rep [r] ↔ . We will call [r] ↔ the coupling class or reaction class of reaction r. Biologically, coupling classes can be interpreted as subsets of reactions that are always active together, similarly to the notion of enzyme subsets in [23].
For r,r ∈ [r] ↔ and a ∈ L, we have r ∈ a if and only ifr ∈ a. Thus, a knockout of r has the same impact as a knockout ofr. Furthermore, r can only be blocked by  Figure 1a) for illustration. As we will see, for many genome-scale network reconstructions, there are only about half as many different equivalence classes as there are unblocked reactions (Table 1). Thus, only about 1/4 of all original pairs need to be checked. As mentioned before, although we apply this compression to reaction coupling analysis, it could also be combined with FBA-based methods.

Algorithms
In [18], we introduced an algorithm that performs flux coupling analysis by computing maximal elements of suitably defined finite latticesL (see also the section above on lattices and maximal elements). The basic ingredient of this algorithm is a method that checks if a given reaction r ∈ R is blocked inL, and if not returns a pathway a ∈L with r ∈ a. The maximal element 1L ofL is computed by improving lower and upper bounds lb, ub ∈L with lb ⊆ 1L ⊆ ub. In each step of the algorithm, either lb is increased or ub is decreased, until finally lb = ub = 1L. The following Algorithm 1 is an extension of this method. It allows finding all the reactions in R that are unblocked after a multiple knockout K ⊆ 1 L .
a there exists a ∈ L : r ∈ a, a ∩ K = ∅, ∅ otherwise.
As discussed in [18], the flexibility of the lattice-based approach comes from hiding the search for specific pathways in a separate function FindPath. For traditional steady-state based models, FindPath can be realized by solving the linear programs max{±v t |Sv = 0, v Irr ≥ 0, v k = 0, k ∈ K}. But, one can also use other modeling hypotheses and corresponding algorithmic methods (see [22] for the example of thermodynamic loop law constraints). The skeleton of Algorithm 1 will remain the same, only the auxiliary function FindPath has to be changed.
In Algorithm 1, we perform a multiple knockout analysis with a fixed knockout set K. For a full d-dimensional knockout analysis, we would have to iterate over all K ⊆ 1 L with |K| = d, i.e., we would have to run the algorithm O |R| d times. In each iteration, we have to solve O(|R|) linear programs. Since linear programming can be done in polynomial time, full d-dimensional knockout analysis is still polynomial (for fixed d), but computationally very expensive as soon as d > 2. However, we can still use the partition of 1 L into equivalence classes of partially coupled reactions. Thus, our next Algorithm 2 calculates representatives of all jointly coupled reactions in the case of double knockouts.

Algorithm 2. Full Double Knockout Analysis
In Algorithm 2, we iterate over a subset of all possible double knockouts without loosing any information. For this, we filter redundant knockout pairs such as r =0 → s in L (by checking s ∈ 1 L ⊥{r} ). It is unnecessary to test such a pair, because a knockout of {r, s} is equivalent to the single knockout of r, see Figure 1b) for illustration. For higherdimensional knockout sets one can proceed in a similar fashion: Let K = {k 1 , . . . , k d } ⊆ Rep be a d-dimensional knockout set. Then we do not need to test K, if any of the following conditions is fulfilled: Standard FCA finds all pairs of reactions that are directionally coupled. This allows us to iterate in Algorithm 2 over all {r, s} ∈ K 2,1 with → k 2 in L and not k 2 =0 → k 1 in L . K 2,1 contains all 2-tuples of coupling class representatives that are not coupled with respect to knockouts up to cardinality 1.
If one is interested to perform a full triple knockout analysis and joint coupling information is available, one can adapt the filtering technique and iterate over all {r 1 , r 2 , r 3 } ∈ K 3,1 (or K 3,2 ) with K 3,1 contains all 3-tuples of coupling class representatives that are not directionally coupled, and K 3,2 all triples that do not contain reactions that are coupled with respect to knockouts up to cardinality 2. Similarly one could define K d,m .
While these techniques are applied here only to reaction coupling analysis, they could also be combined with FBAbased methods. Thus, if one is interested to measure the impact of all possible triple knockouts on FBA, it would be sufficient to solve max {v biomass |Sv = 0, v Irr ≥ 0, v K = 0} for all K ∈ K 3,1 (if only FCA data is available) or all K ∈ K 3,2 (if FCA and joint coupling data is available).

The case of gene knockouts
Often metabolic networks contain regulatory rules for the gene products that catalyze the reactions, e.g. reaction r 1 is catalyzed by the product of a gene g 1 and reaction r 2 is catalyzed by the gene product of g 1 or g 2 . Here r 1 is only possible if g 1 is active, and r 2 can only be blocked by a simultaneous knockout of the two genes g 1 and g 2 . Typically, there is no 1-1 relationship between the set of genes G and the set of reactions R. On the one hand, there are reactions that only get blocked by a combination of two or more gene knockouts, as indicated above in r 2 ≡ g 1 ∨ g 2 . On the other hand, the knockout of a single gene g ∈ G may block more than one reaction. For example, reactions r 1 and r 3 may both depend on the gene g 1 . Then one immediately gets that a knockout of g 1 implies v 1 = v 3 = 0. Let us further assume that FCA and double reaction knockout analysis have been performed, leading to 3 =0 → 4 in L and {1, 3} =0 → 6 in L. Based on this information, we can extend the reactions that are blocked by the knockout of gene g 1 to v 1 = v 3 = v 4 = v 6 = 0. Thus, in this example we have 2 reactions (r 1 , r 3 ) that are associated to the gene g 1 based on information that is directly available in the network reconstruction, but in total 4 reactions (r 1 , r 3 , r 4 , r 6 ) that are coupled to the gene g 1 . We formalize these notions in the following definition. Definition 2 (Gene coupling). Consider a qualitative model L ⊆ 2 R of a metabolic network N with reaction set R and gene set G. Let α : 2 G → 2 R , → K be a function defining a set of reactions K associated to the knockout of all genes in the set . For an unblocked reaction r ∈ 1 L and ⊆ G we define: We say that the reaction r is coupled to the gene knockout . If = {g} is a single gene, we simply write g =0 → r in L.
Given the function α : 2 G → 2 R , we can determine the reactions coupled to the gene set by applying Algorithm 1 to the set of associated reactions K . Note that the definition of gene coupling slightly differs from the one of joint reaction coupling. Here, we do not exclude reactions that are already knocked out by single (or smaller set of ) gene knockouts. This is to account for the possibility that, for example, a reaction r may be associated to a single gene knockout g 1 , but not to the double knockout {g 1 , g 2 } (assume r ≡ g 1 ∨ ¬g 2 ).
To simulate the impact of all single gene knockouts, one can perform an iteration over all genes g ∈ G. Similarly, one can determine all double gene knockout effects by an iteration over all pairs of genes {g 1 , g 2 } ⊆ G. However, in contrast to Algorithm 2, we cannot use gene class representatives to decrease the number of pairs that have to be analyzed.

Results and discussion
To evaluate our method, we simulated all single and double reaction knockouts for a number of genomescale metabolic network reconstructions from the BiGGdatabase [24]. The computations were done on a Mac-Book Air (2012), with 1.8 GHz Intel Core i5, 4GB RAM, and running Java Oracle JDK 1.7.45 under Mac OS X 10.9. To solve linear programs (LPs), we used CPLEX Version 12.6. Table 1 shows the impact of single and double reaction knockouts for the different networks. In most cases, the knockout of a single reaction class (due to the knockout of one or more of its reactions) blocks the reactions in 4 to 5 other reaction classes in average. The least robust system is S. aureus iSB619, where a single knockout has an average impact of almost 12 coupled reaction classes. In S. aureus iSB619, about 9.2% of all possible double knockouts {r, s} have joint coupling effects, i.e., there exist reactions t ∈ R that are blocked by the double knockout {r, s}, but not by a single knockout of r or s alone. This is a comparatively large number. For the bigger E. coli models iAF1260 and iJO1366, only around 1% of all double knockouts of two uncoupled reaction classes {r, s} have an impact that exceeds the effects of the corresponding two single knockouts. In S. aureus iSB619, double knockouts also have very strong combined effects. In addition to the reaction classes that would be knocked out by r or s alone, in average more than 7 reaction classes are coupled to a double knockout corresponding to a joint coupling {r, s} =0 → t in L. But, even for the most robust system, M. tuberculosis iNJ661, a double knockout (if its impact is different from the two single knockouts) in average has a combined effect of 2 additional knocked out classes resp. 5.8 reactions.

Knockout options
In our next experiment, we take the opposite perspective ( Table 2). We analyse how robust an average reaction is to single or double knockouts. More precisely, we ask the following question: Given a reaction t, what are the possible choices for a single reaction r resp. a pair of reactions → t in L holds. This perspective corresponds to a lab experiment for finding knockout targets for the reaction t. Here, we consider single reactions instead of reaction classes. This means that for {r, s} =0 → t in L with r, s, t ∈ Rep, we get |[r]| · |[s]| knockout options for all the |[t]| reactions that belong to the same reaction class as t.
For most of the studied networks, the average number of knockout options for a given target reaction is in the range of 25-85 single reactions and 100-150 reaction pairs. With all double knockout information at hand, one can reduce the set of all possible knockout candidates for a wet lab experiment to a small number, and additionally decide beforehand which of them have the smallest side effects.

Impact on biomass production
To finish our discussion, we study the impact of knockouts on biomass production. To measure this, we counted the number of single and double knockouts that block the biomass reaction. Table 3 presents the results for the largest available models of the respective organisms. For two of them, more than one biomass reaction was available. In the case of E. coli iJO1366, we present the results for the two biomass reactions, for S. aureus, we selected 2 out of the 14 available reactions. We observe that for most of the organisms, the number of single knockouts that block biomass production is very similar to the number of different double knockouts (corresponding to joint couplings) having this property, although the number of double knockout candidates is much larger (quadratic in |1 L |).

Algorithmic considerations
To perform a double knockout analysis, we first run standard flux coupling analysis (FCA) using the L4FC routine from [18]. Then we calculate the unblocked reactions for each double knockout of a pair of reaction class representatives. Table 4 presents the running times for six genome-scale network reconstructions and the central metabolism of E. coli. Even for our largest network, E. coli iJO1366 with its 2583 reactions, the complete simulation of all double reaction knockouts took less than 1h 10 min.
Next we discuss the number of LPs we have to solve in order to obtain this additional information. For all our networks, double knockout analysis required solving 5 to 20 times as many LPs than single knockouts, i.e., classical FCA. While this seems to be a large number, it is relatively small compared to the complexity of the problem. A full double knockout simulation is comparable to iterating over all reactions r ∈ Rep, removing the reaction r and performing a single knockout simulation for each of the resulting subnetworks. Reusing known pathways as witnesses and including reaction coupling information as proposed in [18] allows performing |Rep| simulations with only 5 to 20 times the effort in LP solving. Table 1 shows that the median value for |Rep| is 370 for our networks.
In order to evaluate the runtime effect of our algorithmic improvements, we considered two variants of Algorithm 2:   still more efficient than a naive brute force algorithm. The runtime results are given in Table 5, where we stopped computations after a timeout of 6h. Table 5 shows that the efficiency of Algorithm 2 is mostly due to the re-use of (up to 10000) pathways as witnesses (factor 10 in the case of E. coli textbook and factor 100 for S. aureus). Nevertheless, iterating over the set of representatives adds another improvement of up to 50% (S. aureus). Since it takes a very small effort to calculate a set of representatives to profit from this additional speed-up, we highly recommend to iterate over representatives whenever possible. Table 6 gives the runtimes and the number of LPs for single and double gene knockouts. To determine the reactions associated to a (double) gene knockout, we used the library JEval that allows fast evaluation of logical  Times are given in seconds if not specified otherwise.

Gene knockouts
formulas given as Java strings. As expected we are confronted with longer runtimes up to almost 4h for double gene knockouts compared to < 70 min for double reaction knockouts. This is due to the fact that we need to check every single pair of genes instead of a representative selection like the one we could apply in double reaction knockout analysis. In spite of this, with the methods proposed here, a full simulation of double reaction or double gene knockouts on a genome-scale metabolic network reconstruction can still be performed in a reasonable time.

Conclusions
On the algorithmic side, this study presented the following main results: • Algorithm 2 is an effective method for a complete double knockout analysis in genome-scale metabolic networks. • Using Algorithm 1, it is possible to compute the impact of specific multiple knockout sets containing 3 or more reactions. • By exploiting the information present in reaction coupling data (obtained by FCA), one can significantly decrease the number of candidates that need to be tested in double and multiple knockout simulations.
Regarding the biological data, we can make the following observations based on our computational experiments: • In the genome-scale metabolic network reconstructions that were considered in this study, 1-10% of the possible double knockout sets have joint coupling effects. Thus, given a randomly chosen reaction pair, the probability is high that the combined effect of the double knockout (in terms of other blocked reactions) will be the same as for the two corresponding single knockouts. • However, in all these networks, there exists a small number of double knockouts showing synergistic effects, blocking 5 to 20 additional reactions in average. These double knockouts cannot be predicted from the single knockout/reaction coupling data alone.
Due to the algorithmic improvements, we are now able to perform full double gene or reaction knockout simulations in a few hours of computation time. Thus, whenever one is interested in understanding the robustness of a network to knockouts, one should take the opportunity and run such an in silico simulation, before starting other more time consuming and expensive experiments. A prototype implementation of double knockout simulation is available at http://hoverboard.io/L4FC.