ETHZ/Simulation

From 2007.igem.org

< ETHZ(Difference between revisions)
(Simulation of Test Cases)
 
(101 intermediate revisions not shown)
Line 1: Line 1:
-
== Protocol ==
+
[[Image:ETHZ_banner.png|830px]]
 +
<!--
 +
<center>[[ETHZ | Main Page]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Model | System Modeling]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Simulation | Simulations]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Biology | System Implementation]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Biology/Lab| Lab Notes]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Meet_the_team | Meet the Team]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Internal | Team Notes]] &nbsp;&nbsp;&nbsp;&nbsp; [[ETHZ/Pictures | Pictures!]]</center><br>
 +
-->
 +
<html>
 +
<script type="text/javascript" src="http://christos.bergeles.net/eth_dropdowntabs.js">
-
[[Image:ETHZFlowdiagram.png|center|thumb|Fig. 1: Flow diagram |480px]]
+
/***********************************************
 +
* Drop Down Tabs Menu- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
 +
* This notice MUST stay intact for legal use
 +
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
 +
***********************************************/
 +
 
 +
</script>
 +
 
 +
<!-- CSS for Drop Down Tabs Menu #1 -->
 +
<link rel="stylesheet" type="text/css" href="http://christos.bergeles.net/eth_ddcolortabs.css" />
 +
<div id="colortab" class="ddcolortabs">
 +
<ul>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ" title="Home" rel="dropmenu_home"><span>Home</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model" title="Modeling" rel="dropmenu_modeling"><span>System Modeling</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation" title="Simulations" rel="dropmenu_simulation"><span>Simulations</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology" title="System Implementation" rel="dropmenu_biology"><span>System Implementation</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Meet_the_team" title="Meet the team" rel="dropmenu_meettheteam"><span>Meet the team</span></a></li>
 +
<li><a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Pictures" title="Pictures!" rel="dropmenu_pictures"><span>Pictures!</span></a></li>
 +
</ul>
 +
</div>
 +
<div class="ddcolortabsline">&nbsp;</div>
 +
 
 +
 
 +
<!--1st drop down menu -->
 +
<div id="dropmenu_home" class="dropmenudiv_a">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Team_Members">Team Members</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Acknowledgments">Acknowledgments</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ#Site_Map">Site map</a>
 +
</div>
 +
 
 +
 
 +
<!--2nd drop down menu -->
 +
<div id="dropmenu_modeling" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Model_Overview">Model Overview</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Detailed_Model">Detailed Model</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Final_Model">Final Model</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Modeling_Basics">Modeling Basics Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Model#Mathematical_Model">Mathematical Model</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/FSM">FSM View Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/FlipFlop">Flip-Flop View Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Parameters">Parameters Page</a>
 +
</div>
 +
 
 +
<!--3rd drop down menu -->
 +
<div id="dropmenu_simulation" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation#Simulation_of_Test_Cases">Test Cases</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Simulation#Sensitivity_Analysis">Sensitivity Analysis</a>
 +
</div>
 +
 
 +
<!--4th drop down menu -->
 +
<div id="dropmenu_biology" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#Introduction">Introduction</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#The_Complete_System">The Complete System</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#System_Phases">System Phases</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology#Current_Cloning_Status">Current Cloning Status</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology/parts">System Parts Page</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Biology/Lab">Lab Notes Page</a>
 +
</div>
 +
 
 +
<!--5th drop down menu -->
 +
<div id="dropmenu_meettheteam" class="dropmenudiv_a" style="width: 150px;">
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Meet_the_team#The_ETH_Zurich_07_Team">The ETH Zurich 07 Team</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Meet_the_team#Team_Description">Team Description</a>
 +
<a href="https://2007.igem.org/wiki/index.php?title=ETHZ/Internal">Brainstorming Page</a>
 +
</div>
 +
 
 +
<script type="text/javascript">
 +
//SYNTAX: tabdropdown.init("menu_id", [integer OR "auto"])
 +
tabdropdown.init("colortab", 3)
 +
</script>
 +
 
 +
</html>
 +
__NOTOC__
 +
 
 +
=Introduction=
 +
 
 +
