Modelling - iGEM Bordeaux 2012

iGEM - Bordeaux - Realisation

To carry out that modeling and simulation software, we chose python programming language. This choice has be taken due to short time available and few number of programmers for this project. Python is a high level programming language, interpreted, it permits to create simple and easy programs with a clear syntax and have lots of libraries available.


We are now showing all of the function create for this modeling.
The function features_bacteria () permits to give all the characteristics to each bacteria :

  • random coordinate
  • state (1 to 4)
  • 3 operons (permit cellular communication and to have a visible phenotype)
  • 1 constitutive operon (necessary genes for the signal transduction)

  • All these characteristics are stocked into a list List.

    We have chose to create a function feature_constitutive() which permit to activate differents genes of that operon to be as close as possible of reality. Indeed this permit us to test some variations on the different activity of the operons responsibles of cellular communication. Parameters can be modified in the files

    The next function mutation() scan all the bacteria matrix to imitate mutations on the genes of our 3 operons. This permits to inactivate some genes and act directly on the cellular communication. Indeed if a gene that synthesize a protein that activate another operon is mutated his value will be 0. All these parameters can be modified and chose by the user ine the file

    We put a function active_state() to activate the state and phenotype of the bacteria. This function modify the value none to 1. That activation depends on activated genes.

    We also made a function change_state() to make special modification of the state 1 to state 2, this is due to a little possible leak of our construction. It is the only modification from an activated state to another possible and permited in the simulation.

    The noise function noise(noise_pourcent) permit to generate some noise at the beginning of the simulation. Noise beeing spontaneous abnormal activation of bacteria on the grid. In real bacteria culture this phenomenon is often present, and this function try to mimic this problem . This function was really necessary because this phenomenon can have big influence on the results (see the result pat).

    The function stimulus_light() permit to simulate the beginning point of the simulation. The induction is realized at the center of the grid as a circle. All the bacteria in this area are going to have their gene 1 activated(none ->1).

    The main function of the simulation is stimulus_factor(x,rayon_action) it requires two parameters:
  • x : the probability for a bacteria to be activated depending on the neighborhood.
  • rayon_action : corespond to the distance between two bacteria to communicate.
  • These parameters permit to simulate an evolution of the propagation of cellular communication in time. The x value will rise along the simulation step to imitate the diffusion of the metabolites and soluble factors that permit the activation of the fourth constitutive operon.

    The next function statistic() permits to have at the end of a simulation different data on the experience, severals percentage and other ratio number to exploit the visible results of the grid.

    The function color() permits to classify cells depending on their state.

    The last function do_plot(name,titre) needs two parameters to create the plot of the list. Each bacteria are placed on the grid as colored dot depending of their state.

    Exemple of a simulation :

    for i in range (nb_bacteria):
    	List = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]