Email updates

Keep up to date with the latest news and content from BMC Systems Biology and BioMed Central.

Open Access Highly Accessed Research article

Optimization strategies for metabolic networks

Alexandre Domingues13, Susana Vinga12 and João M Lemos13*

Author Affiliations

1 INESC-ID - R. Alves Redol 9, 1000-029 Lisboa, Portugal

2 FCM-UNL - C Mártires Pátria 130, 1169-056 Lisboa, Portugal

3 IST-UTL - Avenida Rovisco Pais, 1000 Lisboa, Portugal

For all author emails, please log on.

BMC Systems Biology 2010, 4:113  doi:10.1186/1752-0509-4-113

The electronic version of this article is the complete one and can be found online at: http://www.biomedcentral.com/1752-0509/4/113


Received:5 March 2010
Accepted:13 August 2010
Published:13 August 2010

© 2010 Domingues et al; licensee 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.

Abstract

Background

The increasing availability of models and data for metabolic networks poses new challenges in what concerns optimization for biological systems. Due to the high level of complexity and uncertainty associated to these networks the suggested models often lack detail and liability, required to determine the proper optimization strategies. A possible approach to overcome this limitation is the combination of both kinetic and stoichiometric models. In this paper three control optimization methods, with different levels of complexity and assuming various degrees of process information, are presented and their results compared using a prototype network.

Results

The results obtained show that Bi-Level optimization lead to a good approximation of the optimum attainable with the full information on the original network. Furthermore, using Pontryagin's Maximum Principle it is shown that the optimal control for the network in question, can only assume values on the extremes of the interval of its possible values.

Conclusions

It is shown that, for a class of networks in which the product that favors cell growth competes with the desired product yield, the optimal control that explores this trade-off assumes only extreme values. The proposed Bi-Level optimization led to a good approximation of the original network, allowing to overcome the limitation on the available information, often present in metabolic network models. Although the prototype network considered, it is stressed that the results obtained concern methods, and provide guidelines that are valid in a wider context.

Background

Current metabolic engineering processes allow to manipulate metabolic networks to improve the desired characteristics of biochemical systems [1]. These manipulations may lead to the maximization of the normal product yield or redirect the production to a flux that was residual or non-significant in the original network. The high level of uncertainty in metabolic network models knowledge makes it extremely difficult to determine what are the required manipulations needed to attain a given objective. Since an heuristic approach to such problems does not allow to explore the maximum potential of metabolic engineering, two approaches are usually considered when modeling metabolic networks. Kinetic models describe the complete dynamics of the network, and have proven useful to implement optimization and control over the network, such as in [2]. The creation of reliable kinetic models involves the estimation of parameters, the complexity of this task increasing with the size of the network considered.

The second approach models the networks on the basis of reaction stoichiometry. Although easier to obtain, these models lack the ability to directly predict the dynamics of the system.

Several techniques have been proposed to optimize and infer network characteristics from these models. In [3] a platform that combines many of these methods is presented. Flux Balance Analysis (FBA) allows the determination of the optimal flux distribution on a network described in terms of the stoichiometry of the reactions and yields reliable results in the study of metabolic systems [4-6]. A review of the method can be seen in [7].

When optimizing a metabolic network for a given objective two distinct problems must be addressed. The first is to find which branch or branches must be manipulated. The second is to determine what type of alterations must be done. Strategies such as OptKnock [8] and the work in [9] address the first problem. In this work a strategy for the second problem is described.

The simulation and engineering of metabolic network models typically involves complex optimization procedures. Geometric Programming (GP), one of the techniques used in this paper, is a powerful mathematical optimization tool that can be applied to problems where the objective and constraint functions have a special form [10]. GP is of particular interest because it can solve large scale problems with extreme efficiency and reliability [11]. Furthermore it has been shown that a problem formulated in S-Systems form can be solved with GP after a minimum adaptation [12].

A common optimization problem is the maximization of the final concentration of a metabolite whose formation competes with the natural objective of the cell (e.g. maximization of biomass). In this work, a prototype network with such behavior is taken as example and the corresponding optimization problem is solved with three alternative methods.