As has been presented in the [[ETHZ/Model | Modeling]] page, we have created a model of our system that can be described as a finite state machine. In order to examine the behavior of our system  thoroughly, we have to simulate it through all the difference phases that can be reached. We carry out our simulations based on the protocol presented in Fig. 1.
 +
 
 +
[[Image:ETHzFlowdiagram2.png|center|thumb|<b>Fig. 1</b>: Flow diagram. This figure shows the protocol with which the final system should be tested, as well as the test results in the form of the reported colors. There are three phases the system has to go through: (1) a training or learning phase in which the system learns an input and stores it in its memory, (2) a memory phase in which the system has to keep the content of its memory and, (3) a recognition phase where the output of the system depends on the content of its memory as well as on the current input. |500px]]
== Simulation of Test Cases ==
== Simulation of Test Cases ==
-
To test for all conditions we run timing simulations for all 4 different branches in the flow diagram of our protocol and plotted the concentrations of the inducers, memory proteins and reporter proteins.
+
To test all the possible conditions and transitions in our system, we run timing simulations for all 4 different branches in the flow diagram of our protocol, and we plot the concentrations of the inducers, memory proteins and reporter proteins. During each learning, memorizing and recognizing phase, we wait for the steady state of the system to be reached. The three phases of the system are thus separated sufficiently in time. In all the cases, we  use the following procedure:
-
* During the first 1000 minutes of the simulation we did not add any inducers to the system to check for the baseline production of proteins.
+
* During the first 1000 minutes of the simulation, we do not add any inducers to the system, and as a result, we check for the baseline production of proteins.
-
* Between 1000 and 2000 minutes we added the inducer that should be learned and let the system reach steady state.
+
* Between 1000 and 2000 minutes, we add the inducer that should be learned, and we let the system reach steady state.
-
* After the 2000<sup>th</sup> minute we added the inducer AHL for memory formation and run the simulation for additional 1000 minutes to reach again steady state.
+
* After 2000 minutes, we add the inducer AHL for memory formation, and run the simulation for an additional 1000 minutes, to reach again steady state.
-
* Between 3000 and 4000 minutes we finally tested if the system reacts in the desired way by showing the right color.
+
* Between 3000 and 4000 minutes, we test the final behavior of the system, and check if it reacts in the desired way, by showing the appropriate color.
-
For the simulation parameters that have been used please see ADD LINK TO PARAMETER TABLE
+
The parameters of the system are crucial if one wants to have accurate and realistic simulations. We present the parameters used to simulate our system, in the section [[ETHZ/Parameters | Parameters]].
-
==== Test 1: Learn and recognize IPTG ====
+
<p>[[Image:ETHZTest1_Stand24.10.png|left|thumb|<b>Fig. 2</b>: Test case 1 - Learn and recognize IPTG. The simulated behavior of the system, when IPTG is presented both during the learning phase, and the recognition phase. In both the learning and recognition phase, the system reports by producing CFP, which matches the desired behavior.  |420px]]
 +
