Team:Slovenia/ModelingMethods

From 2012.igem.org

(Difference between revisions)
 
(20 intermediate revisions not shown)
Line 2: Line 2:
<head>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
 +
 +
<!-- back to top -->
 +
<div style="position:fixed; bottom:45px; right:30px; width:100px; height:66px; background-color:transparent;">
 +
<a href="#topofthepage">
 +
<table style="background-color:transparent;" onclick="window.location = '#topofthepage'" class="invisible" style="height:100%;">
 +
<tr class="invisible" style="background-color:transparent;">
 +
<td class="invisible" style="background-color:transparent;" valign="center">
 +
<img width="100px" src ="https://static.igem.org/mediawiki/2012/1/14/Svn12_hp_btt.png"></img>
 +
</td></tr></table>
 +
</a>
 +
</div>
<style type="text/css">
<style type="text/css">
Line 201: Line 212:
#cssmenu ul li > ul li{display:block; list-style:inside none; padding:0; margin:0; position:relative;}  
#cssmenu ul li > ul li{display:block; list-style:inside none; padding:0; margin:0; position:relative;}  
#cssmenu ul li > ul li a{ outline:none; display:block; position:relative; margin:0; padding:8px 20px; font:10pt Arial, Helvetica, sans-serif; color:#fff; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.5); }  
#cssmenu ul li > ul li a{ outline:none; display:block; position:relative; margin:0; padding:8px 20px; font:10pt Arial, Helvetica, sans-serif; color:#fff; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.5); }  
 +