It is stressed that the emphasis of this work is on the methods and not the specific network considered. The key point of the paper consists in establishing properties of a number of optimization methods that may serve as guidelines when considering more complex networks.

This will be further explained in the next section.

Results and Discussion

An overall view of the problem considered and paper contributions is first presented. Details may then be seen in subsequent sections.

The problem to consider consists in finding a control function, defined over a finite interval of operation time, such that the final concentration of a desired product is maximum. This product is yielded by a metabolic network that, depending on the control function, either produces it or a product that favors cell growth. In order to settle ideas, assume that the control variable u is such that it is constrained to be in the interval [0, 1], with u = 0 corresponding to only production of cell growth product and no production of the desired product, and u = 1 corresponds to the inverse situation. Values of u in between 0 and 1 correspond to a mixed production in a way that depends on the network dynamics.

Since the optimization is with respect to a time function, this is an in finite dimensional problem. However we prove in this paper, using Pontryagin's Maximum Principle [13], that the optimal control only assumes values of 0 and 1. This is a priori assumed by other authors [14] and receives now a solid justification. It is a result valid for similar metabolic network problems that aim at optimizing a final yield (e.g. a concentration at the end of the optimization time interval, such as in [15]) and such that the control enters linearly in the network equations.

The significance of this result consists in the fact that, instead of searching the optimal control among piecewise continuous functions assuming values between 0 and 1, one only has to look functions assuming the extreme values of 0 and 1.

Furthermore, in the case study considered, it is shown that the optimum has only one switch between 0 and 1. Therefore the search for the optimum is reduced to find the switching instant, treg, that leads to the maximum final yield. Considering the structure of the metabolic network, this is intuitive: the optimum is achieved by first applying all cell resources to population growth and, after treg, to redirect them to desired production. If treg is too small, the desired production rate is higher during more time, but the cell population to which it applies is small. If treg is too big, there are many cells to produce, but they only act during a small time interval. Hence, there is an optimum value for treg.

As mentioned in the Background section, a major problem is the high level of uncertainty in the knowledge about metabolic network dynamics. In this respect we consider different optimization algorithms that assume various degrees of information about the system to be optimized.

The first is direct optimization. This assumes complete knowledge about the system and is included to establish a benchmark with which other methods may be compared.

The other two methods are variants of a bi-level algorithm designed in order to accommodate missing information on the network kinetics. Both cases differ from the type of inner-optimization: Geometric Programming in one case and Linear Programming in the other. Both methods lead to good approximations of the optimal control, with a slight advantage of the one relying on Geometric Programming.

Prototype network model

The optimization strategies were tested on a prototype network that is a modified version of a previously one suggested in [16]. The choice of this network was due to its widespread use as a test benchmark for several optimization algorithms. A graphical representation of the network is shown in Figure 1 associated with the following set of ordinary differential equations:

thumbnailFigure 1. Prototype network. The circles correspond to metabolites and the arrows to fluxes with the reaction rates indicated.

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M1','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M1">View MathML</a>

(1)

Here the states xi , i = 1,..., 5 are metabolite concentrations at the network nodes, vi, i = 1,..., 4 are fluxes associated to the metabolic network branches and k is a constant parameter that represents the uptake of x1. In the equations, u represents a control function that allows to redirect the flux between the branches x2 x3 and x2 x4. Assuming that x3 represents a precursor of the cellular objective (such as growth) and x5 the desired product, if u(t) is biased towards the branch of v2 this yields the formation of x3 but little or no production of x5. If u(t) is biased towards the branch of v3 the production of x5 will be affected by the low concentration of x3 (since there is a forward feedback). Thus, there is an optimal profile for u(t) to maximize the concentration of x5 at the final time tfinal.

In the framework of S-systems [16] the prototype network is described by:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M2','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M2">View MathML</a>

(2)

where βi are the rate constants, gij and hij are the kinetic orders. Table 1 shows the list of parameters. All the simulations using the prototype network assume x(0) = [0.8 0 1 0 0].