[[Image:ETHZTest2_Stand24.10.png|thumb|<b>Fig. 3</b>: Test case 2 - Learn IPTG and get tested for aTc. The simulated behavior of the system, when IPTG is presented during the learning phase, and aTc is presented during the recognition phase. The system reports by producing RFP during the recognition phase, which matches the desired behavior. |420px]]
-
[[Image:ETHZTest1.png|center|thumb|Fig 1: Test 1: learn and recognize IPTG |720px]]
+
[[Image:ETHZTest4_Stand24.10.png|left|thumb|<b>Fig. 4</b>: Test case 3 - Learn aTc and get tested for IPTG. The simulated behavior of the system, when aTc is presented during the learning phase, and IPTG is presented during the recognition phase. The system reports by producing GFP during the recognition phase, which matches the desired behavior. |420px]]</p>
-
Figure 1 shows the simulated behavior of the system when IPTG is presented both during the learing phase and the recognition phase. In both the learning and recognition phase the system reports by producing green florescence proteins which matches the desired behavior.
+
[[Image:ETHZTest3_Stand24.10.png|right|thumb|<b>Fig. 5</b>: Test case 4 - Learn and recognize aTc. The simulated behavior of the system, when aTc is presented both during the learning phase and the recognition phase. In both the learning and recognition phase the system reports by producing YFP, which matches the desired behavior. |420px]]
-
==== Test 2: Learn IPTG and get tested for aTc ====
+
==Sensitivity Analysis==
-
[[Image:ETHZTest2.png|center|thumb|Fig 2: Test 2: learn IPTG and get tested for aTc |720px]]
+
Before performing simulations we did an intensive literature review to find the parameters of our system. Due to the uncertainty in parameter retrieval, we would like our system to have reduced sensitivity to the parameters. That way, we can have a guaranteed stable performance, even under non-simulated conditions.
-
==== Test 3: Learn and recognize aTc ====
+
[[Image:ETHZSensitivity.png|right|thumb|<b>Fig. 6</b>: Sensitivity analysis. We plot the sensitivity for each parameter and each test case that corresponds to the different path ways in Fig. 1. |500px]]
-
[[Image:ETHZTest3.png|center|thumb|Fig 3: Test 3: learn and recognize aTc |720px]]
+
We define sensitivity as the change of the production of the desired florescence protein - which corresponds to the output of our system - depending on the change of the parameters. As shown in Fig. 1 the desired florescence protein output depends on the concentration of the inducers that we present to our system during learning and recognition phase. Overall we have 4 different combinations leading to the 4 different test cases shown in Fig. 1. E.g. when IPTG is presented to the system both during the learning and recognition phase we expect the production of CFPs. That is why we define the sensitivity for test case 1 as
-
Figure 3 shows the simulated behavior of the system when aTc is presented both during the learing phase and the recognition phase. In both the learning and recognition phase the system reports by producing yellow florescence proteins which matches the desired behavior.
+
[[Image:ETHZSensititivityequation.png|center|300px]]
-
==== Test 4: Learn aTc and get tested for IPTG ====
+
<!---<math>Sensitivity = \left | \frac{[ CFP^{105%}_{recognition} ] }{\left [ CFP^{105%}_{baseline}\right ] }- \frac{\left [ CFP^{95%}_{recognition} \right ] }{\left [ CFP^{95%}_{baseline} \right ] }\right |</math>--->
-
[[Image:ETHZTest4.png|center|thumb|Fig 4: Test 4: learn aTc and get tested for IPTG |720px]]
+
where
 +
* [CFP<sub>recognition</sub><sup>105%</sup>] describes the concentration of CFP during the recognition phase when the parameter that we test for is increased by 5%,
 +
* [CFP<sub>baseline</sub><sup>105%</sup>] describes the concentration of CFP without any inducers given to the system when the parameter that we test for is increased by 5%,
 +
* [CFP<sub>recognition</sub><sup>95%</sup>] describes the concentration of CFP during the recognition phase when the parameter that we test for is decreased by 5%, and
 +
* [CFP<sub>baseline</sub><sup>95%</sup>] describes the concentration of CFP without any inducers given to the system when the parameter that we test for is decreased by 5%.
-
Figure 4 shows the simulated behavior of the system when aTc is presented only during the learing phase but IPTG during the recognition phase. In contrast to Figure 3 the system reports by producing cyan florescence proteins during the recognition phase which matches the desired behavior.
+
All concentrations are gained from timing simulations as shown in Fig. 2 when the concentrations reached steady state. E.g. [CFP<sub>recognition</sub>] corresponds to the value of CFP after 4000 minutes while [CFP<sub>baseline</sub>] is equal to the value for CFP after 1000 minutes.
-
== Sensitivity Analysis ==
+
We define sensitivity by using the ratio of [CFP<sub>recognition</sub>] and [CFP<sub>baseline</sub>] to see by which factor the CFP concentration is increased during the recognition phase. The higher this value is the easier it will be possible to determine the correct readout.
-
For a system like our is is not enough to find a set of parameters for which it is working. To provide a stable performance also in the presence of noise and parameter missmatch we were interested in analysing the sensitivity of the system.
+
We subtract the two ratios of [CFP<sub>recognition</sub>]/[CFP<sub>baseline</sub>] for increasing and decreasing the parameter under test by 5% to quantify how much is the influence of the parameter on the output. If the output ratio does not change the parameter has no influence and the sensitivity is equal to zero.
-
The results are plotted in Figure 5.
+
We quantified the sensitivity for all parameters and all 4 test cases. Therefor we look at the concentration of
 +
