Team:Imperial College/GRO

Population Model
Population Modelling Matlab


Using the SimBiology app provided with MATLAB, a population-level model was created based on the single cell model of GP2 regulation to predict the ratio between 2 populations, with each containing its own circuit. The model consists of 2 compartments representing separate populations housed within a larger compartment representing the extracellular environment. Quorum communication between the circuits within each separate population compartment is encapsulated via AHL diffusion between population compartments and the extracellular medium: \[AHL \rightleftharpoons AHL_{ext}\] \[\frac{\text{d}AHL_{ext}}{\text{d}t}=D([AHL]-[AHL_{ext}])\]

Where:

\[D= 8 \cdot 10^{-3} s^{-1}\], the diffusion coefficient across the cell membrane The full single cell model of the circuit is also contained within each population’s compartment, which is scaled up automatically to the growing population compartment’s size by SimBiology. The dynamics of each population’s own internal circuit based on GP2 growth regulation then determines its growth rate. The growth of the population compartments is dictated by the Competitive Lotka-Volterra equations, which incorporate the effect that species sharing resources has to a standard logistic growth model: \[\frac{\text{d}x_{A}}{\text{d}t}=r_{A}x_{A}(1-(\frac{x_{A}+\alpha_{AB} x_{B}}{K_A}))\] \[\frac{\text{d}x_{B}}{\text{d}t}=r_{B}x_{B}(1-(\frac{x_{B}+\alpha_{BA} x_{A}}{K_B}))\] Where: \[\alpha] represents the effect a competing population has on a population’s growth. \[{K}] represents the population’s carrying capacity. \[0<{r}<1] represents the population’s growth rate. \[{x}] represents the population. This population-level model allows us to accurately predict the ratio between two populations when modifying the key controllable parameters (ie. promoter strength, copy number, RBS strength, etc) of the circuit identified by the sensitivity analysis of the single-cell model and consequently tune the populations to a desired ratio.

Population Modelling GRO


gro is a programming language developed at the University of Washington which simulates the behaviour of cells in microcolonies including intrinsic and extrinsic noise.In this way the platform allows for a basic stochastic model to simulate the multicellular behaviour of our circuit. The model we have produced is a high level model, designed to visually communicate the behaviour of our system at a population level.
After implementing a simplified version of the circuit with GP0.4 growth regulation into two populations of e.coli, the simulation was run 30 times per model. 8 models in total were run, 6 which use our circuit, and 2 control systems to compare the results, and all 30 runs were then plotted on a single graph per model with an average to show the [ average] behaviour of the system. Below each set of results is a small description of the model corresponding to those results.

Graph1

Graph2

Above are the results of the models which implemented each stage of our molecular circuit from the cell receiving the quorum molecule to the binding of GP0.4 to the FtsZ molecules of that cell. The model was run 60 times in total, 30 starting at a ratio of 0.6 and 30 starting from a ratio of 1.5. Each plot has an average plotted in black.

This model shows underdamped oscillations which reach the desired ratio of 1:1 at roughly 170 minutes. Furthermore it can be seen that the further away from the desired ratio the initial ratio is at the beginning of the simulation, the longer it would take to reach the final ratio as expected. Hence in graph 1 the time to reach a ratio of 1:1 is x minutes whereas in graph 2 it is y minutes due to the value of the initial ratio.

A control for each of these starting ratios was also run (figure x), with no circuit implemented to compare the random growth of two e.coli populations against the growth of e.coli populations in which we have implemented our circuit. Due to the nature of the control, each population is shown to grow at the ratio it began at, whereas in reality we expect that one population will outcompete the other for nutritional resources and space. These aspects were not implemented into the initial model due to computational power and hence for continuity were also not implemented into the control. The full code for both of these models and all following models can be found on our Github.

Graph3

A second simulation ran one version of the model to a ratio of 2:1 (figure x) and another to a non integer ratio value of 1.7:1 (figure y), both of which can again be compared to the previously mentioned control (figure z). The starting ratio was that of 1.5, the code can be found on our Github. Within this model, the circuit was altered at the translation step of GP0.4, which is one potential module of the circuit which we have hypothesised can be altered in order to change the ratio of our system in the lab. Indeed the model shows that the system does converge to the desired ratio at a time period of around 180 minutes. Although this is slower than previous examples, we believe this is because the starting ratio is further from the final expected ratio and hence the system takes longer to reach this stable node.

Graph4

Next we ran a model wherein the growth rate of population B was twice that of population A to investigate whether our circuit could “hold up” in such conditions. The desired ratio was set to reverse the natural balance of the system so that the population with the slower growth rate would be larger than that of the faster growth rate in a 2:1 ratio respectively. Results [It can be seen that, although the time taken to reach a steady-state ratio is longer, the co-culture still reaches the desired 2:1 ratio. Whereas in the control model the population with the larger growth rate quickly surpasses the other population and, in reality, would completely outcompete the other population becoming an unstable co-culture and eventually leading to an undesired mono-culture. ]

Graph5

Finally we ran a simulation to model a financial system, which is one of our (10) applications to satisfy the 10 sectors of (industry) - link. In this circuit we modelled a system with 3 separate banks which all rely on one another with the implementation of our circuit and a control which uses an auxotrophic system to stabilise the populations. Within this auxotrophic system population A produces the required protein for population B which produces the required protein for population C which produces the required population for population A. An event occurs at x minutes to simulate a single bank going bankrupt in both models. As can be seen from the graph due to the orthogonality of the quorum sensing systems the two surviving banks can still feed off of one another’s quorum output and they stabilise into a one to one ratio. In the control circuit however without the third population or bank, population A can no longer survive and hence neither can population B and the system collapses.