Table 1. Parameters used in the prototype network.

Direct optimization

Direct optimization uses model (2) with the set of parameters from Table 1.

On a first approach, all possible integer values of treg in the interval treg = [1, 30] were used to compute the final product concentration x5(tfinal) where tfinal = 30s. Figure 2 plots the resulting function J(treg) = x5(tfinal).

thumbnailFigure 2. Results of the simulation using Direct optimization. The final product concentration is shown as a function of Treg. For the value of Treg corresponding to the dotted line there is a maximum yield.

It is clear from Figure 2 that there is an optimal value for the time of regulation that maximizes the yield of x5. For the network considered, the optimal time of regulation is treg = 9s. If u(t) switches from 0 to 1 before treg the formed biomass will not be enough to maximize x5(tfinal). On the other hand, if u(t) switches from 0 to 1 after treg, there will be more biomass but there time will not be enough time to produce the maximum possible amount of x5.

To illustrate better the behavior of the prototype network, simulations were made for treg = 4, treg = 9 and treg = 14. The obtained optimal treg = 9 is compared in Figure 3 with lower and upper values in order to show the different time evolution of the metabolites.

thumbnailFigure 3. Comparison of three u(t) profiles. Three time profiles for the control function u(t) (above) and the corresponding product yield (below). The solid line is the optimal Treg obtained by Direct Optimization.

Bi-Level Optimization

The Bi-Level optimization was used to test all the possible values of treg. Figure 4 plots the normalized curves for J(treg) = x5(tfinal) for the two optimizations, inner-optimization using Geometric Programming (GP) and inner-optimization using Linear Programming (LP). By comparing Figure 4 with Figure 2 it can be seen that the profiles remain similar. The final product yield, x5(tfinal), increases with treg until the optimal value is reached, then it starts decreasing.

thumbnailFigure 4. Result of the optimization using the Inner Optimization with Geometric Programming (left) and Linear Programming (right). The profiles of the production of x5 remain similar to the simulation using Direct optimization.

The optimal time of regulation obtained with both GP and LP on the inner optimization was treg = 9. As shown mathematically in the methods section, the optimal control function is either 0 or 1, provided that the dynamics depends linearly on the control and the cost to optimize has only a final term.

In this case the dependency of the Hamiltonian function on u is linear (as given by (8) below). For the prototype considered, <a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M3','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M3">View MathML</a>. Figure 5 shows a plot of ϕ(λ(t), x(t)) obtained with a near-optimal control function u(t). As expected, ϕ(λ(t), x(t)) is negative for values smaller than treg, leading to an optimal control u(t) = 0 and becomes positive for values larger than treg, leading to u(t) = 1. Thus, the optimal control is obtained on the extremes of the allowed interval and furthermore, one single switch (from 0 to 1) is enough to achieve the optimal control. It should be remarked that, since ϕ(λ(t), x(t)) is close to zero around t = treg, in practice, when using a numeric method there can be some jittering in the transition of the manipulated variable.

thumbnailFigure 5. Plot of ϕ(λ(t), x(t)) (9). This function changes sign at the optimal instant of control switching Treg.

Conclusions

For a class of networks in which the yield of the product that favors cell population growth (the "natural" product) competes with the desired product yield, with the manipulated variable affecting linearly the fluxes, it has been shown that the optimal control assumes only extreme values. While the implementation of this optimal control poses no challenge on in silico metabolic networks, on real metabolic networks complex bioengineering skills are required. Gene knockout manipulations do not adequate to this kind of control problem due to the long time scale associated with these techniques. The manipulation of specific enzyme levels, controlled by modulating the expression of the corresponding genes using promoter systems and inducers, is a possible solution to this kind of control problem [14].

The use of a bi-level optimization strategy, that maximizes the natural product in the inner level by manipulating the fluxes, leads to a good approximation to the optimal solution, with the advantage of not requiring the full knowledge of the network model. Real networks are extremely complex and exhibit relations between metabolites that are not always expected or fully understood. This gives emphasis to the need of good in silico models and also to the determination of the exact branches to be modified when optimizing a network. Although the example network used is very simple, it has proved to be useful to test the optimization strategies but a more complex network should be used to confirm that the strategy can be scaled to a larger network.