* CFP in test case 1. A timing simulation for this case is shown in Fig. 2.
 +
* RFP in test case 2. A timing simulation for this case is shown in Fig. 3.
 +
* GFP in test case 3. A timing simulation for this case is shown in Fig. 4.
 +
* YFP in test case 4. A timing simulation for this case is shown in Fig. 5.
 +
The results are plotted in Fig. 6. Furthermore we make sure that no undesired florescence protein is produced during the recognition phase.
-
[[Image:ETHZSensitivity.png|center|thumb|Fig. 5: Sensitivity analysis |720px]]
+
The conclusions that can be derived from our sensitivity analysis are the following:
 +
* Most of the parameters are not sensitive which corresponds to the desired behavior since the system should ideally give a constant output for the same input sequence.
 +
* Our system is most sensitive to the parameter "a", which describes the base production. This is not a surprising result, since we depend on having a good switch. However, we cannot reliably switch off the production of the memory proteins cI and p22cII. This leads to a small signal to noise ration and in the worst case the memory does not work at all. For a more detailed analysis of the switching behavior please see our [[ETHZ/Biology | biological implementation]] page.
 +
* Other sensitive parameters are those that are directly related to the production and decay of the memory proteins cI and p22cII. This can be explained by the fact that our system prefers symmetry between the parameter sets of cI and p22cII, in order to support good switching behavior where the same concentration of p22cII leads to the same repression of cI and vice versa. We can especially see that those parameters seem to be more sensitive for the test cases 1 and 2, where cI has to be stored inside the memory. The reason for this behavior is due to the missing symmetry between the parameters for cI and p22cII, we currently have a bias inside the system towards the production of p22cII.

Latest revision as of 14:27, 26 October 2007

ETHZ banner.png

 


Introduction

As has been presented in the Modeling page, we have created a model of our system that can be described as a finite state machine. In order to examine the behavior of our system thoroughly, we have to simulate it through all the difference phases that can be reached. We carry out our simulations based on the protocol presented in Fig. 1.

Fig. 1: Flow diagram. This figure shows the protocol with which the final system should be tested, as well as the test results in the form of the reported colors. There are three phases the system has to go through: (1) a training or learning phase in which the system learns an input and stores it in its memory, (2) a memory phase in which the system has to keep the content of its memory and, (3) a recognition phase where the output of the system depends on the content of its memory as well as on the current input.

Simulation of Test Cases

To test all the possible conditions and transitions in our system, we run timing simulations for all 4 different branches in the flow diagram of our protocol, and we plot the concentrations of the inducers, memory proteins and reporter proteins. During each learning, memorizing and recognizing phase, we wait for the steady state of the system to be reached. The three phases of the system are thus separated sufficiently in time. In all the cases, we use the following procedure:

  • During the first 1000 minutes of the simulation, we do not add any inducers to the system, and as a result, we check for the baseline production of proteins.
  • Between 1000 and 2000 minutes, we add the inducer that should be learned, and we let the system reach steady state.
  • After 2000 minutes, we add the inducer AHL for memory formation, and run the simulation for an additional 1000 minutes, to reach again steady state.
  • Between 3000 and 4000 minutes, we test the final behavior of the system, and check if it reacts in the desired way, by showing the appropriate color.

The parameters of the system are crucial if one wants to have accurate and realistic simulations. We present the parameters used to simulate our system, in the section Parameters.

Fig. 2: Test case 1 - Learn and recognize IPTG. The simulated behavior of the system, when IPTG is presented both during the learning phase, and the recognition phase. In both the learning and recognition phase, the system reports by producing CFP, which matches the desired behavior.
Fig. 3: Test case 2 - Learn IPTG and get tested for aTc. The simulated behavior of the system, when IPTG is presented during the learning phase, and aTc is presented during the recognition phase. The system reports by producing RFP during the recognition phase, which matches the desired behavior.
Fig. 4: Test case 3 - Learn aTc and get tested for IPTG. The simulated behavior of the system, when aTc is presented during the learning phase, and IPTG is presented during the recognition phase. The system reports by producing GFP during the recognition phase, which matches the desired behavior.