#cssmenu ul li > ul li a table tr td span{ outline:none; display:block; position:relative; margin:0; padding:0px 0px; font:10pt Arial, Helvetica, sans-serif; color:#fff; text-decoration:none; text-shadow:1px 1px 0 rgba(0,0,0, 0.5); }
#cssmenu, #cssmenu > ul > li > ul > li a:hover
#cssmenu, #cssmenu > ul > li > ul > li a:hover
{ background:#043A6B;  
{ background:#043A6B;  
Line 216: Line 228:
#cssmenu > ul > li > a:hover{background:#0C5DA5;}  
#cssmenu > ul > li > a:hover{background:#0C5DA5;}  
/* end CSS navigation menu (blue) */
/* end CSS navigation menu (blue) */
 +
 +
/*new table start*/
 +
table.newtable {background-color:transparent;}
 +
td.newtable, th.newtable {background-color:transparent;}
 +
thead.newtable{ }
 +
tbody .newtable{}
 +
/*new table*/
Line 292: Line 311:
<body>
<body>
 +
<a name="topofthepage" style="background-color:transparent;"></a>
<div id="banner">
<div id="banner">
-
<a style="position:absolute; top:0px; left:490px;" href="https://2012.igem.org/Main_Page"><b>iGEM 2012</b></a>
 
</div>
</div>
Line 300: Line 319:
<!--<div id="container">-->
<!--<div id="container">-->
<div id="mainmenu">
<div id="mainmenu">
 +
 +
<!-- start main menu -->
<!-- start main menu -->
Line 317: Line 338:
<li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchDesignedTALregulators'><span>Designed TAL regulators</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchDesignedTALregulators'><span>Designed TAL regulators</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchMutualRepressorSwitch'><span>Mutual repressor switch</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchMutualRepressorSwitch'><span>Mutual repressor switch</span></a></li>  
-
<li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchPositiveFeedbackLoopSwitch'><span>Positive feedback loop switch</span></a></li>  
+
<li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchPositiveFeedbackLoopSwitch'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/TheSwitchPositiveFeedbackLoopSwitch';" class="newtable"><tr class="newtable"><td class="newtable"><span>Positive feedback loop switch</span></td><td class="newtable"><img style="margin-right:-15px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>
 +
    <li><a href='https://2012.igem.org/Team:Slovenia/TheSwitchControls'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/TheSwitchControls';" class="newtable"><tr class="newtable"><td class="newtable"><span>Controls</span></td><td class="newtable"><img style="margin-right:-81px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>  
  </ul>
  </ul>
</li>
</li>
Line 325: Line 347:
<li><a href='https://2012.igem.org/Team:Slovenia/SafetyMechanismsEscapeTag'><span>Escape tag</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/SafetyMechanismsEscapeTag'><span>Escape tag</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/SafetyMechanismsTermination'><span>Termination</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/SafetyMechanismsTermination'><span>Termination</span></a></li>  
-
<li><a href='https://2012.igem.org/Team:Slovenia/SafetyMechanismsMicrocapsuleDegradation'><span>Microcapsule degradation</span></a></li>  
+
    <li><a href="https://2012.igem.org/Team:Slovenia/SafetyMechanismsMicrocapsuleDegradation"><table  onclick="window.location = 'https://2012.igem.org/Team:Slovenia/SafetyMechanismsMicrocapsuleDegradation';" class="newtable"><tr class="newtable"><td class="newtable"><span>Microcapsule degradation</span></td><td class="newtable"><img style="margin-right:-15px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>  
  </ul>
  </ul>
</li>
</li>
Line 333: Line 355:
<li><a href='https://2012.igem.org/Team:Slovenia/ImplementationHepatitisC'><span>Hepatitis C</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ImplementationHepatitisC'><span>Hepatitis C</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ImplementationIschaemicHeartDisease'><span>Ischaemic heart disease</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/ImplementationIschaemicHeartDisease'><span>Ischaemic heart disease</span></a></li>  
 +
    <li><a href='https://2012.igem.org/Team:Slovenia/ImplementationImpact'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/ImplementationImpact';" class="newtable"><tr class="newtable"><td class="newtable"><span>Impact</span></td><td class="newtable"><img style="margin-right:-86px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>
 
 
  </ul>
  </ul>
Line 340: Line 363:
  <ul>
  <ul>
<li><a href='https://2012.igem.org/Team:Slovenia/Modeling'><span>Overview</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/Modeling'><span>Overview</span></a></li>
-
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingPK'><span>Pharmacokinetics</span></a></li>
+
    <li><a href='https://2012.igem.org/Team:Slovenia/ModelingPK'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/ModelingPK';" class="newtable"><tr class="newtable"><td class="newtable"><span>Pharmacokinetics</span></td><td class="newtable"><img style="margin-right:-15px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingMethods'><span>Modeling methods</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingMethods'><span>Modeling methods</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingMutualRepressorSwitch'><span>Mutual repressor switch</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingMutualRepressorSwitch'><span>Mutual repressor switch</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingPositiveFeedbackLoopSwitch'><span>Positive feedback loop switch</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingPositiveFeedbackLoopSwitch'><span>Positive feedback loop switch</span></a></li>
-
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingQuantitativeModel'><span>Quantitative and stability model</span></a></li>  
+
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingQuantitativeModel'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/ModelingQuantitativeModel';" class="newtable"><tr class="newtable"><td class="newtable"><span>Experimental model</span></td><td class="newtable"><img style="margin-right:-15px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>  
-
<li><a href='https://2012.igem.org/Team:Slovenia/ModelingInteractiveSimulations'><span>Interactive simulations</span></a></li>
+
    <li><a href='https://2012.igem.org/Team:Slovenia/ModelingInteractiveSimulations'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/ModelingInteractiveSimulations';" class="newtable"><tr class="newtable"><td class="newtable"><span>Interactive simulations</span></td><td class="newtable"><img style="margin-right:-15px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>
  </ul>
  </ul>
</li>
</li>
Line 356: Line 379:
  <ul>
  <ul>
<li><a href='https://2012.igem.org/Team:Slovenia/Notebook'><span>Experimental methods</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/Notebook'><span>Experimental methods</span></a></li>
-
<li><a href='https://2012.igem.org/Team:Slovenia/NotebookLablog'><span>Lablog</span></a></li>
+
    <li><a href='https://2012.igem.org/Team:Slovenia/NotebookLablog'><table onclick="window.location = 'https://2012.igem.org/Team:Slovenia/NotebookLablog';" class="newtable"><tr class="newtable"><td class="newtable"><span>Lablog</span></td><td class="newtable"><img style="margin-right:-90px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/NotebookLabSafety'><span>Lab safety</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/NotebookLabSafety'><span>Lab safety</span></a></li>  
  </ul>
  </ul>
Line 379: Line 402:
<li><a href='https://2012.igem.org/Team:Slovenia/Team'><span>Team members</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/Team'><span>Team members</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/TeamAttributions'><span>Attributions</span></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/TeamAttributions'><span>Attributions</span></a></li>
 +
<li><a href='https://2012.igem.org/Team:Slovenia/TeamCollaborations'><table  onclick="window.location = 'https://2012.igem.org/Team:Slovenia/TeamCollaborations';" class="newtable"><tr class="newtable"><td class="newtable"><span>Collaborations</span></td><td class="newtable"><img style="margin-right:-20px;" width="25px" src="https://static.igem.org/mediawiki/2012/e/ee/Svn12_hp_new.png"></img></td></tr></table></a></li>
<li><a href='https://2012.igem.org/Team:Slovenia/TeamGallery'><span>Gallery</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/TeamGallery'><span>Gallery</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/TeamSponsors'><span>Sponsors</span></a></li>  
<li><a href='https://2012.igem.org/Team:Slovenia/TeamSponsors'><span>Sponsors</span></a></li>  
Line 386: Line 410:
</div>
</div>
<!-- end main menu -->
<!-- end main menu -->
 +
</div> <!-- end menu -->
</div> <!-- end menu -->
Line 391: Line 416:
<div id="main">
<div id="main">
<br/>
<br/>
 +
 +
 +
 +
<!-- dummy link na bannerju -->
 +
<a href="https://2012.igem.org/Main_Page">
 +
<div id="dummy" style="background-color:transparent; position:absolute; left:870px; top:25px; width:115px; height:80px; z-index:100; opacity:0.0;">
 +
</div>
 +
</a>
 +
<h1>Modeling methods</h1>
<h1>Modeling methods</h1>
<p>
<p>
Line 400: Line 434:
<li><a href="#quantitative">Quantitative model and stability analysis</a></li>
<li><a href="#quantitative">Quantitative model and stability analysis</a></li>
<li><a href="#csim">C#Sim - algorithmic modeling</a></li>
<li><a href="#csim">C#Sim - algorithmic modeling</a></li>
 +
<li><a href="#source">Source code</a></li>
</ul>
</ul>
</p>
</p>
Line 417: Line 452:
<p>
<p>
<p>
<p>
-
It is often assumed that functional cooperativity (e.g. multimeric regulation) is required for bistability. However, it has been shown theoretically that bistability can emerge in systems without multimeric regulation, provided that at least one regulatory autoloop is present. (Widder et al., 2006). Furthermore, in silico analysis has shown the existence of bistable architectures without the transcription factor cooperativity typically associated with switch-like properties. (Siegal-Gaskins et al., 2011). An essential feature of these proposed architectures was the competitive binding of two transcription factors to the promoter.
+
It is often assumed that functional cooperativity (e.g. multimeric regulation) is required for bistability. However, it has been shown theoretically that bistability can emerge in systems without multimeric regulation, provided that at least one regulatory autoloop is present. (Widder et al., 2009). Furthermore, <i>in silico</i> analysis has shown the existence of bistable architectures without the transcription factor cooperativity typically associated with switch-like properties (Siegal-Gaskins et al., 2011). An essential feature of these proposed architectures was the competitive binding of two transcription factors to the promoter.
</p>
</p>
<p>
<p>
-
In terms of modeling, sigmoidal functions (characterizing the rate of change dP/dt) – arising from (Hill) exponents greater than one - are often equated with molecular cooperativity (the way the transcription factor binds to a promoter). However, as non-linearity and multi-stability can arise without assuming molecular cooperativity, it has been suggested this is not an accurate proposition and that mathematical, or functional cooperativity – referring to a sigmoidal function arising from system equations - should not automatically be interpreted as molecular cooperativity (Andrecut et al., 2011). One reason for this is that model equations represent a significant simplification of actual biological dynamics of gene expression, which include a large number of reactions not explicitly considered in modeling, such as reactions describing chromosome opening and transcription initiation.
+
In terms of modeling, sigmoidal functions (characterizing the rate of change dP/dt) – arising from (Hill) exponents greater than one - are often equated with molecular cooperativity (the way the transcription factor binds to a promoter). However, as non-linearity and multi-stability can arise without assuming molecular cooperativity, it has been suggested that this is not an accurate proposition and that mathematical or functional cooperativity – referring to a sigmoidal function arising from system equations - should not automatically be interpreted as molecular cooperativity (Andrecut et al., 2011). One reason for this is that model equations represent a significant simplification of actual biological dynamics of gene expression, which include a large number of reactions not explicitly considered in modeling, such as reactions describing chromosome opening and transcription initiation.
</p>
</p>
Line 451: Line 486:
</p>
</p>
<p>
<p>
-
We assumed large species concentrations compared to the number of available binding sites. We also assumed fast transitions between promoter states, i.e. transcription factor binding and unbinding occurs much faster than transcription/translation, which in this type of deterministic models are represented as a single step of protein production. Another simplification made was a representation of multiple repetitions of a binding site as a single binding site (e.g. a specific TAL-A:KRAB binding site may in reality have 10 repetitions, while in our models it is represented as a single site). As the purpose of our deterministic models is to provide an approximate, basic characterization of the proposed logic, we consider these simplifications acceptable. Other models, such as C#Sim models (described later), try to formalize some of these aspects in more detail.
+
We assumed large species concentrations compared to the number of available binding sites. We also assumed fast transitions between promoter states, i.e. transcription factor binding and unbinding occurs much faster than transcription/translation, which in this type of deterministic models are represented as a single step of protein production. Another simplification made was a representation of multiple repeats of a binding site as a single binding site (e.g. a specific TAL-A:KRAB binding site may in reality have 10 repeats, while in our models it is represented as a single site). As the purpose of our deterministic models is to provide an approximate, basic characterization of the proposed logic, we consider these simplifications acceptable. Other models, such as C#Sim models (described later), try to formalize some of these aspects in more detail.
</p>
</p>
Line 469: Line 504:
<p>
<p>
-
No concrete quantitative data describing e.g. transcription, translation or degradation rates of TAL effectors was available to us. For this reason, the parameter values (specifying e.g production or degradation rates) in our models were assumed based on commonly accepted propositions, such as that production (i.e. transcription and translation) rates of proteins are (usually) higher than their degradation rates. Parameter values that were used in our simulations should hence only be considered in relative terms (e.g. as protein production to degradation ratios). We also assumed parameter symmetry of different TAL effectors used (TAL-A and TAL-B), because we did not expect that one would have e.g. a production rate significantly higher than the other.
+
No specific quantitative data describing e.g. transcription, translation or degradation rates of TAL effectors was available to us. For this reason, the parameter values (specifying e.g production or degradation rates) in our models were assumed based on commonly accepted propositions, such as that production (i.e. transcription and translation) rates of proteins are (usually) higher than their degradation rates. Parameter values that were used in our simulations should hence only be considered in relative terms (e.g. as protein production to degradation ratios). We also assumed parameter symmetry of different TAL effectors used (TAL-A and TAL-B), because we did not expect that one would have e.g. a production rate significantly higher than the other.
</p>
</p>
Line 484: Line 519:
<p>
<p>
<p>
<p>
-
Gene expression is an inherently stochastic process and deterministic simulation is often not satisfactory. The required conditions for the two approaches to be similar are large system size (high mRNA and protein numbers) and fast promoter kinetics (Kaern et al., 2005), but these conditions are not always met. Furthermore, stochastic models can capture the individuality of single cells, as opposed to deterministic models that can only predict the average behavior of a cell population (Kaern et al., 2003). For this reason, we performed stochastic simulations of the proposed genetic switches. Our results were obtained using SGN Sim, a stochastic genetic networks simulator (Ribeiro et al., 2007) based on stochastic simulation algorithm (SSA).
+
Gene expression is an inherently stochastic process and deterministic simulation is often not satisfactory. The required conditions for the two approaches to be similar are large system size (high mRNA and protein numbers) and fast promoter kinetics (Kaern et al., 2005), but these conditions are not always met. Furthermore, stochastic models can capture the individuality of single cells, as opposed to deterministic models that can only predict the average behavior of a cell population (Kaern et al., 2003). For this reason we performed stochastic simulations of the proposed genetic switches. Our results were obtained using SGN Sim, a stochastic genetic networks simulator (Ribeiro et al., 2007) based on stochastic simulation algorithm (SSA).
</p>
</p>
   
   
<p>
<p>
-
Competitive binding between an activator and a repressor exists in our positive feedback loop switch. This can lead to three major minimal promoter states: the promoter being free (i. e. unbound - neither an activator nor a repressor is bound, zero activation is present), bound by a repressor or bound by an activator. When minimal promoter is unbound, only leaky expression occurs. If bound by an activator, this causes high, activated expression levels. Bound repressor causes the expression levels to drop even below the ones achieved for the unbound (non-activated) state.
+
Competitive binding between an activator and a repressor exists in our positive feedback loop switch. This can lead to three major minimal promoter states: the promoter being free (i. e. unbound - neither an activator nor a repressor is bound, zero activation is present), bound by a repressor or bound by an activator. When minimal promoter is unbound, only leaky expression occurs. If bound by an activator, this causes high activated expression levels. Bound repressor causes the expression levels to drop even below the ones achieved for the unbound (non-activated) state.
</p>
</p>
<p>
<p>
-
Our deterministic models made no clear distinction between free (unbound) minimal promoter state and a repressor-bound state – in both cases, inactive promoter state was assumed, leading to only leaky expression. In our stochastic models, we improved this by introducing different expression levels for all three states, achieving a more realistic formalization.
+
Our deterministic models made no clear distinction between free (unbound) minimal promoter state and a repressor-bound state – in both cases inactive promoter state was assumed, leading to only leaky expression. In our stochastic models we improved this by introducing different expression levels for all three states, achieving a more realistic formalization.
</p>
</p>
   
   
-
<p>
 
-
Using stochastic simulation, we also tested how the delay between transcription and translation affects bistability.
 
-
</p>
 
</p>
</p>
Line 507: Line 539:
<h2><a name="quantitative">Quantitative model and stability analysis</a></h2>
<h2><a name="quantitative">Quantitative model and stability analysis</a></h2>
<p>
<p>
-
Based on experimental data, we constructed what we refer to as a quantitative model. Please see <a href="https://2012.igem.org/Team:Slovenia/ModelingQuantitativeModel">Quantitative and stability model</a> for details. To get a better idea of the functioning of the model, an <font color="red"><b>interactive web application</b></font> was developed and is available <a href="https://2012.igem.org/Team:Slovenia/InteractiveSimulations">here</a>.</p>
+
Based on experimental data we constructed what we refer to as a quantitative model. Please see <a href="https://2012.igem.org/Team:Slovenia/ModelingQuantitativeModel">Quantitative and stability model</a> for details. To get a better idea of the functioning of the model, an <a href="https://2012.igem.org/Team:Slovenia/ModelingInteractiveSimulations">interactive web application</a> was developed.</p>
</p>
</p>
Line 516: Line 548:
<h2><a name="csim">C#Sim - algorithmic modeling</a></h2>
<h2><a name="csim">C#Sim - algorithmic modeling</a></h2>
<p>
<p>
-
<p>We developed a new modeling algorithm, called C#Sim. The main purpose of this was:
+
<p>We developed a new modeling algorithm called C#Sim. The main purpose of this was:
<ul style="margin-left:30px;">
<ul style="margin-left:30px;">
-
     <li>to explicitly model a limited number of binding site repetitions;</li>
+
     <li>to explicitly model a <b>limited number of binding site repeats;</b></li>
-
     <li>to explicitly model competitive binding of activators and repressors;</li>
+
     <li>to explicitly model <b>competitive binding</b> of activators and repressors;</li>
-
     <li>to construct a new modeling approach that incorporates stochasticity of gene expression into  an otherwise deterministic approach.</li>
+
     <li>to construct a <b>new modeling approach</b> that incorporates stochasticity of gene expression into  an otherwise deterministic approach.</li>
</ul>
</ul>
</p>
</p>
<p>
<p>
-
The assumptions made here were similar to deterministic modeling assumptions. First, we assumed that high concentrations of mRNA and proteins existed compared to the number of available binding sites that transcription factors could bind to. Second, we assumed that binding of transcription factors to binding sites was much faster than transcription and translation.
+
The assumptions made here were similar to that of deterministic modeling. First, we assumed that high concentrations of mRNA and proteins existed compared to the number of available binding sites that transcription factors could bind to. Second, we assumed that binding of transcription factors to binding sites was much faster than transcription and translation.
</p>
</p>
   
   
<p>
<p>
-
A feature of C#Sim is that it operates with discrete numbers – at each step of the simulation, mRNA and protein amounts are non-negative integers. Each mRNA and protein molecule is represented as an independent entity – or object - defined by its parameters and interactions. An object-oriented programming approach was used to achieve this. At the moment, C#Sim supports the following entity types, implemented as classes:
+
A feature of C#Sim is that it operates with <b>discrete numbers</b> – at each step of the simulation, mRNA and protein amounts are non-negative integers. Each mRNA and protein molecule is represented as an <b>independent entity</b> – or object - defined by its parameters and interactions. An <b>object-oriented programming approach</b> was used to achieve this. At the moment, C#Sim supports the following entity types, implemented as classes:
<!-- table -->
<!-- table -->
Line 543: Line 575:
<td class="normal">
<td class="normal">
-
Parametrs:
+
Parameters:
<ul style="margin-left:15px;">
<ul style="margin-left:15px;">
<li>birth time (integer) – tells at what simulation step this mRNA entity was created (transcribed); used for modeling transcription-translation delay;</li>
<li>birth time (integer) – tells at what simulation step this mRNA entity was created (transcribed); used for modeling transcription-translation delay;</li>
Line 568: Line 600:
<td class="normal">
<td class="normal">
-
Parametrs:
+
Parameters:
<ul style="margin-left:15px;">
<ul style="margin-left:15px;">
<li>birth time (integer) – tells at what simulation step this protein entity was created (translated);</li>
<li>birth time (integer) – tells at what simulation step this protein entity was created (translated);</li>
Line 593: Line 625:
<td class="normal">
<td class="normal">
-
Parametrs:
+
Parameters:
<ul style="margin-left:15px;">
<ul style="margin-left:15px;">
-
<li>capacity (integer) – the number of binding site repetitions; each repetition can be bound by one Protein entity;</li>
+
<li>capacity (integer) – the number of binding site repeats; each repeat can be bound by one protein entity;</li>
<li>amount of bound activator (integer) – the number of activator entities bound to this binding site;</li>
<li>amount of bound activator (integer) – the number of activator entities bound to this binding site;</li>
<li>amount of bound repressor (integer) – the number of repressor entities bound to this binding site.</li>
<li>amount of bound repressor (integer) – the number of repressor entities bound to this binding site.</li>
Line 617: Line 649:
<td class="normal">
<td class="normal">
-
Parametrs:
+
Parameters:
<ul style="margin-left:15px;">
<ul style="margin-left:15px;">
<li>promoter type – either minimal or constitutive;</li>
<li>promoter type – either minimal or constitutive;</li>
Line 645: Line 677:
<td class="normal">
<td class="normal">
-
Parametrs:
+
Parameters:
<ul style="margin-left:15px;">
<ul style="margin-left:15px;">
<li>gene's promoter;</li>
<li>gene's promoter;</li>
Line 665: Line 697:
<p>
<p>
-
Using these entities, a hierarchy of gene regulatory network can quickly be constructed. For examples, please take a look at the <a href="https://2012.igem.org/Team:Slovenia/SourceCode">source code</a>, which contains both our switches implemented in C# language.
+
Using these entities, a hierarchy of gene regulatory network can quickly be constructed. Furthermore, the approach is highly modular and extendible with new dynamics. <!--For examples, please take a look at the <a href="https://2012.igem.org/Team:Slovenia/SourceCode">source code</a>, which contains both our switches implemented in C# language.-->
</p>
</p>
Line 677: Line 709:
C#Sim modeling consists of two major steps:
C#Sim modeling consists of two major steps:
<ol>
<ol>
-
<li>define gene regulatory network structure as a series of related entities (objects): genes to transcribe and translate,  promoters, binding sites and transcription factor binding interactions. Specify necessary parameters, such as production rates, degradation rates and promoter binding sites.</li>
+
<li>Define gene regulatory network structure as a series of related entities (objects): genes to transcribe and translate,  promoters, binding sites and transcription factor binding interactions. Specify necessary parameters, such as production rates, degradation rates and promoter binding sites.</li>
-
<li>Specify the number of simulation steps to take. At each step of the simulation:
+
<li>Specify the number of simulation steps. At each step of the simulation:
<ol type="I" style="margin-left:15px;">
<ol type="I" style="margin-left:15px;">
-
     <li>(optional) introduce input signals and define their actions (e.g., introduce signal 1 at a specific time of the simulation and make it prevent transcription factor from binding);</li>
+
     <li>(optional) introduce input signals and define their actions (e.g. introduce signal 1 at a specific time of the simulation and make it prevent transcription factor from binding);</li>
     <li>transcribe and translate genes; degrade (i.e. delete) a parameter-specified percentage of produced mRNA and proteins;</li>
     <li>transcribe and translate genes; degrade (i.e. delete) a parameter-specified percentage of produced mRNA and proteins;</li>
-
     <li>bind existent transcription factor proteins to their target binding sites; considering binding site capacity (i.e. the number of binding site repetitions), uniformly distribute transcription factors among target binding sites;</li>
+
     <li>bind existent transcription factor proteins to their target binding sites; considering binding site capacity (i.e. the number of binding site repeats), uniformly distribute transcription factors among target binding sites;</li>
<li>execute the next simulation step.</li>
<li>execute the next simulation step.</li>
Line 692: Line 724:
 +
<h3>Transcription factor binding</h3>
 +
<p><p>
 +
Each binding site is modeled as an individual entity. The algorithm, at each simulation step, uniformly distributes transcription factors among their target binding sites based on the amount of each transcription factor available. A binding site entity, <b>B</b>, is defined by the following parameters:
 +
<ul style="margin-left:30px;">
 +
<li>capacity, <b>C</b> (i.e. the number of binding site repeats);</li>
 +
<li>the amount of bound activator, <b>B<sub>A</sub></b> (integer) – how many activator entities are bound to this binding site;</li>
 +
<li>the amount of bound repressor, <b>B<sub>R</sub></b> (integer) – how many repressor entities are bound to this binding site.</li>
 +
</ul></p>
 +
<p>
 +
The sum of all repressors and activators bound to a binding site is never greater than that binding site capacity:
 +
<p><img src="https://static.igem.org/mediawiki/2012/7/71/Svn12_modeling_csim_babr.png"/></p>
 +
</p>
 +
<p>
 +
Let <b>A</b> be the amount of activator entities (objects) available for binding and <b>R</b> the amount of repressor entities available for binding.  Activators and repressors that competitively bind to a binding site B distribute among the available binding site repeats (specified by capacity C) uniformly, with equal binding affinity, according to the following equations:
 +
<ul style="margin-left:30px;">
 +
<li>if A+R < C, then:
 +
<br/>
 +
B<sub>A</sub> = A
 +
<br/>
 +
B<sub>R</sub> = R
 +
</li><br/>
 +
<li>
 +
if A+R is greater or equal than C, then:
 +
<p><img src="https://static.igem.org/mediawiki/2012/5/5a/Svn12_modeling_csim_bindingsites.png"/></p>
 +
</li>
 +
</ul>
 +
</p>
 +
 +
<p>
 +
All values are non-negative integers, i.e. rounding is used to obtain final B<sub>A</sub> and B<sub>R</sub> values. These equations can easily be generalized for a non-competitive binding scenario, when only activators or only repressors bind – in the first case, R is set to 0 (i.e. only activator entities are available); in the second case, A is set to zero (i.e. only repressor  entities are available).
 +
</p>
 +
 +
<p>
 +
For example, let 10 TAL-A binding site repeats exist, meaning TAL-A binding site capacity is equal to 10. TAL-A:KRAB and TAL-A:VP16 competitively bind for this binding site. Suppose that at a given time the available amount of each of these proteins is 100 units:
 +
<ul style="margin-left:30px;">
 +
<li>TAL-A:KRAB = 100 units</li>
 +
<li>TAL-A:VP16 = 100 units</li>
 +
</ul>
 +
</p>
 +
 +
<p>
 +
The amount of TAL-A:VP16 that will bind to the TAL-A binding site is:
 +
<p><img src="https://static.igem.org/mediawiki/2012/9/9a/Svn12_modeling_csim_babr_example1.png"/></p>
 +
meaning 5 binding site repeats will become bound by the TAL-A:VP16. Similarly the other 5 will become bound by the TAL-A:KRAB:</p>
 +
<p><img src="https://static.igem.org/mediawiki/2012/f/fe/Svn12_modeling_csim_babr_example2.png"/></p>
 +
 +
<p>
 +
Thus a uniform distribution was achieved.
 +
</p>
 +
 +
<p>
 +
Bound proteins degrade in the same manner as the unbound proteins. It should be noted that with transcription and translation in the context of this algorithm we also mean mRNA and protein degradation. </p>
 +
 +
 +
<h3>Transcription</h3>
 +
<p>The following algorithm steps constitute transcription. For each gene to transcribe at each simulation step:
 +
<ol>
 +
<li>
 +
count the total amount of repressor and activator entities that are bound to all gene promoter binding sites:
 +
<p><img src="https://static.igem.org/mediawiki/2012/c/cb/Svn12_modeling_transcription1.png"/></p>
 +
 +
B<sub>Ri</sub> is the amount of repressor bound at binding site i. B<sub>Ai</sub> is the amount of activator bound at binding site i.
 +
</li>
 +
<br/>
 +
<li>
 +
If the promoter is minimal, calculate the amount of mRNA to produce, N'<sub>mRNA</sub>, in this simulation step:
 +
<p><img src="https://static.igem.org/mediawiki/2012/f/fc/Svn12_modeling_transcription2_minimal.png"/></p>
 +
Here:
 +
<ul style="margin-left:30px;">
 +
<li>b is inactive (i.e. leaky) transcription rate, specifying mRNA production rate when no activators and no repressors are bound;</li>
 +
 +
<li>k is active (i.e activated) transcription rate and is typically much higher than b; it specifies mRNA production rate when activators are bound;</li>
 +
 +
<li>n and m are transcription factor exponents, specifying the degree of non-linearity.</li>
 +
</ul>
 +
<br/><p>
 +
The structure of this equation is such because we distinguish between three major minimal promoter states:
 +
<ul style="margin-left:30px;">
 +
<li>free (unbound) state, meaning no repressor and no activator entities are bound to corresponding binding sites; in this case, N'<sub>mRNA</sub> will be equal to b (leaky rate);</li>
 +
 +
<li>repressor-bound state, meaning only repressor is bound to corresponding binding sites; in this case, bound repressor can – because of the second term of the equation – decrease the basal rate and hence N'<sub>mRNA</sub>;</li>
 +
 +
<li>activator-bound state, meaning only activator is bound; in this case, the second term of the equation will be equal to zero and (assuming k is much larger than b) N'<sub>mRNA</sub> will be large, indicating activated transcription.</li>
 +
</ul>
 +
</p><p>
 +
When both activators and repressors are bound to binding sites, none of the three terms will be equal to zero (provided b and k are non-zero values). Because bound repressor count, R<sub>count</sub>, occurs in two terms, while bound activator count, A<sub>count</sub>, only occurs in one term, the effect of bound repressors on N'<sub>mRNA</sub> will be more pronounced compared to the effect of bound activators. This way, a requirement for repression priority over activation (i.e. a small amount of bound repressor significantly reduces expression levels, despite bound activator) is met.</p>
 +
</li>
 +
 +
<br/>
 +
<li>
 +
If the promoter is constitutive, calculate the amount of mRNA to produce, N'<sub>mRNA</sub>, in this simulation step:
 +
<p><img src="https://static.igem.org/mediawiki/2012/f/f5/Svn12_modeling_transcription2_cmv.png"/></p>
 +
<p>With our switches in mind, only repressors can bind to constitutive promoter binding sites, hence the equation only has two terms. Here,
 +
<ul style="margin-left:30px;">
 +
<li>k is the active (non-repressed, constitutive) transcription rate, reached only when no repressor entities are bound;
 +
</li>
 +
<li>n is an exponent specifying the degree of non-linearity.</li>
 +
</ul>
 +
Repressor binding can thus decrease N'<sub>mRNA</sub>.
 +
</p>
 +
 +
</li>
 +
<br/>
 +
<li><p>
 +
Randomly increase or decrease calculated N'<sub>mRNA</sub> – this way, stochasticity of transcription is taken into account (e.g. some bound transcription factor can unbind from the binding site). In this step, N'<sub>mRNA</sub> is altered to a new value:</p>
 +
<p><img src="https://static.igem.org/mediawiki/2012/3/3e/Svn12_modeling_transcription3_random1.png"/></p>
 +
<p>
 +
where r is a random integer (uniform distribution is used) from the interval <p><img src="https://static.igem.org/mediawiki/2012/a/a3/Svn12_modeling_transcription3_random2.png" /></p>and t is a real-value parameter between 0 and 1 and specifies the intensity of transcription stochasticity. For our simulations, t was always equal to 0.45.
 +
</p>
 +
</li>
 +
 +
<br/>
 +
<li>
 +
If N<sub>mRNA</sub> was set to 0, make N<sub>mRNA</sub> equal to leaky transcription rate parameter, b, with probability P<sub>L</sub> (probability of leaky expression – equal to 90 % in our simulations). This probability is used to allow more control over the dynamics of leaky expression.
 +
</li>
 +
 +
<br/>
 +
<li>
 +
Transcribe (generate) N<sub>mRNA</sub> mRNA entities (objects).
 +
</li>
 +
 +
<br/>
 +
<li>
 +
Degrade m % of mRNA available in the system.
 +
</li>
 +
 +
</ol>
 +
</p>
 +
 +
 +
<h3>Translation</h3>
 +
<p>
 +
The following algorithm steps constitute translation. For each existing mRNA entity, at each simulation step:
 +
<ol>
 +
<li>with a probability of P<sub>T</sub> (we refer to this value as translation probability, or translation effectiveness), generate T<sub>r</sub> protein entities, where T<sub>r</sub> is the translation rate (equal to 1 in all our simulations); mRNA is only translated if the transcription-translation delay has elapsed;</li>
 +
<br/>
 +
<li>degrade p % of proteins in the system.</li>
 +
</ol>
 +
</p>
 +
 +
 +
</p>
 +
 +
 +
 +
 +
<h2><a name="source">Source code</a></h2>
 +
<p>
 +
Our modeling-related source code can be found <a href="https://2012.igem.org/Team:Slovenia/SourceCode">here</a>.
 +
</p>
Line 703: Line 885:
<h2 style="color:grey;">References</h2>
<h2 style="color:grey;">References</h2>
<p style="color:grey;">
<p style="color:grey;">
-
Andrecut M, Halley JD, Winkler DA, Huang S. (2011) A General Model for Binary Cell Fate Decision Gene Circuits with Degeneracy: Indeterminacy and Switch Behavior in the Absence of Cooperativity. PLoS ONE 6(5): e19358. doi:10.1371/journal.pone.0019358.<br/><br/>
+
Andrecut M, Halley JD, Winkler DA, Huang S. (2011) A General Model for Binary Cell Fate Decision Gene Circuits with Degeneracy: Indeterminacy and Switch Behavior in the Absence of Cooperativity. <i>PLoS ONE</i> <b>6</b>, e19358. doi:10.1371/journal.pone.0019358.<br/><br/>
-
Kaern M, Blake WJ, Collins JJ. (2003) The engineering of gene regulatory networks. Annual Review of Biomedical Engineering. 5, 179-206.<br/><br/>
+
Kaern M, Blake WJ, Collins JJ. (2003) The engineering of gene regulatory networks. <i>Annual Review of Biomedical Engineering.</i> <b>5</b>, 179-206.<br/><br/>
-
Kaern M, Elston TC, Blake WJ, Collins JJ. (2005) Stochasticity in gene expression: from theories to phenotypes. Nature. 6, 451-464.<br/><br/>
+
Kaern M, Elston TC, Blake WJ, Collins JJ. (2005) Stochasticity in gene expression: from theories to phenotypes. <i>Nature.</i> <b>6</b>, 451-464.<br/><br/>
-
Ribeiro AS, Lloyd-Price J. (2007) SGN Sim, a Stochastic Genetic Networks Simulator. Bioinformatics. 23 (6): 777-779.<br/><br/>
+
Ribeiro AS, Lloyd-Price J. (2007) SGN Sim, a Stochastic Genetic Networks Simulator. <i>Bioinformatics.</i> <b>23</b>, 777-779.<br/><br/>
-
Sauro HM. (2012) Enzyme Kinetics for Systems Biology. Future Skill Software.<br/><br/>
+
Sauro HM. (2012) Enzyme Kinetics for Systems Biology. <i>Future Skill Software.</i><br/><br/>
-
Siegal-Gaskins D, Mejia-Guerra MK, Smith GD, Grotewold E. (2011) Emergence of Switch-Like Behavior in a Large Family of Simple Biochemical Networks. PLoS Comput Biol 7(5): e1002039. doi:10.1371/journal.pcbi.1002039.<br/><br/>
+
Siegal-Gaskins D, Mejia-Guerra MK, Smith GD, Grotewold E. (2011) Emergence of Switch-Like Behavior in a Large Family of Simple Biochemical Networks. <i>PLoS Comput Biol</i> <b>7</b>, e1002039. doi:10.1371/journal.pcbi.1002039.<br/><br/>
-
Widder S, Macía J, Solé R. (2009) Monomeric Bistability and the Role of Autoloops in Gene Regulation. PLoS ONE 4(4): e5399. doi:10.1371/journal.pone.0005399.<br/><br/>
+
Widder S, Macía J, Solé R. (2009) Monomeric Bistability and the Role of Autoloops in Gene Regulation. <i>PLoS ONE</i> <b>4</b>, e5399. doi:10.1371/journal.pone.0005399.<br/><br/>
   
   

Latest revision as of 15:43, 19 March 2013


Modeling methods

Introduction

In order to examine (i.e. simulate) the proposed genetic switches in silico, different modeling approaches were used. First, a deterministic model based on the probabilistic interpretation of gene regulation was constructed for each type of a genetic switch. Next, a stochastic simulation was performed to take inherent stochastic dynamics of gene expression into account. To further verify the results obtained using these methods, we also developed a quantitative model that builds upon experimental data. Moreover, we developed a modeling algorithm to more explicitly simulate transcription factor binding, considering number of available binding sites and competitive binding. Each modeling approach is discussed in the following sections. We also discuss the notion of cooperativity in the context of bistability.

Cooperativity

It is often assumed that functional cooperativity (e.g. multimeric regulation) is required for bistability. However, it has been shown theoretically that bistability can emerge in systems without multimeric regulation, provided that at least one regulatory autoloop is present. (Widder et al., 2009). Furthermore, in silico analysis has shown the existence of bistable architectures without the transcription factor cooperativity typically associated with switch-like properties (Siegal-Gaskins et al., 2011). An essential feature of these proposed architectures was the competitive binding of two transcription factors to the promoter.

In terms of modeling, sigmoidal functions (characterizing the rate of change dP/dt) – arising from (Hill) exponents greater than one - are often equated with molecular cooperativity (the way the transcription factor binds to a promoter). However, as non-linearity and multi-stability can arise without assuming molecular cooperativity, it has been suggested that this is not an accurate proposition and that mathematical or functional cooperativity – referring to a sigmoidal function arising from system equations - should not automatically be interpreted as molecular cooperativity (Andrecut et al., 2011). One reason for this is that model equations represent a significant simplification of actual biological dynamics of gene expression, which include a large number of reactions not explicitly considered in modeling, such as reactions describing chromosome opening and transcription initiation.

For this reasons, we believe that sigmoidal behavior alone – arising in some of our models for transcription factors’ exponent values (non-linearity) greater than 1 - should not by default be interpreted as molecular cooperativity. Thus, in the context of modeling, with the term cooperativity we mean functional cooperativity greater than 1. Functional cooperativity equal to 1 is referred to as no cooperativity.

Indeed, in case of our positive feedback loop switch – which contains both competitive binding and regulatory autoloops - even deterministic models predict experimentally-verified bistability at low (i.e. close to 1; deterministic fractional occupancy model) or no (quantitative model) functional cooperativity. Our stochastic model of the positive feedback loop switch also predicts bistability is possible without cooperativity.

Deterministic modeling

Our deterministic models are based on fractional occupancy, a quantity which expresses the degree of saturation at the transcription factor binding site (Sauro, 2012). Fractional occupancy can be expressed as a ratio of active binding site states – i.e. states leading to gene expression – to all possible binding site states:


As such, it can be interpreted as a probability of a promoter being active, or a probability that transcription and/or translation will occur. Gene expression in our model, in turn, is proportional to this probability.

Two main possibilities are distinguished in our models depending on the type of the promoter. In case of a minimal promoter, binding of a transcriptional activator (leading to an active state) is required for transcription initiation. Other states – binding site being free or bound by a repressor - are considered inactive. In case of a constitutive promoter, binding of a transcriptional repressor leads to an inactive state, while unbound (or activator-bound) states are active, hence leading to gene expression.

We assumed large species concentrations compared to the number of available binding sites. We also assumed fast transitions between promoter states, i.e. transcription factor binding and unbinding occurs much faster than transcription/translation, which in this type of deterministic models are represented as a single step of protein production. Another simplification made was a representation of multiple repeats of a binding site as a single binding site (e.g. a specific TAL-A:KRAB binding site may in reality have 10 repeats, while in our models it is represented as a single site). As the purpose of our deterministic models is to provide an approximate, basic characterization of the proposed logic, we consider these simplifications acceptable. Other models, such as C#Sim models (described later), try to formalize some of these aspects in more detail.

The mathematical framework which describes protein production and into which we incorporate fractional occupancy is represented as a set of ordinary differential equations (ODEs) of the form:

and is roughly based on a framework proposed in (Kaern et al., 2005). Here:
  • [Protein] is protein concentration at a given time;
  • k is a constant specifying protein production rate in case of an active promoter.
  • kb is a constant specifying the amount of leaky gene expression, meaning protein production that takes place even in the case of inactive (i.e. repressed constitutive or non-activated minimal) promoter.
  • dg is a constant specifying protein degradation rate.
  • P(active) is the probability of a promoter being in an active state – this probability is equal to fractional occupancy f.
  • P(inactive) is the probability of a promoter being inactive and is equal to (1-f).

No specific quantitative data describing e.g. transcription, translation or degradation rates of TAL effectors was available to us. For this reason, the parameter values (specifying e.g production or degradation rates) in our models were assumed based on commonly accepted propositions, such as that production (i.e. transcription and translation) rates of proteins are (usually) higher than their degradation rates. Parameter values that were used in our simulations should hence only be considered in relative terms (e.g. as protein production to degradation ratios). We also assumed parameter symmetry of different TAL effectors used (TAL-A and TAL-B), because we did not expect that one would have e.g. a production rate significantly higher than the other.

All deterministic models were implemented in MATLAB.

Stochastic modeling

Gene expression is an inherently stochastic process and deterministic simulation is often not satisfactory. The required conditions for the two approaches to be similar are large system size (high mRNA and protein numbers) and fast promoter kinetics (Kaern et al., 2005), but these conditions are not always met. Furthermore, stochastic models can capture the individuality of single cells, as opposed to deterministic models that can only predict the average behavior of a cell population (Kaern et al., 2003). For this reason we performed stochastic simulations of the proposed genetic switches. Our results were obtained using SGN Sim, a stochastic genetic networks simulator (Ribeiro et al., 2007) based on stochastic simulation algorithm (SSA).

Competitive binding between an activator and a repressor exists in our positive feedback loop switch. This can lead to three major minimal promoter states: the promoter being free (i. e. unbound - neither an activator nor a repressor is bound, zero activation is present), bound by a repressor or bound by an activator. When minimal promoter is unbound, only leaky expression occurs. If bound by an activator, this causes high activated expression levels. Bound repressor causes the expression levels to drop even below the ones achieved for the unbound (non-activated) state.

Our deterministic models made no clear distinction between free (unbound) minimal promoter state and a repressor-bound state – in both cases inactive promoter state was assumed, leading to only leaky expression. In our stochastic models we improved this by introducing different expression levels for all three states, achieving a more realistic formalization.

Quantitative model and stability analysis

Based on experimental data we constructed what we refer to as a quantitative model. Please see Quantitative and stability model for details. To get a better idea of the functioning of the model, an interactive web application was developed.

C#Sim - algorithmic modeling

We developed a new modeling algorithm called C#Sim. The main purpose of this was:

  • to explicitly model a limited number of binding site repeats;
  • to explicitly model competitive binding of activators and repressors;
  • to construct a new modeling approach that incorporates stochasticity of gene expression into an otherwise deterministic approach.

The assumptions made here were similar to that of deterministic modeling. First, we assumed that high concentrations of mRNA and proteins existed compared to the number of available binding sites that transcription factors could bind to. Second, we assumed that binding of transcription factors to binding sites was much faster than transcription and translation.

A feature of C#Sim is that it operates with discrete numbers – at each step of the simulation, mRNA and protein amounts are non-negative integers. Each mRNA and protein molecule is represented as an independent entity – or object - defined by its parameters and interactions. An object-oriented programming approach was used to achieve this. At the moment, C#Sim supports the following entity types, implemented as classes:

mRNA
Parameters:
  • birth time (integer) – tells at what simulation step this mRNA entity was created (transcribed); used for modeling transcription-translation delay;
  • alive (true/false) – tells if this mRNA is alive and subject to translation (true) or not.
Protein
Parameters:
  • birth time (integer) – tells at what simulation step this protein entity was created (translated);
  • alive (true/false) – tells if this protein is alive (true), e.g. it can function as a transcription factor.
Binding site
Parameters:
  • capacity (integer) – the number of binding site repeats; each repeat can be bound by one protein entity;
  • amount of bound activator (integer) – the number of activator entities bound to this binding site;
  • amount of bound repressor (integer) – the number of repressor entities bound to this binding site.
Promoter
Parameters:
  • promoter type – either minimal or constitutive;
  • list of promoter binding sites;
  • active mRNA transcription rate, which determines the number of mRNA entities to produce at each simulation step for activated promoter (in case of a minimal promoter) or non-repressed promoter (in case of a constitutive promoter);
  • inactive (leaky) mRNA transcription rate, which determines the number of mRNA entities that can be produced even when the promoter is not activated (for minimal promoter), or when the promoter is repressed (for constitutive promoter);
  • the amount of all repressors and activators bound to all promoter binding sites.
Gene
Parameters:
  • gene's promoter;
  • translation rate, describing the number of proteins produced per each transcribed alive mRNA entity at each simulation step;
  • mRNA and protein degradation rate (i.e. the percentage of mRNA and protein degraded at each simulation step).

Note that the majority of these parameters are computed automatically, not specified by the user (programmer). The parameters specified by the user (when defining the network structure) are: binding sites' capacities, promoter types, list of promoter binding sites, active and inactive transcription rates, a promoter for each gene, translation rates and degradation rates. A delay between transcription and translation can also be specified.

Using these entities, a hierarchy of gene regulatory network can quickly be constructed. Furthermore, the approach is highly modular and extendible with new dynamics.

Other parameters also define the behavior of the mentioned entity types – they are listed and explained in more detail in the algorithm overview below.

Algorithm overview

C#Sim modeling consists of two major steps:

  1. Define gene regulatory network structure as a series of related entities (objects): genes to transcribe and translate, promoters, binding sites and transcription factor binding interactions. Specify necessary parameters, such as production rates, degradation rates and promoter binding sites.
  2. Specify the number of simulation steps. At each step of the simulation:
    1. (optional) introduce input signals and define their actions (e.g. introduce signal 1 at a specific time of the simulation and make it prevent transcription factor from binding);
    2. transcribe and translate genes; degrade (i.e. delete) a parameter-specified percentage of produced mRNA and proteins;
    3. bind existent transcription factor proteins to their target binding sites; considering binding site capacity (i.e. the number of binding site repeats), uniformly distribute transcription factors among target binding sites;
    4. execute the next simulation step.

Transcription factor binding

Each binding site is modeled as an individual entity. The algorithm, at each simulation step, uniformly distributes transcription factors among their target binding sites based on the amount of each transcription factor available. A binding site entity, B, is defined by the following parameters:

  • capacity, C (i.e. the number of binding site repeats);
  • the amount of bound activator, BA (integer) – how many activator entities are bound to this binding site;
  • the amount of bound repressor, BR (integer) – how many repressor entities are bound to this binding site.

The sum of all repressors and activators bound to a binding site is never greater than that binding site capacity:

Let A be the amount of activator entities (objects) available for binding and R the amount of repressor entities available for binding. Activators and repressors that competitively bind to a binding site B distribute among the available binding site repeats (specified by capacity C) uniformly, with equal binding affinity, according to the following equations:

  • if A+R < C, then:
    BA = A
    BR = R

  • if A+R is greater or equal than C, then:

All values are non-negative integers, i.e. rounding is used to obtain final BA and BR values. These equations can easily be generalized for a non-competitive binding scenario, when only activators or only repressors bind – in the first case, R is set to 0 (i.e. only activator entities are available); in the second case, A is set to zero (i.e. only repressor entities are available).

For example, let 10 TAL-A binding site repeats exist, meaning TAL-A binding site capacity is equal to 10. TAL-A:KRAB and TAL-A:VP16 competitively bind for this binding site. Suppose that at a given time the available amount of each of these proteins is 100 units:

  • TAL-A:KRAB = 100 units
  • TAL-A:VP16 = 100 units

The amount of TAL-A:VP16 that will bind to the TAL-A binding site is:

meaning 5 binding site repeats will become bound by the TAL-A:VP16. Similarly the other 5 will become bound by the TAL-A:KRAB:

Thus a uniform distribution was achieved.

Bound proteins degrade in the same manner as the unbound proteins. It should be noted that with transcription and translation in the context of this algorithm we also mean mRNA and protein degradation.

Transcription

The following algorithm steps constitute transcription. For each gene to transcribe at each simulation step:

  1. count the total amount of repressor and activator entities that are bound to all gene promoter binding sites:

    BRi is the amount of repressor bound at binding site i. BAi is the amount of activator bound at binding site i.

  2. If the promoter is minimal, calculate the amount of mRNA to produce, N'mRNA, in this simulation step:

    Here:
    • b is inactive (i.e. leaky) transcription rate, specifying mRNA production rate when no activators and no repressors are bound;
    • k is active (i.e activated) transcription rate and is typically much higher than b; it specifies mRNA production rate when activators are bound;
    • n and m are transcription factor exponents, specifying the degree of non-linearity.

    The structure of this equation is such because we distinguish between three major minimal promoter states:

    • free (unbound) state, meaning no repressor and no activator entities are bound to corresponding binding sites; in this case, N'mRNA will be equal to b (leaky rate);
    • repressor-bound state, meaning only repressor is bound to corresponding binding sites; in this case, bound repressor can – because of the second term of the equation – decrease the basal rate and hence N'mRNA;
    • activator-bound state, meaning only activator is bound; in this case, the second term of the equation will be equal to zero and (assuming k is much larger than b) N'mRNA will be large, indicating activated transcription.

    When both activators and repressors are bound to binding sites, none of the three terms will be equal to zero (provided b and k are non-zero values). Because bound repressor count, Rcount, occurs in two terms, while bound activator count, Acount, only occurs in one term, the effect of bound repressors on N'mRNA will be more pronounced compared to the effect of bound activators. This way, a requirement for repression priority over activation (i.e. a small amount of bound repressor significantly reduces expression levels, despite bound activator) is met.


  3. If the promoter is constitutive, calculate the amount of mRNA to produce, N'mRNA, in this simulation step:

    With our switches in mind, only repressors can bind to constitutive promoter binding sites, hence the equation only has two terms. Here,

    • k is the active (non-repressed, constitutive) transcription rate, reached only when no repressor entities are bound;
    • n is an exponent specifying the degree of non-linearity.
    Repressor binding can thus decrease N'mRNA.


  4. Randomly increase or decrease calculated N'mRNA – this way, stochasticity of transcription is taken into account (e.g. some bound transcription factor can unbind from the binding site). In this step, N'mRNA is altered to a new value:

    where r is a random integer (uniform distribution is used) from the interval

    and t is a real-value parameter between 0 and 1 and specifies the intensity of transcription stochasticity. For our simulations, t was always equal to 0.45.


  5. If NmRNA was set to 0, make NmRNA equal to leaky transcription rate parameter, b, with probability PL (probability of leaky expression – equal to 90 % in our simulations). This probability is used to allow more control over the dynamics of leaky expression.

  6. Transcribe (generate) NmRNA mRNA entities (objects).

  7. Degrade m % of mRNA available in the system.

Translation

The following algorithm steps constitute translation. For each existing mRNA entity, at each simulation step:

  1. with a probability of PT (we refer to this value as translation probability, or translation effectiveness), generate Tr protein entities, where Tr is the translation rate (equal to 1 in all our simulations); mRNA is only translated if the transcription-translation delay has elapsed;

  2. degrade p % of proteins in the system.

Source code

Our modeling-related source code can be found here.

References

Andrecut M, Halley JD, Winkler DA, Huang S. (2011) A General Model for Binary Cell Fate Decision Gene Circuits with Degeneracy: Indeterminacy and Switch Behavior in the Absence of Cooperativity. PLoS ONE 6, e19358. doi:10.1371/journal.pone.0019358.

Kaern M, Blake WJ, Collins JJ. (2003) The engineering of gene regulatory networks. Annual Review of Biomedical Engineering. 5, 179-206.

Kaern M, Elston TC, Blake WJ, Collins JJ. (2005) Stochasticity in gene expression: from theories to phenotypes. Nature. 6, 451-464.

Ribeiro AS, Lloyd-Price J. (2007) SGN Sim, a Stochastic Genetic Networks Simulator. Bioinformatics. 23, 777-779.

Sauro HM. (2012) Enzyme Kinetics for Systems Biology. Future Skill Software.

Siegal-Gaskins D, Mejia-Guerra MK, Smith GD, Grotewold E. (2011) Emergence of Switch-Like Behavior in a Large Family of Simple Biochemical Networks. PLoS Comput Biol 7, e1002039. doi:10.1371/journal.pcbi.1002039.

Widder S, Macía J, Solé R. (2009) Monomeric Bistability and the Role of Autoloops in Gene Regulation. PLoS ONE 4, e5399. doi:10.1371/journal.pone.0005399.


Next: Deterministic model of the mutual repressor switch >>