Methods

The optimization problem

The optimization problem consists in relation to a nonlinear state model of a metabolic network like (2), in selecting u(t) for t ∈ [0, tfinal] such that:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M4','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M4">View MathML</a>

(3)

is maximized under the constraint that u(t) ∈ [0, 1], ∇t ≥ 0.

The solution of the optimization problem is obtained using different approaches. Before accomplishing this task, Pontryagin's Maximum Principle is invoked to establish a particular form of the optimal control function for the class of problems at hand.

Optimization

The control function is now optimized in order to obtain a maximum yield of biomass at the end of the run-time (tfinal). Three different methods, assuming various levels of information about the network, are considered in order to attain this goal.

The first method, direct optimization, is used as a benchmark to compare the results of the other methods. The last two methods rely on a Bi-level optimization and illustrate a possible solution to the optimization problem when the information about the network is incomplete.

Direct optimization

The first method, Direct Optimization, is used mainly as a benchmark, to compare the results of the following methods. Since it is assumed that all the information about the network kinetics is known, the system of differential equations, described in (2) is used. Given a function that receives treg as input and outputs the final yield of x5, this optimization tests all the possible values of treg and returns the function J(treg) = x5(tfinal). The value of treg that results on a maximum product yield is then determined by solving a simple optimization problem.

The optimization was tested with two MATLAB functions: fmincon, from the standard optimization toolbox, that finds the minimum of a constrained nonlinear multi variable function, and simannealingSB from Systems Biology Toolbox [17] that performs simulated annealing optimization.

Bi-Level Optimization algorithm structure

The Bi-Level optimization algorithm was structured so as to accommodate missing information on the network kinetics. The boxed metabolites and fluxes from Figure 1 are a part of the network that might not be fully described in terms of kinetics. In this approach the missing kinetic information is replaced by stoichiometric data and flux balance analysis is used to obtain the proper flux distribution. Then, an inner optimization determines the fluxes during the batch time. The first step of the inner optimization process is to define the initial conditions of the input x1 and outputs x3, x5. A valid distribution for the fluxes v1, v2, v3 and v4 is then obtained.

After obtaining the flux distribution, new values for the input/outputs can be calculated by integrating their expressions in the considered time interval. During this time interval the function u(t) and the values of v1, v2, v3 and v4 are kept constant. This process is repeated along a time grid from t = 0 to t = tfinal. The time interval for the integration was defined to be 1 second. The inner optimization process allows us to obtain the product yield, x5(tfinal), given a certain u(t), taking into account a valid approximation of the network dynamics over the simulation time. The detailed fluxogram of the inner-optimization is shown in Figure 6.

thumbnailFigure 6. Inner-Optimization algorithm. Block diagram of the Inner-Optimization algorithm.

The bi-level optimization algorithm can be represented schematically as in Figure 7.

thumbnailFigure 7. Bi-Level optimization formulation. Structure of the Bi-Level optimization.

Inner-optimization using Geometric Programming

On the first implementation of the Bi-Level optimization algorithm the dynamics of the boxed metabolites from Figure 1 are used but, following the algorithm structure, steady-state is assumed. Thus, <a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M5','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M5">View MathML</a> and <a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M6">View MathML</a> from (2) become:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M7','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M7">View MathML</a>

(4)

In this algorithm implementation, the inner optimization problem determines the profile of the metabolites, instead of fluxes, due to the nature of the equations. The metabolite concentrations are calculated at the beginning of each time interval, solving a Geometric Programming problem, and used with (2) to integrate the values of x1, x3 and x5 during that interval.

Inner-optimization using Linear Programming

On the second implementation it is assumed that only stoichiometric information is available for the reactions inside the box of Figure 1. Assuming steady state, the equations of <a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M5','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M5">View MathML</a> and <a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M6','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M6">View MathML</a> become:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M8','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M8">View MathML</a>

(5)