Fig. 5: Test case 4 - Learn and recognize aTc. The simulated behavior of the system, when aTc is presented both during the learning phase and the recognition phase. In both the learning and recognition phase the system reports by producing YFP, which matches the desired behavior.

Sensitivity Analysis

Before performing simulations we did an intensive literature review to find the parameters of our system. Due to the uncertainty in parameter retrieval, we would like our system to have reduced sensitivity to the parameters. That way, we can have a guaranteed stable performance, even under non-simulated conditions.

Fig. 6: Sensitivity analysis. We plot the sensitivity for each parameter and each test case that corresponds to the different path ways in Fig. 1.

We define sensitivity as the change of the production of the desired florescence protein - which corresponds to the output of our system - depending on the change of the parameters. As shown in Fig. 1 the desired florescence protein output depends on the concentration of the inducers that we present to our system during learning and recognition phase. Overall we have 4 different combinations leading to the 4 different test cases shown in Fig. 1. E.g. when IPTG is presented to the system both during the learning and recognition phase we expect the production of CFPs. That is why we define the sensitivity for test case 1 as

ETHZSensititivityequation.png


where

  • [CFPrecognition105%] describes the concentration of CFP during the recognition phase when the parameter that we test for is increased by 5%,
  • [CFPbaseline105%] describes the concentration of CFP without any inducers given to the system when the parameter that we test for is increased by 5%,
  • [CFPrecognition95%] describes the concentration of CFP during the recognition phase when the parameter that we test for is decreased by 5%, and
  • [CFPbaseline95%] describes the concentration of CFP without any inducers given to the system when the parameter that we test for is decreased by 5%.

All concentrations are gained from timing simulations as shown in Fig. 2 when the concentrations reached steady state. E.g. [CFPrecognition] corresponds to the value of CFP after 4000 minutes while [CFPbaseline] is equal to the value for CFP after 1000 minutes.

We define sensitivity by using the ratio of [CFPrecognition] and [CFPbaseline] to see by which factor the CFP concentration is increased during the recognition phase. The higher this value is the easier it will be possible to determine the correct readout.

We subtract the two ratios of [CFPrecognition]/[CFPbaseline] for increasing and decreasing the parameter under test by 5% to quantify how much is the influence of the parameter on the output. If the output ratio does not change the parameter has no influence and the sensitivity is equal to zero.

We quantified the sensitivity for all parameters and all 4 test cases. Therefor we look at the concentration of

  • CFP in test case 1. A timing simulation for this case is shown in Fig. 2.
  • RFP in test case 2. A timing simulation for this case is shown in Fig. 3.
  • GFP in test case 3. A timing simulation for this case is shown in Fig. 4.
  • YFP in test case 4. A timing simulation for this case is shown in Fig. 5.

The results are plotted in Fig. 6. Furthermore we make sure that no undesired florescence protein is produced during the recognition phase.

The conclusions that can be derived from our sensitivity analysis are the following:

  • Most of the parameters are not sensitive which corresponds to the desired behavior since the system should ideally give a constant output for the same input sequence.
  • Our system is most sensitive to the parameter "a", which describes the base production. This is not a surprising result, since we depend on having a good switch. However, we cannot reliably switch off the production of the memory proteins cI and p22cII. This leads to a small signal to noise ration and in the worst case the memory does not work at all. For a more detailed analysis of the switching behavior please see our biological implementation page.
  • Other sensitive parameters are those that are directly related to the production and decay of the memory proteins cI and p22cII. This can be explained by the fact that our system prefers symmetry between the parameter sets of cI and p22cII, in order to support good switching behavior where the same concentration of p22cII leads to the same repression of cI and vice versa. We can especially see that those parameters seem to be more sensitive for the test cases 1 and 2, where cI has to be stored inside the memory. The reason for this behavior is due to the missing symmetry between the parameters for cI and p22cII, we currently have a bias inside the system towards the production of p22cII.