<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- Project Aims
- Project Introduction
- Project Description
- Project Achievements
- Project Projection
- Project Safety
- References and Links
- Biobrick Parts
- Human Practices
In modelling our cell networks, we found it helpful to visualize our machines at a higher level of abstraction than the ubiquitous plasmid map. Flow charts were chosen to efficiently represent the dynamics of the system, borrowing from the engineering concept of finite state-machines.
In our Game of Life system, there is only one ‘machine’ type and two diffusing molecules, IPTG and LuxI. As this is slightly simpler than Rock-Paper-Scissors, with its three machine types and molecules, we implemented the Game of Life model first.
A simulator was designed to interpret the flow charts and model the system to produce spatio-temporal patterns. The simulation environment is defined by an adjustable square grid, typically 100 x 100 for our simulations. The environment is divided into several layers, starting with the cell layer. Each location on the grid can be occupied by a single cell of a predefined type and state. As the simulation progresses cells can change state in response to the diffusion of molecules in the layers below them, as defined by their state transition rules. Below the cell layer reside the molecule layers, with each molecule occupying its own layer. Each grid location holds a number representing the total number of molecules present in that space. A diffusion algorithm runs constantly during simulations, allowing a high concentration of molecules in one area to diffuse to an area of lower concentration. As each molecule resides on its own layer they never interact with each other.
The simulator is written in Tcl and relies heavily on the NAP extension for fast array processing. Simulation durations are defined by the number of times the diffusion algorithm is run and it typically requires about 2 x 10^5 iterations for an initial drop of a molecule in the centre of the grid to diffuse to the edges (for a 100 x 100 grid). On the ageing laboratory P4 it took about 90 minutes to run the simulation described above.
After generating several interesting results from the Game of Life simulation, we looked to modifying the system to simulate our Rock-Paper-Scissors models. Much of the source code was the same for both systems leading us to wonder, ‘What if there was a program that could simulate any system with mechanisms similar to ours?’ The simulator was generalized to allow it to be used with any system involving the production and diffusion of chemical products between cellular machines. A user interface was also added to allow non-programmers to enter their models and run simulations of their own.
The results of our simulations can be at the Game of Life and Rock-Paper-Scissors pages.
The simulator package is available for download from the Open Access page. Although it currently has all of the features required to model our systems and those similar to them, there is much more that can be done. The program has been open-sourced and instructions on how to acquire the source can also be found there.