Team:Edinburgh/Model Comparison

From 2011.igem.org

(Difference between revisions)
(Flexibility)
(Ability to reach steady state)
 
(28 intermediate revisions not shown)
Line 7: Line 7:
<p class="h1">Model Comparison</p>
<p class="h1">Model Comparison</p>
-
===The approaches ===
+
==The approaches ==
-
*'''MATLAB''' - Within the reactor tasked with degrading cellulose into glucose in the biorefinery, temperature, enzyme concentration, substrate reactivity as well as xylose, cellobiose and glucose inhibition all govern the amount of glucose product. Deterministic modelling using a set of ordinary differential equations highlights the essential kinetic relationship among the enzymes, exo/endo-glucanase and &beta;-glucosidase. By solving these governing equations using the numerical tool MATLAB the level of degradation is qualitatively predicted.
+
*'''MATLAB''' - Within the reactor tasked with degrading cellulose into glucose in the biorefinery, temperature, enzyme concentration, substrate reactivity as well as xylose, cellobiose and glucose inhibition all govern the amount of glucose product. Deterministic modelling using a set of <span class="hardword" id="ode">ordinary differential equations</span> highlights the essential kinetic relationship among the enzymes, exo/endo-glucanase and &beta;-glucosidase. By solving these governing equations using the numerical tool MATLAB the level of degradation of cellulose is qualitatively predicted.
*'''Kappa''' - As an alternative, <span class="hardword" id="stochastic">stochastic</span> models were created using the Kappa language. The system is defined in terms of many discrete agents and rules of their interaction. The Kappa simulator then uses probabilistic equations to simulate the evolution of the system, incorporating an indeterministic element into the system.
*'''Kappa''' - As an alternative, <span class="hardword" id="stochastic">stochastic</span> models were created using the Kappa language. The system is defined in terms of many discrete agents and rules of their interaction. The Kappa simulator then uses probabilistic equations to simulate the evolution of the system, incorporating an indeterministic element into the system.
-
*'''Spatial kappa''' - Because of problems with the Kappa lang\uage, we decided to use a spatial extension developed by the [https://2010.igem.org/Team:Edinburgh Edinburgh 2010] iGEM team. This adds extra functionality to the language by introducing the concept of space.
+
*'''Spatial Kappa''' - Because of problems with the Kappa language, we decided to use a spatial extension developed by the [https://2010.igem.org/Team:Edinburgh Edinburgh 2010] iGEM team. This adds extra functionality to the language by introducing the concept of '''space'''.
*'''C model''' - Intended more as a demonstration of synergy than an accurate model of the world, the cellulose is represented using a simple two-dimensional grid, on which enzymes move using <span class="hardword" id="brownian">Brownian motion</span>. This is an ''ad hoc'' model made in a general programming language. It was inspired by cellular-automata systems, though cannot really be considered one.
*'''C model''' - Intended more as a demonstration of synergy than an accurate model of the world, the cellulose is represented using a simple two-dimensional grid, on which enzymes move using <span class="hardword" id="brownian">Brownian motion</span>. This is an ''ad hoc'' model made in a general programming language. It was inspired by cellular-automata systems, though cannot really be considered one.
 +
 +
==Comparison criteria==
 +
We chose the following criteria which are desirable in a model. They also show the main differences and similarities among our models, however the list is non-exhaustive.
=== Flexibility ===
=== Flexibility ===
Line 22: Line 25:
*'''Temperature'''
*'''Temperature'''
-
** MATLAB - Very flexible as it incorporates the Arrhenius law which models the temperature-dependent reaction rate constant.  
+
** MATLAB - Very flexible as it incorporates the Arrhenius law which models the temperature-dependent reaction rate constant. You can input a temperature into an interactive prompt.
-
** Kappa - Flexible. There is no empirical relationship incorporated in the model, however by changing diffusion rates  between compartments one could (very imprecisely) simulate changes in temperature. There is a possibility that more precise results could be achieved using the Stokes-Einstein equation:<br/>[[File:Edinburgh-Stokes-Einstein.png|thumb|center|620px|T<sub>1</sub> and T<sub>2</sub> denote temperatures 1 and 2, respectively<br />
+
** Spatial Kappa - Flexible. There is no empirical relationship incorporated in the model, however by changing diffusion rates  between compartments one could (very imprecisely) simulate changes in temperature. There is a possibility that more precise results could be achieved using the Stokes-Einstein equation:<br/>[[File:Edinburgh-Stokes-Einstein.png|thumb|center|620px|T<sub>1</sub> and T<sub>2</sub> denote temperatures 1 and 2, respectively<br />
D is the diffusion coefficient (cm<sup>2</sup>/s)<br />
D is the diffusion coefficient (cm<sup>2</sup>/s)<br />
T is the absolute temperature (&deg;K),<br />
T is the absolute temperature (&deg;K),<br />
Line 31: Line 34:
*'''Enzyme concentration'''
*'''Enzyme concentration'''
-
** MATLAB - Can easily be changed.
+
** MATLAB - Can easily be changed by inputting a value (in the range of 0-1 g/kg for each enzyme) into an interactive prompt. The flexibility is beneficial especially when investigating optimum operating conditions in the biorefinery.
-
** Kappa -
+
** Kappa and Spatial Kappa - It is possible to change the number of enzyme agents by editing a separate file, which affects the ''relative'' concentration of enzymes (say, 3 times more of enzyme A than B). However, it would be non-trivial to translate that into an ''absolute'' value (e.g. 0.5 g of enzyme per 1kg of solution).
-
** C - Can easily be changed.
+
** C - Similarly to Kappa, this can easily be changed in relative terms.
*'''Strength of inhibition'''
*'''Strength of inhibition'''
-
** MATLAB - incorporates inhibition of enzymes based on glucose and cellobiose concentrations; the strength can be changed.
+
** MATLAB - Incorporates inhibition of enzymes based on glucose and cellobiose concentrations; the strength can be changed. There is also scope for xylose inhibition, but it is set to zero in this model.
-
** Kappa -
+
** Kappa and Spatial Kappa - The inhibition rates can be easily changed by editing a file with parameters.
-
** C - incorporates inhibition of exoglucanase by individual cellobiose molecules based on spatial location. Could be extended to include inhibition by glucose; and also to have free glucose taken out of the system after it is made.
+
** C - Incorporates inhibition of exoglucanase by individual cellobiose molecules based on spatial location. Could be extended to include inhibition by glucose; and also to have free glucose taken out of the system after it is made.
 +
 
 +
*'''Amount of raw material input'''
 +
** MATLAB - An interactive prompt asks the user for an initial amount of cellulose.
 +
** Kappa and Spatial Kappa - The initial amount of cellulose can be modified by editing a file. Also, in Spatial Kappa [[Team:Edinburgh/Cellulases_(Kappa_model)#Additional_cellulose | we ran experiments]] with adding more cellulose during the process.
 +
** C - The amount can be passed as a command-line argument.
=== Computational cost ===
=== Computational cost ===
-
The MATLAB and C models do their work in relatively short periods of time. By contrast, the Spatial Kappa model takes a significant length of time.
+
The MATLAB, C and Kappa models do their work in relatively short periods of time.
 +
 
 +
In contrast, the Spatial Kappa model takes a significant amount of time to run (about 30 minutes, depending on the settings of parameters). This is because when rules are translated from Spatial Kappa to the simulator, the complexity of the system increases. For a system with ''n'' compartments in ''d'' dimensions, one rule would need to be translated into ''n &times; d''&nbsp; rules, to take into account possible spatial locations of agents. That increases the time taken to run a simulation by a factor of ''n &times; d''. Fortunately, we had access to a computing cluster (ECDF, [http://www.ecdf.ed.ac.uk/ www.ecdf.ed.ac.uk]), where we could run 1,000 simulations in about 5 hours.
=== Representing reality ===
=== Representing reality ===
-
The MATLAB model is based on the <span class="hardword" id="empirical">empirical</span> literature, and so should be the best representation of reality.
+
The MATLAB model is based on the <span class="hardword" id="empirical">empirical</span> literature, and so should be the best representation of reality. Units of substrate is grams per kilogram (g/kg) and time is in hours. The kinetic rates are based on experimental data which gives the model some validity, however only within certain time limits.  
However, since literature was not available for the synergistic system (with closely linked enzymes) we are considering, we had nothing to base a MATLAB model of synergy on. So, our only MATLAB model is the non-synergistic system.
However, since literature was not available for the synergistic system (with closely linked enzymes) we are considering, we had nothing to base a MATLAB model of synergy on. So, our only MATLAB model is the non-synergistic system.
-
The C and Spatial Kappa models were capable of comparing a synergistic and a non-synergistic system, but in both cases the model is highly abstract. The C model uses a two dimensional grid, while the Spatial Kappa model uses 9 compartments, with molecules travelling between them.
+
The C and Spatial Kappa models were capable of comparing a synergistic and a non-synergistic system, but in both cases the model is highly abstract and based only on our understanding of the system due to unavailability of empirical data for dynamics of cellulose, cellobiose and glucose.
-
 
+
-
===Ability to reach steady state===
+
-
We found that the equations used in MATLAB for deterministic modelling only gave sensible answers when the model parameters remained within certain limits. Outside those limits, results could be physically impossible; e.g. producing negative amounts of cellobiose and so breaking the law of conservation of mass. The deterministic model always had reactants available, i.e. cellulose able for every reaction, ensuing it would never reach zero. A 'stress test' was carried out simulating the model over one hundred thousand hours confirming this. Therefore, within the limits of differential equation based modelling, it is unlikely to reach a mathematical steady state. An engineer considers the system to be in steady state when 99% of the initial amount of cellulose has been degraded, which was found to occur after 8000 hours. However, the 'stress test' revealed ([https://2011.igem.org/Team:Edinburgh/Cellulases_(MATLAB_model) Figure 3]) that neither the mathematical nor engineering concept of steady state will be reached for cellobiose and glucose in the MATLAB model.
+
== Conclusions ==
 +
Although it is hard to compare the different approaches we took and even harder to choose and recommend the best one, our modelling gave us some important insights.
-
By contrast, in the C model and Kappa model, cellulose, glucose and cellobiose all reach steady state within a finite period of time. Analysing steady state is important to find out whether a system accumulates excess mass or energy over the time period of interest. Looking at the MATLAB model one asks, is the system inherently thermodynamically unstable or is there a flaw with the model?
+
To begin with, we successfully modelled synergy in C and Spatial Kappa, so these models tell us that '''synergy is a viable option'''. In case of MATLAB, there is still potential to improve the model to show synergy (by adding more ODEs), whereas it would be at least very cumbersome to do the same in plain Kappa.
 +
The '''MATLAB model should be the one most closely representing the real-world system'''. That is due to the fact that the model is built using experimentally adjusted values of constants and informed with known reaction equations. However, given sufficient data, it is '''also possible to adjust the Kappa / Spatial Kappa models''' to use different kinetic rates and concentrations of enzymes. It would require major modifications to achieve the same in the C model.
 +
The stochastic route taken by the C and (Spatial) Kappa models means that '''multiple simulations''' need to be run and averaged in order to get a robust estimate of cellulose dynamics. Whereas this takes a relatively short time for the '''C and Kappa models''', '''Spatial Kappa''' considerably increases the amount of time needed to do that.
 +
We would say that, as a general conclusion, '''all of our approaches have their strong points''' and are suited to different tasks - the stochastic approaches show us '''how''' our system works, whereas the deterministic approach gives us some '''real numbers''' against which to test the system.
</div> <!-- /main_body-->
</div> <!-- /main_body-->
<html></div> <!-- /mids --></html>
<html></div> <!-- /mids --></html>

Latest revision as of 20:02, 28 October 2011

Model Comparison

Contents

The approaches

  • MATLAB - Within the reactor tasked with degrading cellulose into glucose in the biorefinery, temperature, enzyme concentration, substrate reactivity as well as xylose, cellobiose and glucose inhibition all govern the amount of glucose product. Deterministic modelling using a set of ordinary differential equations highlights the essential kinetic relationship among the enzymes, exo/endo-glucanase and β-glucosidase. By solving these governing equations using the numerical tool MATLAB the level of degradation of cellulose is qualitatively predicted.
  • Kappa - As an alternative, stochastic models were created using the Kappa language. The system is defined in terms of many discrete agents and rules of their interaction. The Kappa simulator then uses probabilistic equations to simulate the evolution of the system, incorporating an indeterministic element into the system.
  • Spatial Kappa - Because of problems with the Kappa language, we decided to use a spatial extension developed by the Edinburgh 2010 iGEM team. This adds extra functionality to the language by introducing the concept of space.
  • C model - Intended more as a demonstration of synergy than an accurate model of the world, the cellulose is represented using a simple two-dimensional grid, on which enzymes move using Brownian motion. This is an ad hoc model made in a general programming language. It was inspired by cellular-automata systems, though cannot really be considered one.

Comparison criteria

We chose the following criteria which are desirable in a model. They also show the main differences and similarities among our models, however the list is non-exhaustive.

Flexibility

We define flexibility as the capacity of a model to adopt different initial conditions. For example temperature, mass of substrate, strength of inhibition, and concentration of each enzyme.

  • Temperature
    • MATLAB - Very flexible as it incorporates the Arrhenius law which models the temperature-dependent reaction rate constant. You can input a temperature into an interactive prompt.
    • Spatial Kappa - Flexible. There is no empirical relationship incorporated in the model, however by changing diffusion rates between compartments one could (very imprecisely) simulate changes in temperature. There is a possibility that more precise results could be achieved using the Stokes-Einstein equation:
      T1 and T2 denote temperatures 1 and 2, respectively
      D is the diffusion coefficient (cm2/s)
      T is the absolute temperature (°K),
      μ is the dynamic viscosity of the solvent (Pa·s)

      (After [http://en.wikipedia.org/wiki/Mass_diffusivity#Temperature_dependence_of_the_diffusion_coefficient Wikipedia])
    • C - Temperature does not exist in the model. It would however be possible to extend it so that a temperature parameter influenced things like enzyme movement speed and probability to cut bonds.
  • Enzyme concentration
    • MATLAB - Can easily be changed by inputting a value (in the range of 0-1 g/kg for each enzyme) into an interactive prompt. The flexibility is beneficial especially when investigating optimum operating conditions in the biorefinery.
    • Kappa and Spatial Kappa - It is possible to change the number of enzyme agents by editing a separate file, which affects the relative concentration of enzymes (say, 3 times more of enzyme A than B). However, it would be non-trivial to translate that into an absolute value (e.g. 0.5 g of enzyme per 1kg of solution).
    • C - Similarly to Kappa, this can easily be changed in relative terms.
  • Strength of inhibition
    • MATLAB - Incorporates inhibition of enzymes based on glucose and cellobiose concentrations; the strength can be changed. There is also scope for xylose inhibition, but it is set to zero in this model.
    • Kappa and Spatial Kappa - The inhibition rates can be easily changed by editing a file with parameters.
    • C - Incorporates inhibition of exoglucanase by individual cellobiose molecules based on spatial location. Could be extended to include inhibition by glucose; and also to have free glucose taken out of the system after it is made.
  • Amount of raw material input
    • MATLAB - An interactive prompt asks the user for an initial amount of cellulose.
    • Kappa and Spatial Kappa - The initial amount of cellulose can be modified by editing a file. Also, in Spatial Kappa we ran experiments with adding more cellulose during the process.
    • C - The amount can be passed as a command-line argument.

Computational cost

The MATLAB, C and Kappa models do their work in relatively short periods of time.

In contrast, the Spatial Kappa model takes a significant amount of time to run (about 30 minutes, depending on the settings of parameters). This is because when rules are translated from Spatial Kappa to the simulator, the complexity of the system increases. For a system with n compartments in d dimensions, one rule would need to be translated into n × d  rules, to take into account possible spatial locations of agents. That increases the time taken to run a simulation by a factor of n × d. Fortunately, we had access to a computing cluster (ECDF, [http://www.ecdf.ed.ac.uk/ www.ecdf.ed.ac.uk]), where we could run 1,000 simulations in about 5 hours.

Representing reality

The MATLAB model is based on the empirical literature, and so should be the best representation of reality. Units of substrate is grams per kilogram (g/kg) and time is in hours. The kinetic rates are based on experimental data which gives the model some validity, however only within certain time limits.

However, since literature was not available for the synergistic system (with closely linked enzymes) we are considering, we had nothing to base a MATLAB model of synergy on. So, our only MATLAB model is the non-synergistic system.

The C and Spatial Kappa models were capable of comparing a synergistic and a non-synergistic system, but in both cases the model is highly abstract and based only on our understanding of the system due to unavailability of empirical data for dynamics of cellulose, cellobiose and glucose.

Conclusions

Although it is hard to compare the different approaches we took and even harder to choose and recommend the best one, our modelling gave us some important insights.

To begin with, we successfully modelled synergy in C and Spatial Kappa, so these models tell us that synergy is a viable option. In case of MATLAB, there is still potential to improve the model to show synergy (by adding more ODEs), whereas it would be at least very cumbersome to do the same in plain Kappa.

The MATLAB model should be the one most closely representing the real-world system. That is due to the fact that the model is built using experimentally adjusted values of constants and informed with known reaction equations. However, given sufficient data, it is also possible to adjust the Kappa / Spatial Kappa models to use different kinetic rates and concentrations of enzymes. It would require major modifications to achieve the same in the C model.

The stochastic route taken by the C and (Spatial) Kappa models means that multiple simulations need to be run and averaged in order to get a robust estimate of cellulose dynamics. Whereas this takes a relatively short time for the C and Kappa models, Spatial Kappa considerably increases the amount of time needed to do that.

We would say that, as a general conclusion, all of our approaches have their strong points and are suited to different tasks - the stochastic approaches show us how our system works, whereas the deterministic approach gives us some real numbers against which to test the system.