Figure 1 shows a regulation from x3 (Biomass) to flux v3. Since stoichiometric models do not account for feedbacks, the effect of x3 can not be integrated directly in the equations. Assuming that the forward feedback leads to an over expression of flux v3, then a valid solution is to model the forward feedback as a variation of the constraints applied to flux v3. Setting flux v2 (precursor of Biomass formation) as the objective function, the FBA problem is solved with the previous equations to obtain a valid and unique flux distribution at each time step. In the context of the inner-optimization, these fluxes are then used to calculate the values of the input/outputs.

Pontryagin's Maximum Principle

A general tool to solve dynamic optimization problems such as the one considered here is Pontryagin's Maximum Principle PMP [13].

Let x be the state of a dynamical system with control inputs u such that:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M9','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M9">View MathML</a>

(6)

where F : ℜn × ℜ → ℜn, U is the set of valid control inputs and T is the final time, assumed here to be constant.

The control function u must be chosen in order to maximize the functional J, defined by:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M10','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M10">View MathML</a>

(7)

Where ψ is the cost associated with the terminal condition of the system and L the Lagrangian.

According to PMP, a necessary condition for the optimal control is that, along the optimal solution for the state x, co-state λ and control u the Hamiltonian H is maximum with respect to u [13].

Comparing the cost (3) with the generalized case (7) and taking into consideration that, in the case at hand, given by (1), the dynamics vector field depends linearly on the control, it follows that

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M11','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M11">View MathML</a>

(8)

where ϕ(λ, x) is a function that does not explicitly depend on u. Since, according to (8), the Hamiltonian is linear in u, its maximum is obtained at the boundary of the admissible control set U.

Hence, this shows that, for the metabolic network (1), the control that optimizes (3) only assumes the values u = 0 or u = 1.

In the case at hand, we are interested in maximizing the final value of the state x5. Since the Lagrangian (L) is zero, (7) becomes J(u) = ψ(xi(T)). Thus, the functional J to be maximized is:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M12','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M12">View MathML</a>

(9)

as shown before in (3).

Taking into account that, L = 0 the adjoint equations are reduced to

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M13','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M13">View MathML</a>

(10)

The network is described by the system of ordinary differential equations in (2), if we consider the state model in the form of f(x, u), where u is the control function, calculating fx(x, u) is straightforward.

Thus

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M14','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M14">View MathML</a>

(11)

The terminal conditions for the co-states λ are

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M15','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M15">View MathML</a>

(12)

Since L = 0 the Hamiltonian is given by λT f(x).

Substituting in the expression and after some manipulation, becomes:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M16','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M16">View MathML</a>

(13)

that depends linearly on the control function u, as expected.

The derivative of the Hamiltonian in order to the control function is:

<a onClick="popup('http://www.biomedcentral.com/1752-0509/4/113/mathml/M17','MathML',630,470);return false;" target="_blank" href="http://www.biomedcentral.com/1752-0509/4/113/mathml/M17">View MathML</a>

(14)

This expression is the one that determines the number of switches between 0 and 1 of the control variable.

Authors' contributions

AD helped in the research of the state of the art, implemented the software and drafted the manuscript. SV was involved in the creation and modeling of the prototype network, formulation of the optimization processes and helped to draft the manuscript. JML provided the mathematical basis for the optimization and control techniques and helped to draft the manuscript. All authors read and approved the final manuscript.

Acknowledgements

The work reported in this paper was performed within the project DynaMo - Dynamical modeling, control and optimization of metabolic networks, supported by FCT (Portugal) under contract PTDC/EEA-ACR/69530/2006.

