Difference between revisions of "Team:Tsinghua-A/solid model"

(Created page with "{{Tsinghua-A}} <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Discription</title> <meta name="viewport" content="w...")
 
 
(35 intermediate revisions by 6 users not shown)
Line 39: Line 39:
  
 
     <style type="text/css">
 
     <style type="text/css">
 +
 
 
     .myTitle1 {
 
     .myTitle1 {
 
width:90%;
 
width:90%;
 
height:84px;
 
height:84px;
 
margin-left: 5%;
 
margin-left: 5%;
 +
margin-top: 30px;
 
margin-bottom: 10px;
 
margin-bottom: 10px;
 
font-size: 40px;
 
font-size: 40px;
Line 51: Line 53:
 
margin-left: 5%;
 
margin-left: 5%;
 
margin-bottom: 10px;
 
margin-bottom: 10px;
font-size: 30px;
+
font-size: 32px;
 
}
 
}
 
     .myPara {
 
     .myPara {
Line 69: Line 71:
 
     .myPic1 {
 
     .myPic1 {
 
font-size: 100px;
 
font-size: 100px;
text-align: left;
+
 
margin-bottom: 15px;
 
margin-bottom: 15px;
margin-left: 15%;
+
}
+
text-align: center;
    .myPic2 {
+
font-size: 100px;
+
text-align: left;
+
margin-bottom: 15px;
+
margin-left: 25%;
+
 
}
 
}
 
     .myPicDis {
 
     .myPicDis {
 
margin-left: 5%;
 
margin-left: 5%;
left: 45%;
+
width: 90%;
 
top: 370px;
 
top: 370px;
font-size: 18px;
+
font-size: 15px;
text-align: center;
+
text-align: left
 
}
 
}
 
.myPicDis2 {
 
.myPicDis2 {
Line 96: Line 93:
 
position:absolute;
 
position:absolute;
 
width:70%;
 
width:70%;
height:5000px;
+
height:4640px;
 
z-index:10000;
 
z-index:10000;
top: 150px;
+
top: 100px;
 
left: 15%;
 
left: 15%;
 +
background-color:white;
 +
}
 +
#fh5co-hero {
 +
  min-height: 4640px;
 +
  style:"background: #fff url(https://static.igem.org/mediawiki/2017/thumb/8/87/TsinghuaA-backgroundpartten.jpeg/240px-TsinghuaA-backgroundpartten.jpeg) repeat;"
 
}
 
}
 
.mytable {
 
.mytable {
Line 114: Line 116:
 
<div id="fh5co-page">
 
<div id="fh5co-page">
 
<div id="fh5co-header">
 
<div id="fh5co-header">
+
 
 
 
</div>
 
</div>
 
<!-- end:fh5co-header -->
 
<!-- end:fh5co-header -->
<aside id="fh5co-hero" class="js-fullheight">
+
<aside id="fh5co-hero" class="js-fullheight" style="background: #fff url(https://static.igem.org/mediawiki/2017/thumb/8/87/TsinghuaA-backgroundpartten.jpeg/240px-TsinghuaA-backgroundpartten.jpeg) repeat;">
<div class="flexslider js-fullheight">
+
<div class="flexslider js-fullheight" >
 
<ul class="slides">
 
<ul class="slides">
 
  <li style="background-image: url(images/slide_2.jpg);">
 
  <li style="background-image: url(images/slide_2.jpg);">
Line 134: Line 136:
 
  </div>
 
  </div>
 
</aside>
 
</aside>
<div id="fh5co-services-section"></div>
+
<div id="fh5co-services-section" style="background: #fff url(https://static.igem.org/mediawiki/2017/thumb/8/87/TsinghuaA-backgroundpartten.jpeg/240px-TsinghuaA-backgroundpartten.jpeg) repeat;"></div>
 +
<div style="position:fixed;top: 80%; left: 90%;"><a href="#top"><img src="https://static.igem.org/mediawiki/2017/3/31/TsinghuaA-backtotop.png" width="80" height="80"></a></div>
 +
<div class="background" id="apDiv_background">
 +
                                          <div class="myTitle1" id="top">Solid model</div>
 +
  <div class="myTitle2" >I Introduction</div>
 +
  <div class="myPara" > &nbsp;&nbsp;&nbsp;&nbsp; Spatial factors have a great impact on the results of population interactions. To understand spatial effects better, we develop our discrete probabilistic solid model.<br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Concretely, to achieve this goal we designed a fluid model based on Cellular Automaton (CA). <br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;What is more, we found that it will be much easier to consider spatial factors on population interactions if we can visualize it. Therefore, we designed our game---Solid E.coli War based on our solid model to satisfy our needs. What's more, the game can also help us realize educational purpose of our project and make public know more about synthetic biology! (<a href="https://2017.igem.org/Team:Tsinghua-A/Engagement">Exhibition at National Museum</a>) <br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Our game is made on the structure of html5. Below is a small video of our solid E.coli War. <br>
 +
 
 +
</div>
 +
<div><center><video src="https://static.igem.org/mediawiki/2017/c/c9/Playgame.mp4" width="768" height="432" controls="controls"></video></center></div>
 +
<div class="myPicDis" ><center>See more details on <a href="https://2017.igem.org/Team:Tsinghua-A/solid_game">Solid E.coli War.</a><br><br></center></div>
 +
 +
<div class="myTitle2" >II Our method</div>  
 +
<div class="myPara" > &nbsp;&nbsp;&nbsp;&nbsp;It seems we can use Partial Differential Equation (PDE) directly. However, it will be too complicated to execute PDE fast in program and also difficult for visualization of the changing process, not to say adapting it to our game.<br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Therefore, we chose another method as our solid model fundamental: cellular automaton (CA). <br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;A cellular automaton consists of a regular grid of cells, each in one of a finite number of states. An initial state (time t = 0) is selected by assigning a state for each cell. A new generation is created (advancing t by 1), according to some fixed rule (generally, a mathematical function) that determines the new state of each cell in terms of the current state of the cell and the states of the cells in its neighborhood. Typically, the rule for updating the state of cells is the same for each cell and does not change over time, and is applied to the whole grid simultaneously.<br>
 +
  &nbsp;&nbsp;&nbsp;&nbsp;Using the idea of CA, first, we discretize whole space in a medium and total time we take to cultivate cells; second, we set placement rules, i.e. events that will happen after a cell is put onto medium; third, we set iteration rules, i.e. events that will trigger during each iteration in simulation.
 +
<br><br></div>  
 +
<div class="myTitle2" >III Basic assumptions</div>  
 +
<div class="myPara" > &nbsp;&nbsp;&nbsp;&nbsp;Our solid model has several basic assumptions that are indispensable.<br>
 +
(1) A colony-to-grid representation in a 200×200 mesh grid (one grid represents a cell colony) is good enough to simulate bacterial growth in a real medium. (See <a href="#Overall Discretization">Overall Discretization</a>)<br>
 +
(2) The time it takes for AHLs and nutrition to diffuse into surrounding grids and reach concentration balance is very short compared to the time for cells to grow into colonies. (See <a href="#Placement Rule"> Placement Rules</a>)<br>
 +
(3) We suppose decomposing rate of AHLs and utilization rate nutrition are constants, and decomposing rate is relatively high compared to growth rate of cells.
 +
<br><br></div>  
 +
 
 +
<div class="myTitle2" id="Overall Discretization">IV. Overall discretization</div>
 +
<div class="myPara" >&nbsp;&nbsp;&nbsp;&nbsp;In the first place we do spatial and time discretization. The whole medium is discretized into a 200×200 mesh grid, and valid space for living is a disk inscribed on it with a radius of 100. Using assumption I, we set each cell colony (<b>abbreviated as ‘cell’ in following sections</b>) into a corresponding grid to represent its presence. In software simulation, we keep three matrices of 200×200 size to record the amount of cells, nutrition and AHLs in each grid, respectively. <br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Meanwhile, the whole time we take to cultivate cells is discretized into 1,200 iterations. After each iteration, the number of substances in each grid changes according to certain rules (will be discussed in following sections).
 +
<br><br></div>
 +
 
 +
<div class="myTitle2" id="Placement Rule">V Placement rules</div>
 +
<div class="myPara" >&nbsp;&nbsp;&nbsp;&nbsp;When we place a cell onto a corresponding grid, concentrations of substances in adjacent grids also change as a result. We apply assumption II to develop a set of synchronous placement rules: <br>
 +
(1)The event of placing a cell triggers concentration incline in surrounding grids synchronously<br>
 +
(2)Cell’s influence keeps unchanged in subsequent iterations as long as the cell exists. <br>
 +
(3)Removal of a cell has inverse effects. <br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;According to assumption III, concentrations of AHL and nutrient will decline in each iteration if their generative sources are removed.
 +
Different types of cells affecting different kinds of substances are illustrated below: <br>
 +
(1) When a farmer is placed, it will eject nutrient to the surrounding 5×5 grids, and the amount of nutrient in each grid will increase by 1. Then the amount of nutrient will hold on until the farmer is killed. When the farmer is removed, the amount decrease by 1. <br>
 +
(2) When placed on grids, warriors eject AHL molecule to the surrounding 3×3 grids, and the amount in each grid increases by 1; Then the amount of AHL molecule will hold on until the farmer is removed. When warriors is removed, the amount decreases by 1.
 +
<br><br></div>
 +
 
 +
<div class="myTitle2" >VI Iteration rules</div>
 +
<div class="myPara" >&nbsp;&nbsp;&nbsp;&nbsp;In the i<sub>k</sub>-th iteration, our program traverses the whole mesh grid and checks for two missions: death penalty and probabilistic growth based on states of the i<sub>(k-1)</sub>-th iteration. We may call the grid which the program is checking ‘present grid’ for convenience. <br><br></div>
 +
 
 +
<div class="myTitle2" >VII Death penalty</div>
 +
<div class="myPara" > &nbsp;&nbsp;&nbsp;&nbsp;There are two and only two cases which cause cell death: nutrient in present grid is depleted; or there are enemy AHLs in the present grid. It is noted that farmers cannot die of case I because they create aliments themselves. As for case II, when AHL-I and AHL-II are in adjacent grid and the colony inside the grid is warrior, one of them will be killed. <br><br></div>
 +
 
 +
<div class="myTitle2" >VIII Probabilistic growth</div>
 +
<div class="myPara" > &nbsp;&nbsp;&nbsp;&nbsp;Another mission during iteration is to simulate bacterial growth. Concentration of AHL is excluded in this section, because it only functions in Death Penalty part. Since nutrient contributes to cell growth, a natural idea is to set a probabilistic model of any empty grid, described by a linear equation:<br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;P<sub>k </sub>(x,y)=α∙C<sub>k</sub> (x,y)<br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;Where (x,y) are coordinates of present grid, P<sub>k</sub> (x,y) is the probability an adjacent cell can grow into present grid in i<sub>k</sub>-th iteration, C<sub>k</sub> (x,y) is concentration of nutrient in present grid in i<sub>k</sub>th iteration, α is a coefficient that remains unchanged during simulation.<br>
 +
&nbsp;&nbsp;&nbsp;&nbsp;This equation helps our program to judge whether or not an adjacent cell can grow into present grid in i<sub>k</sub>-th iteration; after this judgement is settled, we choose randomly from surrounding grids that have cells in them, namely, supposing we select cell A, and inherit its cell type to get clone cell B in present grid. Now we see cell A successfully ‘grow’ into present grid and has its duplicate cell B. Note that when B is generated, placement rules mentioned above will be applied according to B’s type and position.
 +
</div>
 +
<div class="myPara">&nbsp;&nbsp;&nbsp;&nbsp;In conclusion, our solid model help us a lot in considering effect of spatial factors on population interactions and designing of our <a href="https://2017.igem.org/Team:Tsinghua-A/solid_game">solid E.coli War.</a><br><br></div>
 +
<div class="myTitle2" >IX Reference</div>
 +
<div class="myPara">
 +
[1] Cao Y, Ryser M D, Payne S, et al. Collective space sensing coordinates pattern scaling in engineered bacteria[J]. Cell, 2016, 165(3):620.<br>
 +
[2] Payne S, Li B, Cao Y, et al. Temporal control of self-organized pattern formation without morphogen gradients in bacteria.[J]. Molecular Systems Biology, 2013, 9(1):697.
 +
</div>
 +
<div class="myPara" ><br><br></div>
 +
<div class="myPic1" id="apDiv_figure1">
 +
    <img src="https://static.igem.org/mediawiki/2017/7/74/Great-sponsors.png" width="840.5" height="150"></div>
 +
<div class="myPicDis"><a href="https://2017.igem.org/Team:Tsinghua-A">Home</a>&nbsp;&nbsp;&nbsp;&nbsp;Copyright©&nbsp;iGEM&nbsp;2017&nbsp;Tsinghua-A.&nbsp;All&nbsp;rights&nbsp;reserved.&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Follow&nbsp;us:&nbsp;igem2017THU_A@163.com</div>
 +
 
 
</div>
 
</div>
 
<!-- END fh5co-page -->
 
<!-- END fh5co-page -->
Line 160: Line 227:
 
<script src="https://2017.igem.org/Template:Tsinghua-A/JS/main?action=raw&ctype=text/javascript"></script>
 
<script src="https://2017.igem.org/Template:Tsinghua-A/JS/main?action=raw&ctype=text/javascript"></script>
 
         <script src="fixed.js"></script>
 
         <script src="fixed.js"></script>
 
<div class="background">
 
<div class="myPara">
 
<div id="apDiv_title30" class="myTitle1">Modelling--solid medium</div>
 
<div id="apDiv_title13">Contents</div>
 
<a href="#apDiv_title1">Introduction</a><br>
 
<a href="#apDiv_title2">Our Method</a><br>
 
<a href="#apDiv_title4">Basic Assumptions</a><br>
 
<a href="#apDiv_title5">Overall Discretization</a><br>
 
<a href="#apDiv_title6">Placement Rules</a><br>
 
<a href="#apDiv_title9">Iteration Rules</a><br>
 
<a href="#apDiv_title12">References</a></div>
 
<div id="apDiv_title1" class="myTitle1">Introduction</div>
 
        <div id="apDiv_test1" class="myPara">     Spatial factors have a great impact on the results of population competition or cooperation. To understand spatial effects better, we develop our discrete probabilistic solid model.  <br>
 
            This model is then used to simulate cell growth in real medium. Also, it is used as the core algorithm in our E-coli war game.
 
<br><a href="#apDiv_title30">back to the top</a>
 
</div>
 
        <div id="apDiv_title2" class="myTitle1">Our Method</div>
 
       
 
        <div id="apDiv_test2" class="myPara">     It seems we can use Partial Differential Equation (PDE) directly. However, it will be too complicated to execute PDE fast in program and also difficult for visualization of the changing process, not to say adapting it to our game.  <br>
 
                Thus, we choose another method as our solid model fundamental: cellular automaton(CA).  <br>
 
                [wikipedia] A cellular automaton consists of a regular grid of cells, each in one of a finite number of states. An initial state (time t = 0) is selected by assigning a state for each cell. A new generation is created (advancing t by 1), according to some fixed rule (generally, a mathematical function) that determines the new state of each cell in terms of the current state of the cell and the states of the cells in its neighborhood. Typically, the rule for updating the state of cells is the same for each cell and does not change over time, and is applied to the whole grid simultaneously.  <a href="#apDiv_title12">[1]</a><br>
 
            Using the idea of CA, first, we discretize whole space in a medium and total time we take to nourish cells; second, we set placement rules, i.e. events that will happen after a cell is put onto medium; third, we set iteration rules, i.e. events that will trigger during each iteration in simulation.<br><a href="#apDiv_title30">back to the top</a></div>
 
        <div id="apDiv_title4" class="myTitle1">Basic Assumptions</div>
 
        <div id="apDiv_test3" class="myPara">     Our solid model has several basic assumptions that are indispensable.  <br>
 
            I. A colony-to-grid representation in a 200×200 mesh grid (one grid represents a cell colony) is good enough to simulate bacterial growth in a real medium. (See <a href="#apDiv_title5">Overall Discretization</a>) <br>
 
            II. The time it takes for AHLs and nutrient to diffuse into surrounding grids and meet concentration balance is very short compared to the time for cells to grow into colonies. <a href="#apDiv_title12">[2]</a> (See <a href="#apDiv_title6">Placement Rules</a>) <br>
 
            III. We suppose decomposing rate of AHLs and utilization rate nutrition are constants, and decomposing rate is relatively high compared to growth rate of cells.  <a href="#apDiv_title12">[3]</a> (See <a href="#apDiv_title6">Placement Rules</a>)<br><a href="#apDiv_title30">back to the top</a></div>
 
        <div id="apDiv_title5" class="myTitle1">Overall Discretization</div>
 
        <div id="apDiv_test4" class="myPara">     In the first place we do spatial and time discretization. The whole medium is discretized into a 200×200 mesh grid, and valid space for living is a disk inscribed on it with a radius of 100. Using <a href="#apDiv_test3">assumption I</a>, we set each cell colony <strong>(abbreviated as ‘cell’ in following sections)</strong> into a corresponding grid to represent its presence. In software simulation, we keep three matrices of 200×200 size to record the amount of cells, nutrient and AHLs in each grid, respectively. <br>
 
                Meanwhile, the whole time we take to cultivate cells is discretized into 1,200 iterations. After each iteration, the number of substances in each grid changes according to certain rules (will be discussed in following sections).<br><a href="#apDiv_title30">back to the top</a></div>
 
        <div id="apDiv_title6" class="myTitle1">Placement Rules</div>
 
        <div id="apDiv_test5" class="myPara">     When we place a cell onto a corresponding grid, concentrations of substances in adjacent grids also change as a result. We apply <a href="#apDiv_test3">assumption II</a> to develop a set of synchronous placement rules: (1)The event of placing a cell triggers concentration incline in surrounding grids synchronously (2)Cell’s influence keeps unchanged in subsequent iterations as long as the cell exists.  (3)Removal of a cell has inverse effects. <br>
 
According to <a href="#apDiv_test3" >assumption III</a>, concentrations of AHL and nutrient will decline in each iteration if their generative sources are removed. <br>
 
Different types of cell affecting different kinds of substances are illustrated below:<br><a href="#apDiv_title30">back to the top</a></div>
 
        <div id="apDiv_title7" class="myTitle2">Placing Farmers</div>
 
        <div id="apDiv_test6" class="myPara">     When placed, a farmer will eject nutrient to surrounding 5×5 grids, and the amount of nutrient in each grid will increase by 1. Then the amount of nutrient will hold on until the farmer is killed. When a farmer is removed, the amount decrease by 1.</div>
 
        <div id="apDiv_figure1" class="myPic1"><img src="https://static.igem.org/mediawiki/2017/a/a6/TsinghuaA-solid_1.png" width="797" height="270"></div>
 
        <div id="apDiv_description1" class="myPicDis">Fig.1  Farmers release nutrient (graphed in green) into surrounding grids</div>
 
        <div id="apDiv_title8" class="myTitle2">Placing Warriors</div>
 
        <div id="apDiv_test7" class="myPara">      When placed, warriors eject AHLs to surrounding 3×3 grids, and the amount in each grid increases by 1; Then the amount of AHL molecule will hold on until the farmer is removed. When warriors being removed, the amount decreases by 1.</div>
 
        <div id="apDiv_figure2" class="myPic1"><img src="https://static.igem.org/mediawiki/2017/e/ef/TsinghuaA-solid_2.png" width="797" height="478.2"></div>
 
        <div id="apDiv_description2" class="myPicDis">Fig.2  Warriors release AHLs (graphed in red) into surrounding grids<br><a href="#apDiv_title30">back to the top</a></div>
 
        <div id="apDiv_title9" class="myTitle1">Iteration rules</div>
 
        <div id="apDiv_test8" class="myPara">     In the i_k-th iteration, our program traverses the whole mesh grid and checks for two missions: death penalty and probabilistic growth based on states of the i_(k-1)-th iteration. We may call the grid which the program is checking ‘present grid’ for convenience.</div>
 
        <div id="apDiv_title10" class="myTitle2">Death Penalty</div>
 
        <div id="apDiv_test9" class="myPara">     There are two and only two cases which causes cell death: nutrient in present grid is depleted; or there are enemy AHLs in present grid. It is noted that farmers cannot die of <em>case I</em> because they create nutrient themselves. As for <em>case II</em>, when AHL-I and AHL-II are in adjacent grid and the colony inside the grid is warrior, one of them will be killed (randomly).</div>
 
        <div id="apDiv_test10" class="myPara">     Another mission during iteration is to simulate bacterial growth. Concentration of AHL is excluded in this section, because it only functions in <a href="#apDiv_title10">Death Penalty</a> part. Since nutrient contribute to cell growth, a natural idea is to set a probabilistic model of any empty grid, described by a linear equation:</div>
 
        <div id="apDiv_test11" class="myPara">     Where (x,y) are coordinates of present grid, P_k (x,y) is the probability an adjacent cell can grow into present grid in i_k-th iteration, C_k (x,y) is concentration of nutrient in present grid in i_k-th iteration, α is a coefficient that remains unchanged during simulation. We have tried different values of α and eventually set α=0.013 to fit experimental results well.  <br>
 
                This equation helps our program to judge whether or not an adjacent cell can grow into present grid in i_k-th iteration; after this judgement is settled, we choose randomly from surrounding grids that have cells in them, supposing we select cell A, and inherit its cell type to get clone cell B in present grid. Now we see cell A successfully ‘grow’ into present grid and has its duplicate cell B. Note that when B is generated, aforementioned placement rules will be applied according to B’s type and position.</div>
 
        <div id="apDiv_title11"  class="myTitle2">Probabilistic growth</div>
 
        <div id="apDiv_figure3" class="myPic1"><img src="https://static.igem.org/mediawiki/2017/b/bb/TsinghuaA-solid_3.png" width="479" height="246">
 
<div class="myPara"><br><a href="#apDiv_title30">back to the top</a></div>
 
        <div id="apDiv_title12" class="myTitle1">References</div>
 
        <div id="apDiv_test12" class="myPara">[1] https://en.wikipedia.org/wiki/Cellular_automaton
 
          <br>
 
          [2] ..<br>
 
          <br>
 
  <br><a href="#apDiv_title30">back to the top</a>
 
        </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  </div>
 
 
</body>
 
</body>
 
</html>
 
</html>

Latest revision as of 00:44, 2 November 2017

Discription
Solid model
I Introduction
     Spatial factors have a great impact on the results of population interactions. To understand spatial effects better, we develop our discrete probabilistic solid model.
    Concretely, to achieve this goal we designed a fluid model based on Cellular Automaton (CA).
    What is more, we found that it will be much easier to consider spatial factors on population interactions if we can visualize it. Therefore, we designed our game---Solid E.coli War based on our solid model to satisfy our needs. What's more, the game can also help us realize educational purpose of our project and make public know more about synthetic biology! (Exhibition at National Museum)
    Our game is made on the structure of html5. Below is a small video of our solid E.coli War.
See more details on Solid E.coli War.

II Our method
    It seems we can use Partial Differential Equation (PDE) directly. However, it will be too complicated to execute PDE fast in program and also difficult for visualization of the changing process, not to say adapting it to our game.
    Therefore, we chose another method as our solid model fundamental: cellular automaton (CA).
    A cellular automaton consists of a regular grid of cells, each in one of a finite number of states. An initial state (time t = 0) is selected by assigning a state for each cell. A new generation is created (advancing t by 1), according to some fixed rule (generally, a mathematical function) that determines the new state of each cell in terms of the current state of the cell and the states of the cells in its neighborhood. Typically, the rule for updating the state of cells is the same for each cell and does not change over time, and is applied to the whole grid simultaneously.
    Using the idea of CA, first, we discretize whole space in a medium and total time we take to cultivate cells; second, we set placement rules, i.e. events that will happen after a cell is put onto medium; third, we set iteration rules, i.e. events that will trigger during each iteration in simulation.

III Basic assumptions
    Our solid model has several basic assumptions that are indispensable.
(1) A colony-to-grid representation in a 200×200 mesh grid (one grid represents a cell colony) is good enough to simulate bacterial growth in a real medium. (See Overall Discretization)
(2) The time it takes for AHLs and nutrition to diffuse into surrounding grids and reach concentration balance is very short compared to the time for cells to grow into colonies. (See Placement Rules)
(3) We suppose decomposing rate of AHLs and utilization rate nutrition are constants, and decomposing rate is relatively high compared to growth rate of cells.

IV. Overall discretization
    In the first place we do spatial and time discretization. The whole medium is discretized into a 200×200 mesh grid, and valid space for living is a disk inscribed on it with a radius of 100. Using assumption I, we set each cell colony (abbreviated as ‘cell’ in following sections) into a corresponding grid to represent its presence. In software simulation, we keep three matrices of 200×200 size to record the amount of cells, nutrition and AHLs in each grid, respectively.
    Meanwhile, the whole time we take to cultivate cells is discretized into 1,200 iterations. After each iteration, the number of substances in each grid changes according to certain rules (will be discussed in following sections).

V Placement rules
    When we place a cell onto a corresponding grid, concentrations of substances in adjacent grids also change as a result. We apply assumption II to develop a set of synchronous placement rules:
(1)The event of placing a cell triggers concentration incline in surrounding grids synchronously
(2)Cell’s influence keeps unchanged in subsequent iterations as long as the cell exists.
(3)Removal of a cell has inverse effects.
    According to assumption III, concentrations of AHL and nutrient will decline in each iteration if their generative sources are removed. Different types of cells affecting different kinds of substances are illustrated below:
(1) When a farmer is placed, it will eject nutrient to the surrounding 5×5 grids, and the amount of nutrient in each grid will increase by 1. Then the amount of nutrient will hold on until the farmer is killed. When the farmer is removed, the amount decrease by 1.
(2) When placed on grids, warriors eject AHL molecule to the surrounding 3×3 grids, and the amount in each grid increases by 1; Then the amount of AHL molecule will hold on until the farmer is removed. When warriors is removed, the amount decreases by 1.

VI Iteration rules
    In the ik-th iteration, our program traverses the whole mesh grid and checks for two missions: death penalty and probabilistic growth based on states of the i(k-1)-th iteration. We may call the grid which the program is checking ‘present grid’ for convenience.

VII Death penalty
    There are two and only two cases which cause cell death: nutrient in present grid is depleted; or there are enemy AHLs in the present grid. It is noted that farmers cannot die of case I because they create aliments themselves. As for case II, when AHL-I and AHL-II are in adjacent grid and the colony inside the grid is warrior, one of them will be killed.

VIII Probabilistic growth
    Another mission during iteration is to simulate bacterial growth. Concentration of AHL is excluded in this section, because it only functions in Death Penalty part. Since nutrient contributes to cell growth, a natural idea is to set a probabilistic model of any empty grid, described by a linear equation:
    Pk (x,y)=α∙Ck (x,y)
    Where (x,y) are coordinates of present grid, Pk (x,y) is the probability an adjacent cell can grow into present grid in ik-th iteration, Ck (x,y) is concentration of nutrient in present grid in ikth iteration, α is a coefficient that remains unchanged during simulation.
    This equation helps our program to judge whether or not an adjacent cell can grow into present grid in ik-th iteration; after this judgement is settled, we choose randomly from surrounding grids that have cells in them, namely, supposing we select cell A, and inherit its cell type to get clone cell B in present grid. Now we see cell A successfully ‘grow’ into present grid and has its duplicate cell B. Note that when B is generated, placement rules mentioned above will be applied according to B’s type and position.
    In conclusion, our solid model help us a lot in considering effect of spatial factors on population interactions and designing of our solid E.coli War.

IX Reference
[1] Cao Y, Ryser M D, Payne S, et al. Collective space sensing coordinates pattern scaling in engineered bacteria[J]. Cell, 2016, 165(3):620.
[2] Payne S, Li B, Cao Y, et al. Temporal control of self-organized pattern formation without morphogen gradients in bacteria.[J]. Molecular Systems Biology, 2013, 9(1):697.


Home    Copyright© iGEM 2017 Tsinghua-A. All rights reserved.    |    Follow us: igem2017THU_A@163.com