Team:TU Munich/model/guidedata

From 2011.igem.org

Revision as of 09:47, 21 September 2011 by FabianFroehlich (Talk | contribs)
document.write("
<a id='magicparlabel-12410' ></a>
Table of Contents
<a href='#magicparlabel-26987' class='tocentry'>1 Introduction:</a> <a href='#magicparlabel-26987' class='tocarrow'>></a>
<a href='#magicparlabel-15424' class='tocentry'>2 Choice of Model</a> <a href='#magicparlabel-15424' class='tocarrow'>></a>
<a href='#magicparlabel-12414' class='tocentry'>3 Mass Action Law</a> <a href='#magicparlabel-12414' class='tocarrow'>></a>
<a href='#magicparlabel-16601' class='tocentry'>4 Degradation</a> <a href='#magicparlabel-16601' class='tocarrow'>></a>
<a href='#magicparlabel-12416' class='tocentry'>5 Transcription</a> <a href='#magicparlabel-12416' class='tocarrow'>></a>
<a href='#magicparlabel-12417' class='tocentry'>6 Translation</a> <a href='#magicparlabel-12417' class='tocarrow'>></a>
<a href='#magicparlabel-26119' class='tocentry'>7 Protein Activity</a> <a href='#magicparlabel-26119' class='tocarrow'>></a>
<a href='#magicparlabel-14055' class='tocentry'>8 Initial Data</a> <a href='#magicparlabel-14055' class='tocarrow'>></a>
<a href='#magicparlabel-13227' class='tocentry'>9 Simplification</a> <a href='#magicparlabel-13227' class='tocarrow'>></a>
<a href='#magicparlabel-12886' class='tocentry'>10 MATLAB Implementation</a> <a href='#magicparlabel-12886' class='tocarrow'>></a>
<a id='magicparlabel-28941' ></a>
</a>

Contents

<a id='magicparlabel-26987' ></a>Introduction:

<a id='magicparlabel-14995' ></a>In the process of developing our model we had certain difficulties to find reference or guidelines to model genetic networks in prokariotic systems. The only book that covered differential equations for gene expression in our library was [<a href='#r1'>1</a>]. It covers only very rudimentary basics but if you have no prior experience in the topic it will certainly be helpful. To ease the modeling for other teams, we put together a guide that explains how we developed the model for our system. The guide will not give minute details on what the biological/chemical/physical backgrounds are, for this we linked some of the titles to the corresponding wikipedia page that explains the processes in detail.

<a id='magicparlabel-15424' ></a>Choice of Model

<a id='magicparlabel-12894' ></a>The first step in modeling is always to choose wether you want to model your system in a stochastic or deterministic and time/state-discrete or time/state-continuous manner. The most convenient way to select between a discrete and continuous model is to look at the behavior of the variables in the real world, since it makes no sense to model single molecule interactions with quantities that include fractions of molecules. A model where the state variable is discrete in most cases limits you to a stochastical model. If you pick a continuous model the choice to model the system with a deterministic or stochastic ansatz is highly dependent on what characteristics of the system you want to analyze in your model. For quantitative data, like what amount of Protein XY is produced, a deterministic model fits your needs. For qualitative data, like the variance in the production of Protein XY. The decision between a stochastic and deterministic models is sometimes also dependent on which parameters for the system are available or rather attainable.
<a id='magicparlabel-12412' ></a>The next step is to pick a level of detail. Here your decision should be based on what level of detail is feasible and what level of detail is needed and you should always choose the lower level of those two.The feasibility again depends on the available parameters and how well the considered system is known. In your implementation the the level of detail should be reflected by the tolerances that you pass to your solver and the amount of simplifications that you apply to your equations.
<a id='magicparlabel-12413' ></a>In biological systems negative concentrations or populations do not make any sense. This should reflected by your equations and if you experience any negative data, you should probably check wether there is something wrong with your modeling.
<a id='magicparlabel-13255' ></a>The following sections will cover most of the basics that are needed for the development of a deterministic continuous model.

<a id='magicparlabel-12414' ></a><a href='https://secure.wikimedia.org/wikipedia/en/wiki/Law_of_mass_action' target='_blank'>Mass Action Law</a>

<a id='magicparlabel-14972' ></a>The fundamental mathematical model for chemical reactions is the Mass Action Law, It provides a mathematical model for reactions of the type
<a id='magicparlabel-12420' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow><mi> α </mi><mi>A</mi><mo>+</mo><mi> β </mi><mi>B</mi><mover accent='false'><munder accent='false'><mo> &lrhar; </mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub></munder> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>-</mo> </mrow> </msub> </mrow> </msub></mover><mi> γ </mi><mi>C</mi><mo>+</mo><mi> δ </mi><mi>D</mi> </mrow> </mrow></math>
<a id='magicparlabel-12415' ></a>The resulting differential equations are
<a id='magicparlabel-12437' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mtable> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mi> α </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>C</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> γ </mi> </mrow> </msup><mo>[</mo><mi>D</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> δ </mi> </mrow> </msup><mo>-</mo><mi> α </mi><mi> γ </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>-</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>B</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mi> β </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>C</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> γ </mi> </mrow> </msup><mo>[</mo><mi>D</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> δ </mi> </mrow> </msup><mo>-</mo><mi> β </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>-</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>C</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mi> γ </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>-</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup><mo>-</mo><mi> γ </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>C</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> γ </mi> </mrow> </msup><mo>[</mo><mi>D</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> δ </mi> </mrow> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>D</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mi> δ </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>-</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup><mo>-</mo><mi> δ </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>C</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> γ </mi> </mrow> </msup><mo>[</mo><mi>D</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> δ </mi> </mrow> </msup> </mrow> </mtd> </mtr> </mtable> </mrow></math>
<a id='magicparlabel-14954' ></a>Where the [] brackets denote that the concentration is used
<a id='magicparlabel-13210' ></a>This method can be used for arbitrarily complex reactions that only involve one mechanistic step. In most cases the mass action law is used to model the boning of two elements
<a id='magicparlabel-14090' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow><mi> α </mi><mi>A</mi><mo>+</mo><mi> β </mi><mi>B</mi><mover accent='false'><mo> → </mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub></mover><mi> γ </mi><mi>A</mi><mi>B</mi> </mrow> </mrow></math>
<a id='magicparlabel-16640' ></a>which is modeled as described above
<a id='magicparlabel-16641' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mtable> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mo>-</mo><mi> α </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>B</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mo>-</mo><mi> β </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>A</mi><mi>B</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover> </mtd> <mtd><mo>=</mo> </mtd> <mtd> <mrow><mi> γ </mi> <msub> <mrow><mi>v</mi> </mrow> <mrow> <msub> <mrow><mi>r</mi> </mrow> <mrow><mo>+</mo> </mrow> </msub> </mrow> </msub><mo>[</mo><mi>A</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> α </mi> </mrow> </msup><mo>[</mo><mi>B</mi> <msup> <mrow><mo>]</mo> </mrow> <mrow><mi> β </mi> </mrow> </msup> </mrow> </mtd> </mtr> </mtable> </mrow></math>
<a id='magicparlabel-17019' ></a>Notice that in this case we did not include the backwards reaction. If the compound AB can dissociate in its products the backwards reaction of course should be included.

<a id='magicparlabel-16601' ></a><a href='https://secure.wikimedia.org/wikipedia/en/wiki/Biodegradation' target='_blank'>Degradation</a>

<a id='magicparlabel-17078' ></a>A compound does not always dissociate into its process and there are certain chemical processes that rob RNA and Proteins of their initial functionality. To take account for those degradation processes where the substance X decays, such that the decay-products are of no further importance to the system, we impose a degradation term on all degradable substances:
<a id='magicparlabel-17514' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>X</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo> <mi>… </mi><mo>-</mo><mi>k</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>X</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> </mrow></math>
<a id='magicparlabel-32497' ></a>where <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow><mi>k</mi> </mrow></math> is typically the the inverse of the half-value period of the degradation process. Sometimes this k also takes account of cell division, then the inverse of the half-value period of the cell cycle is added.

<a id='magicparlabel-12416' ></a><a href='https://secure.wikimedia.org/wikipedia/en/wiki/Transcription_%28genetics%29' target='_blank'>Transcription</a>

<a id='magicparlabel-23210' ></a>Regulation of gene transcription is the essential to the behavior of genetic networks so special attention should be given to this part of the modeling. The differential equation for the transcription consists of up to three terms. First an optional term for the constituent transcription of mRNA
<a id='magicparlabel-32473' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>m</mi><mi>R</mi><mi>N</mi><mi>A</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>l</mi> </mrow> </msub><mo>+</mo> <mi>… </mi><mspace width='40px' ></a> <mstyle class='mathbox'> <mrow>with constituent transcription rate  <mstyle class='math'> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>l</mi> </mrow> </msub> </mstyle> </mrow> </mstyle> </mrow> </mrow></math>
<a id='magicparlabel-25329' ></a>then the term for the degradation of mRNA
<a id='magicparlabel-32482' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mi>… </mi><mo>+</mo> <mfrac> <mrow><mn>1</mn> </mrow> <mrow> <msub> <mrow><mi> τ </mi> </mrow> <mrow> <mfrac> <mrow><mn>1</mn> </mrow> <mrow><mn>2</mn> </mrow> </mfrac> </mrow> </msub> </mrow> </mfrac><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>m</mi><mi>R</mi><mi>N</mi><mi>A</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo><mo>+</mo> <mi>… </mi><mspace width='40px' ></a> <mstyle class='mathbox'> <mrow>with half-value period  <mstyle class='math'> <msub> <mrow><mi> τ </mi> </mrow> <mrow> <mfrac> <mrow><mn>1</mn> </mrow> <mrow><mn>2</mn> </mrow> </mfrac> </mrow> </msub> </mstyle> </mrow> </mstyle> </mrow> </mrow></math>
<a id='magicparlabel-23581' ></a>and finally the most important term that models the influence of activators and repressors binding to the regulatory region of the promoter:
<a id='magicparlabel-25324' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mi>… </mi><mo>+</mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>m</mi><mi>a</mi><mi>x</mi> </mrow> </mrow> </msub><mi>g</mi><mo form='prefix' fence='true' stretchy='true' symmetric='true'>(</mo> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo><mi>,</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>R</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>)</mo> </mrow> </mrow></math>
<a id='magicparlabel-25649' ></a>with <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>m</mi><mi>a</mi><mi>x</mi> </mrow> </mrow> </msub> </mrow></math> maximum transcription rate of the gene and some function<math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow><mi>g</mi><mo form='prefix' fence='true' stretchy='true' symmetric='true'>(</mo> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo><mi>,</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>R</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>)</mo> </mrow> </mrow></math> that can depend on the activator concentration <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow></math> and the repressor concentration <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>R</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow></math>.
<a id='magicparlabel-25685' ></a>The most basic model for <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow><mi>g</mi> </mrow></math> is a Hill-Function
<a id='magicparlabel-26447' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow><mi>g</mi><mo>=</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>{</mo> <mtable> <mtr> <mtd> <mtable> <mtr> <mtd> <mrow><mn>1</mn><mo>-</mo> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>R</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>R</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><mo>(</mo><mn>1</mn><mi>+</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>R</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>R</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <msup> <mrow><mo>)</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> </mrow> </mfrac> </mrow> </mtd> <mtd> <mstyle class='mathbox'> <mrow>for repression </mrow> </mstyle> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><mo>(</mo><mn>1</mn><mi>+</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <msup> <mrow><mo>)</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> </mrow> </mfrac> </mtd> <mtd> <mstyle class='mathbox'> <mrow>for activation </mrow> </mstyle> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><mo>(</mo><mn>1</mn><mi>+</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <msup> <mrow><mo>)</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> </mrow> </mfrac><mo>*</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>(</mo> <mrow><mn>1</mn><mo>-</mo> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>R</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>R</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><mo>(</mo><mn>1</mn><mi>+</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>R</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>R</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <msup> <mrow><mo>)</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> </mrow> </mfrac> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>)</mo> </mrow> </mtd> <mtd> <mstyle class='mathbox'> <mrow>for both </mrow> </mstyle> </mtd> </mtr> </mtable> </mtd> <mtd><mrow></a> </mtd> </mtr> </mtable> </mrow> </mrow></math>
<a id='magicparlabel-26460' ></a>where the parameter <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow><mi>n</mi> </mrow></math> is used to fit the shape of the function to gathered data. If no data is available a general rule of thumb is that <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow><mi>n</mi> </mrow></math> is the number of molecules involved in the binding process. <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow></math> and <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>R</mi> </mrow> </msub> </mrow></math> are the binding rates of activator and repressor.
<a id='magicparlabel-30114' ></a>This is of course a very basic model, but in our case we lacked some parameters and decided that a more sophisticated model would only give the illusion of a higher level of detail. However if parameters and exact behavior of the regulatory region are known the following prototypes for g in case of activation only can be used
<a id='magicparlabel-32464' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow><mi>g</mi><mo>=</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>{</mo> <mtable> <mtr> <mtd> <mtable> <mtr> <mtd><mo form='prefix' fence='true' stretchy='true' symmetric='true'>{</mo> <mtable> <mtr> <mtd> <mtable> <mtr> <mtd> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><munder accent='false'><mover accent='false'><mo> ∑ </mo><mi>n</mi></mover> <mrow><mi>k</mi><mo>=</mo><mn>0</mn> </mrow></munder><mi>(</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <msup> <mrow><mo>)</mo> </mrow> <mrow><mi>k</mi> </mrow> </msup> </mrow> </mrow> </mfrac> </mtd> <mtd> <mstyle class='mathbox'> <mrow>sequential binding </mrow> </mstyle> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><munder accent='false'><mover accent='false'><mo> ∑ </mo><mi>n</mi></mover> <mrow><mi>k</mi><mo>=</mo><mn>0</mn> </mrow></munder><mo form='prefix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>(</mo> <mtable> <mtr> <mtd><mi>n</mi> </mtd> </mtr> <mtr> <mtd><mi>k</mi> </mtd> </mtr> </mtable><mo form='postfix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>)</mo><mi>(</mi><mo>&af;</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <msup> <mrow><mo>)</mo> </mrow> <mrow><mi>k</mi> </mrow> </msup> </mrow> </mrow> </mfrac> </mtd> <mtd> <mstyle class='mathbox'> <mrow>independent binding </mrow> </mstyle> </mtd> </mtr> </mtable> </mtd> <mtd><mrow></a> </mtd> </mtr> </mtable> </mtd> <mtd> <mstyle class='mathbox'> <mrow>for no cooperativity </mrow> </mstyle> </mtd> </mtr> <mtr> <mtd><mo form='prefix' fence='true' stretchy='true' symmetric='true'>{</mo> <mtable> <mtr> <mtd> <mtable> <mtr> <mtd> <mfrac> <mrow> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><munder accent='false'><mover accent='false'><mo> ∏ </mo><mi>n</mi></mover> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow></munder> <msub> <mrow><mi>k</mi> </mrow> <mrow> <msub> <mrow><mi>A</mi> </mrow> <mrow><mi>i</mi> </mrow> </msub> </mrow> </msub> </mrow> </mrow> </mfrac> </mrow> <mrow> <mrow><munder accent='false'><mover accent='false'><mo> ∑ </mo><mi>n</mi></mover> <mrow><mi>j</mi><mo>=</mo><mn>0</mn> </mrow></munder> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>j</mi> </mrow> </msup> </mrow> <mrow> <mrow><munder accent='false'><mover accent='false'><mo> ∏ </mo><mi>j</mi></mover> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow></munder> <msub> <mrow><mi>k</mi> </mrow> <mrow> <msub> <mrow><mi>A</mi> </mrow> <mrow><mi>i</mi> </mrow> </msub> </mrow> </msub> </mrow> </mrow> </mfrac> </mrow> </mrow> </mfrac> </mtd> <mtd> <mstyle class='mathbox'> <mrow>sequential binding </mrow> </mstyle> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msup> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mfrac> <mrow><mi>A</mi> </mrow> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow> </mfrac><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow><mi>n</mi> </mrow> </msup> </mrow> <mrow> <mrow><mn>1</mn><mo>+</mo><munder accent='false'><mover accent='false'><mo> ∑ </mo><mi>n</mi></mover> <mrow><mi>j</mi><mo>=</mo><mn>0</mn> </mrow></munder> <mfrac> <mrow> <msup> <mrow> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>(</mo> <mtable> <mtr> <mtd><mi>n</mi> </mtd> </mtr> <mtr> <mtd><mi>j</mi> </mtd> </mtr> </mtable><mo form='postfix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>)</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo><mi>A</mi><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> </mrow> <mrow><mi>j</mi> </mrow> </msup> </mrow> <mrow> <mrow><munder accent='false'><mover accent='false'><mo> ∏ </mo><mi>j</mi></mover> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow></munder> <msub> <mrow><mi>k</mi> </mrow> <mrow> <msub> <mrow><mi>A</mi> </mrow> <mrow><mi>i</mi> </mrow> </msub> </mrow> </msub> </mrow> </mrow> </mfrac> </mrow> </mrow> </mfrac> </mtd> <mtd> <mstyle class='mathbox'> <mrow>independent binding </mrow> </mstyle> </mtd> </mtr> </mtable> </mtd> <mtd><mrow></a> </mtd> </mtr> </mtable> </mtd> <mtd> <mstyle class='mathbox'> <mstyle class='mathbox'> <mrow>for cooperative binding  </mrow> </mstyle> </mstyle> </mtd> </mtr> </mtable> </mtd> <mtd><mrow></a> </mtd> </mtr> </mtable> </mrow> </mrow></math>
<a id='magicparlabel-32449' ></a>where cooperative binding means that the binding rate of the other binding sites is affected if an activator binds to a specific binding site and sequential binding means that an activator can only bind if the previous binding site is occupied. For cooperative binding the different binding rates are denoted by <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow> <msub> <mrow><mi>A</mi> </mrow> <mrow><mi>i</mi> </mrow> </msub> </mrow> </msub> </mrow></math> whereas in case of no cooperativity all <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow> <msub> <mrow><mi>A</mi> </mrow> <mrow><mi>i</mi> </mrow> </msub> </mrow> </msub> </mrow></math> are equal and <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>k</mi> </mrow> <mrow><mi>A</mi> </mrow> </msub> </mrow></math> is used respectively.
<a id='magicparlabel-32558' ></a>The formulas given above can be adapted for repression only and activation and repression in the same manner as in the basic version.
<a id='magicparlabel-32039' ></a>(ref: lecture notes system biophysics)

<a id='magicparlabel-12417' ></a><a href='https://secure.wikimedia.org/wikipedia/en/wiki/Translation_%28biology%29' target='_blank'>Translation</a>

<a id='magicparlabel-32596' ></a>The next step after transcription of the DNA is the translation of the mRNA into proteins. Since the binding rates of the ribosome and folding process are widely unknown it is advisable to use a very simplified model for the translation process which only involves a translation rate <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>t</mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>s</mi> </mrow> </mrow> </msub> </mrow></math> linearly scaling with availability of mRNA
<a id='magicparlabel-33434' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>t</mi><mi>e</mi><mi>i</mi><mi>n</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>t</mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>s</mi> </mrow> </mrow> </msub><mo>*</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>m</mi><mi>R</mi><mi>N</mi><mi>A</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo><mo>-</mo> <mfrac> <mrow><mn>1</mn> </mrow> <mrow> <msub> <mrow><mi> τ </mi> </mrow> <mrow> <mfrac> <mrow><mn>1</mn> </mrow> <mrow><mn>2</mn> </mrow> </mfrac> </mrow> </msub> </mrow> </mfrac><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>t</mi><mi>e</mi><mi>i</mi><mi>n</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> </mrow></math>
<a id='magicparlabel-33424' ></a>If the time <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi> τ </mi> </mrow> <mrow> <mrow><mi>f</mi><mi>o</mi><mi>l</mi><mi>d</mi> </mrow> </mrow> </msub> </mrow></math> needed for the folding of the protein is known it could be implemented by using Delay Differential Equations with the folding time as constant delay <math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>t</mi><mi>e</mi><mi>i</mi><mi>n</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>t</mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>s</mi> </mrow> </mrow> </msub><mo>*</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>m</mi><mi>R</mi><mi>N</mi><mi>A</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>(</mo> <mrow><mi>t</mi><mo>-</mo> <msub> <mrow><mi> τ </mi> </mrow> <mrow> <mrow><mi>f</mi><mi>o</mi><mi>l</mi><mi>d</mi><mi>i</mi><mi>n</mi><mi>g</mi> </mrow> </mrow> </msub> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>)</mo><mo>-</mo> <mfrac> <mrow><mn>1</mn> </mrow> <mrow> <msub> <mrow><mi> τ </mi> </mrow> <mrow> <mfrac> <mrow><mn>1</mn> </mrow> <mrow><mn>2</mn> </mrow> </mfrac> </mrow> </msub> </mrow> </mfrac><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>t</mi><mi>e</mi><mi>i</mi><mi>n</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> </mrow></math>
<a id='magicparlabel-33880' ></a>Since solving DDEs requires a special much slower solver and the impact of the change can be expected to be very small, this possible improvement was omitted in our model.
<a id='magicparlabel-33924' ></a>If there are other regulatory processes involved in the mRNA translation as in the case of our AND-Gate where the translation of the T7 RNA Polymerase depends on the availability of tRNA a combination of the techniques for Mass Action Law and Transcription can be used to model their influence.

<a id='magicparlabel-26119' ></a>Protein Activity

<a id='magicparlabel-34348' ></a>As protein activity can be regulated by activators and repressors in a similar manner as the transcription of DNA, analogous methods can be used. The the constituent as well as the regulated activity rate will of course additionally depend on the concentration of the substrate and of the protein. In general Protein activity is modeled with the Michaelis-Menten principle
<a id='magicparlabel-36763' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>d</mi><mi>u</mi><mi>c</mi><mi>t</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>m</mi><mi>a</mi><mi>x</mi> </mrow> </mrow> </msub><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>t</mi><mi>e</mi><mi>i</mi><mi>n</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> <mfrac> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>S</mi><mi>u</mi><mi>b</mi><mi>s</mi><mi>t</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> <mrow> <mrow><mi>K</mi><mo>+</mo><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>S</mi><mi>u</mi><mi>b</mi><mi>s</mi><mi>t</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> </mrow> </mfrac> </mrow> </mrow></math>
<a id='magicparlabel-37081' ></a>where <math xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>m</mi><mi>a</mi><mi>x</mi> </mrow> </mrow> </msub> </mrow></math> is the maximum protein activity and K is the concentration of substrate at which half the maximum activity is achieved. If the initial substrate concentration is much larger than K, we can simplify this equation to
<a id='magicparlabel-37188' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>d</mi><mi>u</mi><mi>c</mi><mi>t</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo> <msub> <mrow><mi>v</mi> </mrow> <mrow> <mrow><mi>m</mi><mi>a</mi><mi>x</mi> </mrow> </mrow> </msub><mo form='prefix' fence='true' stretchy='true' symmetric='true'>[</mo> <mrow><mi>P</mi><mi>r</mi><mi>o</mi><mi>t</mi><mi>e</mi><mi>i</mi><mi>n</mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>]</mo> </mrow> </mrow></math>
<a id='magicparlabel-36674' ></a>(Ref: Chaos Lac)

<a id='magicparlabel-14055' ></a>Initial Data

<a id='magicparlabel-37593' ></a>If you design a bacterial application that reacts to a specific signal, the reactions occur independent of the signal will normally have reached a steady state. Thus it is advisable to set their initial values in your simulation to their respective steady state.

<a id='magicparlabel-13227' ></a>Simplification

<a id='magicparlabel-38029' ></a>In some cases your model will involve multiple subsystems that work on different timescales which will most probably lead to ill-posed problems which cause numerical problems. These timescales can be identified by dimensional analysis and sufficiently fast subsystems can be assumed to reach their steady state instantly. This means that if the reaction for x is fast its differential equation <math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow> <mover> <mrow><mi>x</mi> </mrow><mo stretchy='true'>&dot;</mo> </mover><mo>=</mo><mi>f</mi><mo form='prefix' fence='true' stretchy='true' symmetric='true'>(</mo> <mrow><mi>x</mi><mo>,</mo><mi>y</mi> <mi>… </mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>)</mo> </mrow> </mrow></math>
<a id='magicparlabel-38515' ></a>simplifies to an algebraic equation
<a id='magicparlabel-38587' ></a><math display='block' xmlns='http://www.w3.org/1998/Math/MathML'> <mrow> <mrow><mn>0</mn><mo>=</mo><mi>f</mi><mo form='prefix' fence='true' stretchy='true' symmetric='true'>(</mo> <mrow> <mover> <mrow><mi>x</mi> </mrow><mo stretchy='true'>&OverBar;</mo> </mover><mo>,</mo><mi>y</mi><mo>,</mo> <mi>… </mi> </mrow><mo form='postfix' fence='true' stretchy='true' symmetric='true'>)</mo> </mrow> </mrow></math>
<a id='magicparlabel-38592' ></a>whose solution can be substituted into the other equations.

<a id='magicparlabel-12886' ></a>MATLAB Implementation

<a id='magicparlabel-13233' ></a>If no simplifications regarding fast/slow subsystems are made or if you experience your code to be unexpected slow, it is advisable to use a solver for stiff differential equations as ode23s.
<a id='magicparlabel-64' ></a>

References

<a id='r1' ></a>1. Ellner, S.P. and Guckenheimer, J., 'Dynamic models in biology', Princeton University Press (2006).
");