References

  1. Nielsen J: Metabolic engineering.

    Appl Microbiol Biotechnol 2001, 55(3):263-83. PubMed Abstract | Publisher Full Text OpenURL

  2. Chu WB, Constantinides A: Modeling, optimization, and computer control of the cephalosporin C fermentation process.

    Biotechnol Bioeng 1988, 32(3):277-88.

    [Chu, W B Constantinides, A United States Biotechnology and bioengineering Biotechnol Bioeng. 1988 Jul 20;32(3):277-88.]

    PubMed Abstract | Publisher Full Text OpenURL

  3. Rocha I, Maia P, Evangelista P, Vilaca P, Soares S, Pinto JP, Nielsen J, Patil KR, Ferreira EC, Rocha M: OptFlux: an open-source software platform for in silico metabolic engineering.

    BMC Syst Biol 4:45. PubMed Abstract | BioMed Central Full Text | PubMed Central Full Text OpenURL

  4. Edwards JS, Covert M, Palsson B: Metabolic modelling of microbes: the flux-balance approach.

    Environ Microbiol 2002, 4(3):133-40. PubMed Abstract | Publisher Full Text OpenURL

  5. Varma A, Palsson BO: Stoichiometric flux balance models quantitatively predict growth and metabolic by-product secretion in wild-type Escherichia coli W3110.

    Appl Environ Microbiol 1994, 60(10):3724-31. PubMed Abstract | PubMed Central Full Text OpenURL

  6. Schilling CH, Edwards JS, Letscher D, Palsson BO: Combining pathway analysis with flux balance analysis for the comprehensive study of metabolic systems.

    Biotechnol Bioeng 2000, 71(4):286-306. PubMed Abstract | Publisher Full Text OpenURL

  7. Llaneras F, Pico J: Stoichiometric modelling of cell metabolism.

    J Biosci Bioeng 2008, 105:1-11.

    [Llaneras, Francisco Pico, Jesus Research Support, NonU.S. Gov't Review Japan Journal of bioscience and bioengineering J Biosci Bioeng. 2008 Jan;105(1):1-11.]

    PubMed Abstract | Publisher Full Text OpenURL

  8. Burgard AP, Pharkya P, Maranas CD: Optknock: a bilevel programming framework for identifying gene knockout strategies for microbial strain optimization.

    Biotechnol Bioeng 2003, 84(6):647-57. PubMed Abstract | Publisher Full Text OpenURL

  9. Rocha M, Maia P, Mendes R, Pinto JP, Ferreira EC, Nielsen J, Patil KR, Rocha I: Natural computation meta-heuristics for the in silico optimization of microbial strains.

    BMC Bioinformatics 2008, 9:499. PubMed Abstract | BioMed Central Full Text | PubMed Central Full Text OpenURL

  10. Koh K, Kim S, Mutapic A, Boyd S: GGPLAB: A simple Matlab toolbox for Geometric Programming.

    2006.

  11. Boyd SP, Vandenberghe L: Convex Optimization. Cambridge University Press; 2004.

  12. Marin-Sanguino A, Voit EO, Gonzalez-Alcon C, Torres NV: Optimization of biotechnological systems through geometric programming.

    Theor Biol Med Model 2007, 4:38. PubMed Abstract | BioMed Central Full Text | PubMed Central Full Text OpenURL

  13. Lewis F, Syrmos V: Optimal Control. 2nd edition. John Wiley & Sons Inc. New York; 1995. OpenURL

  14. Kapil G, Gadkar RM III, F JD: Optimal genetic manipulations in batch bioreactor control.

    Automatica 2006, 42(10):1723-1733. Publisher Full Text OpenURL

  15. Gaspar P, Neves AR, Ramos A, Gasson MJ, Shearman CA, Santos H: Engineering Lactococcus lactis for Production of Mannitol: High Yields from Food-Grade Strains Deficient in Lactate Dehydrogenase and the Mannitol Transport System.

    Appl Environ Microbiol 70 PubMed Abstract | PubMed Central Full Text OpenURL

  16. Sorribas A, Hernandez-Bermejo B, Vilaprinyo E, Alves R: Cooperativity and saturation in biochemical networks: a saturable formalism using Taylor series approximations.

    Biotechnol Bioeng 2007, 97(5):1259-77. PubMed Abstract | Publisher Full Text OpenURL

  17. Schmidt H, Jirstrand M: Systems Biology Toolbox for MATLAB: a computational platform for research in systems biology.

    Bioinformatics 2006, 22(4):514-515. PubMed Abstract | Publisher Full Text OpenURL