Team:USTC-China/modeling/motion-ctrl

From 2014.igem.org

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.

img