Team:USTC-China/modeling/colony

From 2014.igem.org

Revision as of 18:21, 15 October 2014 by Zhenzhang (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Agent-Based Modeling

Introduction

Compared to traditional modeling tools, such as ODE, PDE and many other numerical methods, the Agent-Based Modeling 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:

  1. Give a comprehensive analysis of our artificial system
  2. Discover possible problems or unexpected results
  3. Visualize the regional behavior of a colony

Modeling Details

NetLogo Prototype

At first, we constructed a simple model based on NetLogo.

Specification

  • Agent: C.crescentus
  • 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
  • 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.

Version 1: Light Control

Usage: After setup, you can toggle the Light 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.

Version 2: Attaching Visualization

This is trying to simulate the scenarios in which the C.crescentus goes around and get attached.

File Link

Celllab

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.

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.

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

Results

NetLogo -- Light Control

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.

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.
img

NetLogo -- Visualization

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.

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

Celllab Testing

This is a screenshot of our framework running in browser. You can also click in 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