Team:USTC-China/modeling/motion-ctrl

From 2014.igem.org

(Difference between revisions)
(Created page with "{{:Team:USTC-China/partials/header}} <html> <div id="main" class="row"> <div id="main" class="row"> <div class="large-3 columns" id="side-navbar"> <div class="side-na...")
Line 46: Line 46:
     <div class="text">
     <div class="text">
          
          
-
        <a name="dgradgrbcircuit"></a>
+
    To control the motion of C.crescentus, we firstly constructed the basic circuits, then we built a agent-based modeling with visualization in. What's more, we also started a new web-based modeling framework.
-
    <h3 data-magellan-destination="dgradgrbcircuit">DgrA/DgrB Circuit<h3>
+
   
-
 
+
 +
    <a name="dgradgrbcircuit"></a>
 +
       
 +
    <h2 data-magellan-destination="dgradgrbcircuit">Gene Circuits</h2>
 +
            <p>We've constructed several modeling skeleton in Matlab Simbiology Package, they are:</p>
 +
        <ol>
 +
        <li>DgrA/DgrB Circuit in regulating the flagellum movement  </li>
 +
        <li>HfiA/HfsJ Circuit in regulating the genesis of composing substances holdfast.</li>
 +
        </ol>
 +
       
 +
        <h3>DgrA/DgrB Circuit</h3>
 +
        You can get some basic information from <a href="https://2014.igem.org/Team:USTC-China/project/cimager">the project part</a>, we will get a brief illustration.
         <p><img src="https://static.igem.org/mediawiki/2014/6/6f/DgrAB.png" class="th"/></p>
         <p><img src="https://static.igem.org/mediawiki/2014/6/6f/DgrAB.png" class="th"/></p>
 +
       
 +
        After some analysis, we constructed a rudimentary gene
 +
        <img src="https://static.igem.org/mediawiki/2014/0/02/DgrAB2.png" class="th"/>
         <h4 id="equations">Equations</h4>
         <h4 id="equations">Equations</h4>
Line 64: Line 77:
         <h4 id="results">Results</h4>
         <h4 id="results">Results</h4>
-
 
+
         The fellowing pictures simulated the change of [FliL] and [cdiGMP-DgrB] with time. We can read that with upstream signals, the concentration of protein related to the flagellum functions does change.
-
         <p><img src="https://static.igem.org/mediawiki/2014/0/02/DgrAB2.png" class="th"/>
+
         <img src="https://static.igem.org/mediawiki/2014/d/d5/DgrAB3.png" class="th"/>
         <img src="https://static.igem.org/mediawiki/2014/d/d5/DgrAB3.png" class="th"/>
-
         <img src="https://static.igem.org/mediawiki/2014/4/4c/DgrAB1.png" class="th"/></p>
+
       
 +
         <img src="https://static.igem.org/mediawiki/2014/4/4c/DgrAB1.png" class="th"/>
         <a name="hfiahfsjcircuit"></a>
         <a name="hfiahfsjcircuit"></a>
       <h3 data-magellan-destination="hfiahfsjcircuit">HfiA/HfsJ Circuit<h3>
       <h3 data-magellan-destination="hfiahfsjcircuit">HfiA/HfsJ Circuit<h3>
-
 
+
         <p>From our project design, we can get: Upstream promoter Expression Rate $\rightarrow$ HfiA $\rightarrow$ HfsJ $\rightarrow$ Catalyzing Rate</p>
-
 
+
        So, we contracted another gene
-
         <p>The binding affinity and cellular concentrations of HfiA and HfsJ are tuned such that this regulatory system is responsive to small changes rather than robust to large changes. This prediction is consistent with a highly responsive and sensitive regulatory system.</p>
+
        <img src="https://static.igem.org/mediawiki/2014/f/fc/Hfi1.png" class="th"/>
-
 
+
-
        <p>So the block is clear. Upstream promoter Expression Rate $\rightarrow$ HfiA $\rightarrow$ HfsJ $\rightarrow$ Catalyzing Rate</p>
+
         <h4 id="equations">Equations</h4>
         <h4 id="equations">Equations</h4>
Line 104: Line 115:
         </section>
         </section>
         <h4 id="results">Results</h4>
         <h4 id="results">Results</h4>
-
 
+
         We conducted a sensitive analysis here. We can see that the increased concentration of $X$ has a suppressing effect on the protein catalyst rate.  
-
         <p><img src="https://static.igem.org/mediawiki/2014/f/fc/Hfi1.png" class="th"/>
+
         <img src="https://static.igem.org/mediawiki/2014/b/b0/Hfi2.png" class="th"/>
         <img src="https://static.igem.org/mediawiki/2014/b/b0/Hfi2.png" class="th"/>
         <img src="https://static.igem.org/mediawiki/2014/a/a2/Hfi3.png" class="th"/></p>
         <img src="https://static.igem.org/mediawiki/2014/a/a2/Hfi3.png" class="th"/></p>
 +
      <a name="ABM and Visualization"></a>
 +
      <h2 data-magellan-destination="abm">abm</h2>
-
       
+
       <p>Compared to traditional modeling methods, such as ODE, PDE and many others, the <a href="http://en.wikipedia.org/wiki/Agent-based_model">Agent-Based Modeling (ABM)</a> is based on the modeling of individual behaviors.</p>
-
       <a name="introduction"></a>
+
-
      <h2 data-magellan-destination="introduction">introduction</h2>
+
-
      <p>Compared to traditional modeling tools, such as ODE, PDE and many other numerical methods, the <a href="http://en.wikipedia.org/wiki/Agent-based_model">Agent-Based Modeling</a> bases itself on the discrete modeling of individual behaviors, in which the agent choose his actions according to the circumstances. The most intriguing part of ABM is that the overall phenomenon emerging from many agents can be discovered, not verified, which is a regular case in equation modeling methods. So, the reason why we use ABM in our model is that:</p>
+
<p>In ABM, the agent chooses his next step based on the surrounding circumstance. The most intriguing part of ABM is that the overall phenomenon emerges from a large collection of agents. This gives us the opportunity to discover something beyond the scope of traditional modeling methods.</p>
-
      <ol>
+
So In our ABM part, we aimed at:</p>
-
      <li>Give a comprehensive analysis of our artificial system  </li>
+
-
      <li>Discover possible problems or unexpected results  </li>
+
-
      <li>Visualize the regional behavior of a colony</li>
+
-
      </ol>
+
-
      <a name="modelingdetails"></a>
+
<ol>
-
    <h2 data-magellan-destination="ModelingDetails">Modeling Details</h2>
+
<li>Give a comprehensive analysis of the artificial system</li>
 +
<li>Discover fresh new characteristics</li>
 +
<li>Visualize the collective behaviors of many cells</li>
 +
</ol>
       <h3 id="netlogoprototype">NetLogo Prototype</h3>
       <h3 id="netlogoprototype">NetLogo Prototype</h3>
-
      <p>At first, we constructed a simple model based on NetLogo. </p>
+
We have constructed a agent-based model based on NetLogo, and conducted two experiments in computer.
       <h4 id="specification">Specification</h4>
       <h4 id="specification">Specification</h4>
-
      <ul>
+
<ul>
-
      <li>Agent: C.crescentus</li>
+
<li>Agent: C.crescentus</li>
-
      <li>Environment: 2-D Plate, with solid surface (where enough nutrition may exist) scattered at certain places; the light can also effect the cell's attaching behaviors</li>
+
<li>Environment: <ul><li>2-D Plate: Solid surface (where enough nutrition exists in our definition) and liquid environment lacking nutrition.</li>
-
      <li>Behavior: The agent cell have two state: swimmer and attached. In the previous state, the cell will move around the plate in a nearly random discipline, and when it get near to the solid surface, its holdfast will attach to the surface so it can intake the nutrition from surface. When reaching a certain level of nutrition accumulation, the cell will reproduce another cell.</li>
+
<li>Light: effecting the cell's movement ability</li></ul>
-
      </ul>
+
-
      <h4 id="version1lightcontrol">Version 1: Light Control</h4>
+
<li>Behavior: The agent cell have two life-stages: swimmer and attached. In the previous state, the cell will move around the plate in a nearly random way; when it gets near to the solid surface, its holdfast will be attached to the surface so it can intake the nutrition from surface. After accumulating enough energy, the cell will start reproducing.</li>
 +
</ul>
-
      <p>Usage: After <code>setup</code>, you can toggle the <code>Light</code> on GUI panel, and the cells' growth curve will be affected by the light. When the light is on, the cell's movement will be inhabited temporarily.</p>
+
<h4 id="version2attachingvisualization">Visualization</h4>
-
      <h4 id="version2attachingvisualization">Version 2: Attaching Visualization</h4>
+
<p>You can see that the C.crescentus goes around and get attached.</p>
 +
 
 +
<h4 id="version1lightcontrol">Light Control</h4>
 +
 
 +
<p>You can toggle the <code>Light</code> on, and the cells' growth curve will be greatly affected by light. When the light is on, the cell's movement will be inhabited temporarily.</p>
-
      <p>This is trying to simulate the scenarios in which the C.crescentus goes around and get attached.</p>
 
-
      <p><a href="">File Link</a></p>
 
       <a name="celllab"></a>
       <a name="celllab"></a>
-
     <h2 data-magellan-destination="Celllab">Celllab</h2>
+
     <h3 data-magellan-destination="Celllab">Bonus: Celllab</h3>
-
      <p>Celllab is a bio computing framework I am developing, enlighten by the using of NetLogo. The reason why we decide to develop such a web-based, flexible framework is that it is very tempting to give user the ability to customize the modeling running arguments, seeing what happens instantly in a single browser, and be freed from (maybe) heavy computing burden.</p>
+
<p>Celllab is a bio-computing framework under team member Zhen Zhang's developing, enlightened by NetLogo. It is a web-based, flexible framework which is special in the fellowing aspects:
 +
<ol>
 +
<li> Viewer can customize the arguments, options etc. </li>
 +
<li> Running instantly in web browser </li>
 +
<li> Heavy computing burden can be leveled to server-side. </li>
 +
</ol>
 +
</p>
 +
 
 +
<h4> Components </h4>
 +
<ul>
 +
<li>Front-end Drawer -- HTML5 Canvas </li>
 +
<li>Real-time communication -- Socket.io </li>
 +
<li>Back-end server -- node.js </li>
 +
<li>ABM system prototype -- SimPy</li>
 +
</ul>
-
      <p>Except for the essential interface, such as a mini server written based on Node.js, we also developed a demo, which is based on our ABM. This demo includes two part, one is front-end rendering of data received from server-side, the other, the simulator, is built as a minimal ABM modeling in Python, based on SimPy.</p>
 
       <p>If you would like to know more about this project, you are welcomed to visit <a href="https://github.com/izgzhen/celllab">our Github Repo</a>  </p>
       <p>If you would like to know more about this project, you are welcomed to visit <a href="https://github.com/izgzhen/celllab">our Github Repo</a>  </p>
Line 160: Line 184:
       <a name="results"></a>
       <a name="results"></a>
     <h2 data-magellan-destination="Results">Results</h2>
     <h2 data-magellan-destination="Results">Results</h2>
 +
<h3 id="netlogovisualization">NetLogo -- Visualization</h3>
 +
<img src="https://static.igem.org/mediawiki/2014/f/f0/Record.gif"class="th" ></img>
-
      <h3 id="netlogolightcontrol">NetLogo -- Light Control</h3>
+
<p>This is a dynamic visualization of the C.crescentus behaviors. The white to red region is solid surface, which provides necessary nutrition for cells to reproduce. The cells will consume the nutrition as well, but the nutrition is sustainable in this case.</p>
-
 
+
-
      <p>The above picture is about the change of cell population with time, you can see that when I turn on the light, the population will decrease; when I turn off the light, the population will grow. So we can approximately get a conclusion that through light's control of cell movement, we can control the growing rate of the whole population.</p>
+
-
 
+
-
      <p>How to explain this phenomenon in a cellular level? The light will inhabit cell's free moving, which prevent the cells from contacting the surface. And in fact, you can also observe the slight delay, which is a reasonable result considering the do many different states of cells. <br />
+
-
      <img src="https://static.igem.org/mediawiki/2014/3/30/Abmlight.png" alt="img" class="th" /></p>
+
-
      <h3 id="netlogovisualization">NetLogo -- Visualization</h3>
+
<p>You may want to notice how crescents is attached to the region.</p>
-
      <p>This is a dynamic visualization of the C.crescentus behaviors in a medium-size level. The white-red region is solid surface, which contains necessary nutrition for cells to reproduce. The cell will consume the nutrition, but the nutrition is set to be sustainable in this show case.</p>
+
<h3 id="netlogolightcontrol">NetLogo -- Light Control</h3>
 +
<img src="https://static.igem.org/mediawiki/2014/3/30/Abmlight.png" class="th" />
 +
<p>The above picture is the change of cell population with time. When the light is on, the population will decay; When light is off, the population will grow. So we can get a conclusion that through light induced  of cell movement, we can control the growing rate of the whole population. The light will inhabit cell's free moving, which prevent the cells from contacting the surface. And in fact, you can also observe the slight delay, which is a reasonable result the massive amount of cells.</p>
-
      <p>You may want to notice how crescents is attached to the region.</p>
+
<h3 id="celllabtesting">Celllab Demo</h3>
-
      <img src="https://static.igem.org/mediawiki/2014/f/f0/Record.gif"class="th" ></img>
+
<p>This is a screenshot of our framework running in browser. You can also click here to see a live demo.</p>
-
      <h3 id="celllabtesting">Celllab Testing</h3>
+
<p>Our aim is to make modeling work presented in a more dynamic, attractive and easy way.</p>
-
      <p>This is a screenshot of our framework running in browser. You can also click in here to see a live demo.</p>
+
<p>You can set your argument and click run, which will lead you to a real-time simulation. <br />
 +
<img src="https://static.igem.org/mediawiki/2014/8/81/Celllab-testing.png" alt="img"class="th"  /></p>
-
      <p>Our aim is to make modeling work presented in a more dynamic, attractive and easy way.</p>
 
-
      <p>You can set your argument and click run, which will lead you to a real-time simulation. <br />
 
-
      <img src="https://static.igem.org/mediawiki/2014/8/81/Celllab-testing.png" alt="img"class="th"  /></p>
 
       </div>
       </div>
     </div>
     </div>

Revision as of 19:58, 17 October 2014

Motion Control

To control the motion of C.crescentus, we firstly constructed the basic circuits, then we built a agent-based modeling with visualization in. What's more, we also started a new web-based modeling framework.

Gene Circuits

We've constructed several modeling skeleton in Matlab Simbiology Package, they are:

  1. DgrA/DgrB Circuit in regulating the flagellum movement
  2. HfiA/HfsJ Circuit in regulating the genesis of composing substances holdfast.

DgrA/DgrB Circuit

You can get some basic information from the project part, we will get a brief illustration.

After some analysis, we constructed a rudimentary gene

Equations

$\frac{d([cdiGMP-DgrA])}{dt} = \frac{(Ka \cdot [cdiGMP] \cdot DgrA - Kf \cdot [cdiGMP-DgrA] \cdot FliL - [Kd_{cdiGMP-DgrA}] \cdot [cdiGMP-DgrA])}{cell}$

$\frac{d([cdiGMP-DgrB])}{dt} = \frac{(Kb \cdot [cdiGMP] \cdot DgrB - [Kd_{cdiGMP-DgrB}] \cdot [cdiGMP-DgrB])}{cell}$

$\frac{d(FliL)}{dt} = \frac{(-Kf \cdot [cdiGMP-DgrA] \cdot FliL + Kg_{FliL})}{cell}$

$\frac{d([cdiGMP-DgrA-FliL])}{dt} = \frac{(Kf \cdot [cdiGMP-DgrA] \cdot FliL)}{cell}$

Results

The fellowing pictures simulated the change of [FliL] and [cdiGMP-DgrB] with time. We can read that with upstream signals, the concentration of protein related to the flagellum functions does change.

HfiA/HfsJ Circuit

From our project design, we can get: Upstream promoter Expression Rate $\rightarrow$ HfiA $\rightarrow$ HfsJ $\rightarrow$ Catalyzing Rate

So, we contracted another gene

Equations

$\frac{d(P_{HfiA})}{dt} = -\frac{Vm_{HfiA} \cdot X^n_{HfiA}/(Kp_{HfiA}+X^n_{HfiA})}{cell}$

$\frac{d([X-P_{HfiA}])}{dt} = \frac{Vm_{HfiA} \cdot X^n_{HfiA}/(Kp_{HfiA}+X^n_{HfiA}) - Kd_{c1 }cdot [X-P_{HfiA}]}{cell}$

$\frac{d(mRNA_{HfiA})}{dt} = \frac{Ktc_{HfiA} \cdot P_{HfiA} - Kd_{mRNA_{HfiA}} \cdot mRNA_{HfiA} }{cell}$

$\frac{d(HfiA)}{dt} = \frac{Ktl_{HfiA} \cdot mRNA_{HfiA} - Kd_{HfiA} \cdot HfiA - Kc \cdot HfiA \cdot HfsJ}{cell}$

$\frac{d(P_{HfsJ})}{dt} = \frac{-Vm_{HfsJ} \cdot P_{HfsJ}^n{_{HfsJ}}/(Kp_{HfsJ}+P_{HfsJ}^{n_{HfsJ}})}{cell}$

$\frac{d([CtrA-P_{HfsJ}])}{dt} = \frac{Vm_{HfsJ} \cdot P_{HfsJ}^n{_{HfsJ}}/(Kp_{HfsJ}+P_{HfsJ}^{n_{HfsJ}}) - Kd_{c2 }cdot [CtrA-P_{HfsJ}]}{cell}$

$\frac{d(mRNA_{HfsJ})}{dt} = \frac{Ktc_{HfsJ} \cdot [CtrA-P_{HfsJ}] - Kd_{mRNA_{HfsJ}} \cdot mRNA_{HfsJ}}{cell}$

$\frac{d(HfsJ)}{dt} = \frac{Ktl_{HfsJ} \cdot mRNA_{HfsJ} - Kd_{HfsJ} \cdot HfsJ - Kc \cdot HfiA \cdot HfsJ - Kf \cdot HfsJ \cdot Sub-Kr \cdot EzCom + Kcat \cdot EzCom}{cell}$

$\frac{d([HfiA-HfsJ])}{dt} = \frac{Kc \cdot HfiA \cdot HfsJ}{cell}$

$\frac{d(Sub)}{dt} = \frac{-Kf \cdot HfsJ \cdot Sub-Kr \cdot EzCom}{cell}$

$\frac{d(Pro)}{dt} = \frac{Kcat \cdot EzCom}{cell}$

$\frac{d(EzCom)}{dt} = \frac{Kf \cdot HfsJ \cdot Sub-Kr \cdot EzCom - Kcat \cdot EzCom}{cell}$

Results

We conducted a sensitive analysis here. We can see that the increased concentration of $X$ has a suppressing effect on the protein catalyst rate.

abm

Compared to traditional modeling methods, such as ODE, PDE and many others, the Agent-Based Modeling (ABM) is based on the modeling of individual behaviors.

In ABM, the agent chooses his next step based on the surrounding circumstance. The most intriguing part of ABM is that the overall phenomenon emerges from a large collection of agents. This gives us the opportunity to discover something beyond the scope of traditional modeling methods.

So In our ABM part, we aimed at:

  1. Give a comprehensive analysis of the artificial system
  2. Discover fresh new characteristics
  3. Visualize the collective behaviors of many cells

NetLogo Prototype

We have constructed a agent-based model based on NetLogo, and conducted two experiments in computer.

Specification

  • Agent: C.crescentus
  • Environment:
    • 2-D Plate: Solid surface (where enough nutrition exists in our definition) and liquid environment lacking nutrition.
    • Light: effecting the cell's movement ability
  • Behavior: The agent cell have two life-stages: swimmer and attached. In the previous state, the cell will move around the plate in a nearly random way; when it gets near to the solid surface, its holdfast will be attached to the surface so it can intake the nutrition from surface. After accumulating enough energy, the cell will start reproducing.

Visualization

You can see that the C.crescentus goes around and get attached.

Light Control

You can toggle the Light on, and the cells' growth curve will be greatly affected by light. When the light is on, the cell's movement will be inhabited temporarily.

Bonus: Celllab

Celllab is a bio-computing framework under team member Zhen Zhang's developing, enlightened by NetLogo. It is a web-based, flexible framework which is special in the fellowing aspects:

  1. Viewer can customize the arguments, options etc.
  2. Running instantly in web browser
  3. Heavy computing burden can be leveled to server-side.

Components

  • Front-end Drawer -- HTML5 Canvas
  • Real-time communication -- Socket.io
  • Back-end server -- node.js
  • ABM system prototype -- SimPy

If you would like to know more about this project, you are welcomed to visit our Github Repo

Results

NetLogo -- Visualization

This is a dynamic visualization of the C.crescentus behaviors. The white to red region is solid surface, which provides necessary nutrition for cells to reproduce. The cells will consume the nutrition as well, but the nutrition is sustainable in this case.

You may want to notice how crescents is attached to the region.

NetLogo -- Light Control

The above picture is the change of cell population with time. When the light is on, the population will decay; When light is off, the population will grow. So we can get a conclusion that through light induced of cell movement, we can control the growing rate of the whole population. The light will inhabit cell's free moving, which prevent the cells from contacting the surface. And in fact, you can also observe the slight delay, which is a reasonable result the massive amount of cells.

Celllab Demo

This is a screenshot of our framework running in browser. You can also click here to see a live demo.

Our aim is to make modeling work presented in a more dynamic, attractive and easy way.

You can set your argument and click run, which will lead you to a real-time simulation.
img