Team:Imperial College/GRO

Population Model

Ecolibrium has developed two population-based models on two different platforms: Gro and MATLAB. Gro presents a novel way to visualise stochastic simulations via real-time animations. Gro fits into our data visualisation strategy, which you can find more about in our Integrated Human Practices page. The MATLAB model provides a more detailed representation of the intracellular and extracellular interactions of our Genetically Engineered Artificial Ratio (G.E.A.R.) system. Scroll down to learn more about our two population-based models!







MATLAB



Using the SimBiology toolbox of 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. 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.

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.

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 populations is then modelled through the Competitive Lotka-Volterra equations, which incorporate competition for shared resources within standard logistic growth equations.

In cell population A:

C14 quorum:

\[\varnothing\rightarrow C14\] \[C14\rightleftharpoons C14_{ext}\] \[C14+C14R \rightarrow C14_{complex}\] \[2 C14_{complex} \rightleftharpoons C14_{dimer}\] \[RNA_{pol} + Promoter_{C14R} \rightarrow RNA_{pol} + Promoter_{C14R} + mRNA_{C14R}\] \[mRNA_{C14R}\rightarrow C14R\]



C4 quorum:

\[C4_{ext}\rightleftharpoons C4\] \[RNA_{pol} + Promoter_{C4R} \rightarrow RNA_{pol} + Promoter_{C4R} + mRNA_{C4R}\] \[mRNA_{C4R}\rightarrow C4R\] \[C4+C4R \rightarrow C4_{complex}\] \[2 C4_{complex} \rightleftharpoons C4_{dimer}\]



STAR-antiSTAR comparator:

\[C14_{dimer} + Promoter_{Cin} \rightleftharpoons Promoter_{Cin+C14}\] \[RNA_{pol} + Promoter_{Cin+C14} \rightleftharpoons RNA_{pol} + Promoter_{Cin+C14} + STAR\] \[RNA_{pol} + Promoter_{Cin} \rightleftharpoons RNA_{pol} + Promoter_{Cin} + STAR\] \[C4_{dimer} + Promoter_{Rhl} \rightleftharpoons Promoter_{Rhl+C4}\] \[RNA_{pol} + Promoter_{Rhl+C4} \rightleftharpoons RNA_{pol} + Promoter_{Rhl+C4} + antiSTAR\] \[RNA_{pol} + Promoter_{Rhl} \rightleftharpoons RNA_{pol} + Promoter_{Rhl} + antiSTAR\] \[antiSTAR + STAR\rightleftharpoons STAR_{complex}\]



Growth regulation:

\[Promoter_{AD1} + STAR\rightleftharpoons Promoter_{AD1+STAR}\] \[RNA_{pol} + Promoter_{AD1+STAR}\rightarrow RNA_{pol} + Promoter_{AD1+STAR} + mRNA_{GP2}\] \[RNA_{pol} + Promoter_{AD1}\rightarrow RNA_{pol} + Promoter_{AD1} + mRNA_{GP2}\] \[mRNA_{GP2}\rightarrow GP2_{pre}\] \[GP2_{pre}\rightarrow GP2\] \[GP2 + RNA_{pol} \rightleftharpoons GP2:RNA_{pol}\] \[\varnothing\rightarrow mRNA_{RNApol}\] \[mRNA_{RNApol}\rightarrow RNA_{pol}\]



Degradation:

\[C4\rightarrow\varnothing\] \[C4R\rightarrow\varnothing\] \[mRNA_{C4R}\rightarrow\varnothing\] \[C4_{complex}\rightarrow\varnothing\] \[C4_{dimer}\rightarrow\varnothing\] \[ STAR\rightarrow \varnothing\] \[ antiSTAR\rightarrow \varnothing\] \[STAR_{complex}\rightarrow \varnothing\] \[mRNA_{GP2}\rightarrow \varnothing\] \[GP2 \rightarrow \varnothing\] \[GP2_{pre} \rightarrow \varnothing\] \[GP2:RNA_{pol} \rightarrow \varnothing\] \[RNA_{pol} \rightarrow \varnothing\] \[mRNA_{RNApol} \rightarrow \varnothing\] \[C14R\rightarrow\varnothing\] \[mRNA_{C14R}\rightarrow\varnothing\] \[C14_{complex}\rightarrow\varnothing\] \[C14\rightarrow\varnothing\] \[C14_{dimer}\rightarrow\varnothing\]

In cell population B:

C4 quorum:

\[\varnothing\rightarrow C4\] \[C4\rightleftharpoons C4_{ext}\] \[C4+C4R \rightarrow C4_{complex}\] \[2 C4_{complex} \rightleftharpoons C4_{dimer}\] \[RNA_{pol} + Promoter_{C4R} \rightarrow RNA_{pol} + Promoter_{C4R} + mRNA_{C4R}\] \[mRNA_{C4R}\rightarrow C4R\]



C14 quorum:

\[C14_{ext}\rightleftharpoons C14\] \[RNA_{pol} + Promoter_{C14R} \rightarrow RNA_{pol} + Promoter_{C14R} + mRNA_{C14R}\] \[mRNA_{C14R}\rightarrow C14R\] \[C14+C14R \rightarrow C14_{complex}\] \[2 C14_{complex} \rightleftharpoons C14_{dimer}\]



STAR-antiSTAR comparator:

\[C14_{dimer} + Promoter_{Cin} \rightleftharpoons Promoter_{Cin+C14}\] \[RNA_{pol} + Promoter_{Cin+C14} \rightleftharpoons RNA_{pol} + Promoter_{Cin+C14} + antiSTAR\] \[RNA_{pol} + Promoter_{Cin} \rightleftharpoons RNA_{pol} + Promoter_{Cin} + antiSTAR\] \[C4_{dimer} + Promoter_{Rhl} \rightleftharpoons Promoter_{Rhl+C4}\] \[RNA_{pol} + Promoter_{Rhl+C4} \rightleftharpoons RNA_{pol} + Promoter_{Rhl+C4} + STAR\] \[RNA_{pol} + Promoter_{Rhl} \rightleftharpoons RNA_{pol} + Promoter_{Rhl} + STAR\] \[antiSTAR + STAR\rightleftharpoons STAR_{complex}\]



Growth regulation:

\[Promoter_{AD1} + STAR\rightleftharpoons Promoter_{AD1+STAR}\] \[RNA_{pol} + Promoter_{AD1+STAR}\rightarrow RNA_{pol} + Promoter_{AD1+STAR} + mRNA_{GP2}\] \[RNA_{pol} + Promoter_{AD1}\rightarrow RNA_{pol} + Promoter_{AD1} + mRNA_{GP2}\] \[mRNA_{GP2}\rightarrow GP2_{pre}\] \[GP2_{pre}\rightarrow GP2\] \[GP2 + RNA_{pol} \rightleftharpoons GP2:RNA_{pol}\] \[\varnothing\rightarrow mRNA_{RNApol}\] \[mRNA_{RNApol}\rightarrow RNA_{pol}\]



Degradation:

\[C4\rightarrow\varnothing\] \[C4R\rightarrow\varnothing\] \[mRNA_{C4R}\rightarrow\varnothing\] \[C4_{complex}\rightarrow\varnothing\] \[C4_{dimer}\rightarrow\varnothing\] \[ STAR\rightarrow \varnothing\] \[ antiSTAR\rightarrow \varnothing\] \[STAR_{complex}\rightarrow \varnothing\] \[mRNA_{GP2}\rightarrow \varnothing\] \[GP2 \rightarrow \varnothing\] \[GP2_{pre} \rightarrow \varnothing\] \[GP2:RNA_{pol} \rightarrow \varnothing\] \[RNA_{pol} \rightarrow \varnothing\] \[mRNA_{RNApol} \rightarrow \varnothing\] \[C14R\rightarrow\varnothing\] \[mRNA_{C14R}\rightarrow\varnothing\] \[C14_{complex}\rightarrow\varnothing\] \[C14\rightarrow\varnothing\] \[C14_{dimer}\rightarrow\varnothing\]

External Medium:

\[C4_{ext}\rightarrow\varnothing\] \[C14_{ext}\rightarrow\varnothing\]



All the above reactions and diffusion processes were modelled using the 3-compartment SimBiology, where a system of ODEs for the entire dynamical system was generated and simulations were run. All reaction kinetics were defined in the model to follow the law of mass action. Rates for diffusion processes were modelled as follows1:

\[AHL \rightleftharpoons AHL_{ext}\] \[k_{diffusion}=D([AHL]-[AHL_{ext}])\]
< \[AHL_{ext} \rightleftharpoons AHL\] \[k_{diffusion}=D([AHL_{ext}]-[AHL])\]
\[D= 8 \cdot 10^{-3} s^{-1}\]

Where D represents the diffusion coefficient across the cell membrane.1



Additionally, the 2 compartments representing the different populations grow according to the Competitive Lotka-Volterra equations below:

\[\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}))\]

α: the effect a competing population has on a population’s growth
K: the population’s carrying capacity
r: a value between 0 and 1 for the population’s growth rate, modulated by GP2 in the cells of the population
x: represents the population.





When a co-culture is inoculated at a 1:1 ratio with populations that grow at different rates but do not contain the GEAR system, a clear disparity in their growth can be observed.



Figure 1: Population dynamics observed without a GEAR system implemented

One population clearly outcompetes the other and the 1:1 ratio is lost. Implementing the default GEAR system into the populations of this co-culture results in an obvious improvement in the ability of the co-culture to maintain its original 1:1 ratio.



Figure 2: Population dynamics observed with a default GEAR system

The effectiveness of the GEAR system is even more pronounced when a key tunable parameter of the circuit identified by the sensitivity analysis of the single cell model, in this case only the constitutive transcription rate of STAR-activated GP2, is optimized. Such a change can be implemented in vivo simply by using a different Anderson promoter from the iGEM Registry. As seen below the co-culture is tuned by the GEAR system such that it maintains its original 1:1 ratio.



Figure 3: Population dynamics observed with an optimized GEAR system

Similarly when a co-culture is inoculated at a 2:1 ratio with populations that grow at different rates but do not contain the GEAR system, one population also clearly outcompetes the other.



Figure 4: Population dynamics observed without a GEAR system

The introduction of the GEAR system, without any optimization of the key controllable parameters of the circuit, again works very effectively to correct the imbalance in the consortium's ratio.



Figure 5: Population dynamics observed with a default GEAR system

Again, by further modifying the constitutive transcription rate of STAR-activated GP2, the ratio of the co-culture populations can be tuned very precisely from the 2:1 inoculation ratio to a new 1:1 ratio.



Figure 6: Population dynamics observed without an optimized GEAR system



The population model in both SBML and SimBiology formats is available for direct zip download HERE
Additionally these models are available on our Github

GRO


This year, the Imperial iGEM team has decided to use a new language to visualise the behavior of its Genetically Engineered Artificial Ratio (G.E.A.R.) system: Gro. This new language, has allowed us to run hundreds of stochastic simulations, displayed as real-time animations, that provided us with an idea of how our system behaves. Gro proved to be a powerful visualisation tool that Matlab and its Simbiology toolbox both lacked. We have used this tool since the early stages of our project development to explain our circuit to scientists in Imperial College London and designers at the Royal College of Art. As a result Gro played a major role in the construction of our Visualisation Guidebook, which aims to help iGEM teams, particularly the ones on the foundation track, to communicate their project more clearly and efficiently to all kind of audiences.

Gro, developed by the Klavins group at the University of Washington, simulates the behaviour of cells in microcolonies including intrinsic and extrinsic noise. In this way the platform allowed us to carry out stochastic modelling of a version of our circuit to simulate the multicellular behaviours we are expecting.

The model we have produced is a high level model, designed to visually communicate the behaviour of our system at a population level. Due to a lack of computational power, the following simulations, unlike the Matlab models, do not include typical behaviour such as competition for resources, assuming infinite amount of resource and space for the cell populations. However all models by definition include diffusion rates so that we can explore this effect of population level behaviour on our circuit. The following simulations took an average of 2 days to run.

Figure 7: GRO simulation video of 2 cell populations with our GEAR circuit growing at 1:1 ratio.



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. 7 models in total were run, 5 which use our circuit, and 2 control systems to compare the results. All 30 runs were then plotted on a single graph per model with an average to show the typical behaviour of the system. Below each set of simulation results is a small description of the model corresponding to those results.


Figure 8: Plot of the population ratio over time for a stochastic simulation of predefined ratio 1:1 with a starting ratio of 0.6.


Figure 9: Plot of the population ratio over time for a stochastic simulation of predefined ratio 1:1 with a starting ratio of 1.5.

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 (figure 8) and 30 starting from a ratio of 1.5 (figure 9). 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 170 minutes whereas in graph 2 it is 180 minutes due to the value of the initial ratio.


Figure 10: Plot of the population ratio over time for a stochastic simulation of a control system without our circuit with a starting ratio of 0.7.

A control for each of these starting ratios was also run (figure 10), 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 always shown to grow at the ratio it began at irrespective of the population size, whereas in reality we expect that one population will outcompete the other for nutritional resources and space. As previously mentioned, these aspects were not implemented into the initial model 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.


Figure 11: Plot of the population ratio over time for a stochastic simulation of predefined ratio 2:1 with a starting ratio of 0.7.

A second simulation ran one version of the model to a ratio of 2:1 (figure 11), which can again be compared to the previously mentioned control (figure 10). The starting ratio was 1.5 and 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 its final value.


Figure 12: Plot of the population ratio over time for a stochastic simulation of predefined ratio 5:3 with a natural ratio of 2:1.

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 (figure 12). The artificial ratio of the populations implemented by our circuit was set at 3:5 and the natural growth of the populations was set so that one was double the other to give a ratio of 2:1. In this way we set the system so that the desired ratio was set to reverse the natural balance of the system. From the results it can be seen that the ratio begins to converge to the desired steady-state ratio in an underdamped manner. We theorised that if the simulation was run again for longer the ratio would eventually stabilise at the set 3:5 ratio.

GRO


Figure 13: GRO simulation video


Figure 14: GRO simulation video


Figure 15: Plot of the size of each of 3 populations over time for a stochastic simulation with our circuit implemented to show the behaviour of 3 "banks"


Figure 16: Plot of the population ratio over time for a stochastic simulation of a 3 population system with our circuit implemented to show the behaviour of 3 "banks"


Figure 17: Plot of the population ratio over time for a stochastic simulation of a 3 ratio control system without our circuit implemented to show the behaviour of 3 "banks"

During a brainstorm for the applications of our system we theorised 10 applications to satisfy the 10 sectors of the global industry classification standard to demonstrate the diversity and full extent of the applications of our system. One of these sectors was financials and hence we ran a simulation to model a financial system of 3 separate banks. In this circuit we modelled 3 banks which all rely on one another either with the implementation of our circuit (figure 16) or via an auxotrophic system as a control (figure 17) 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.

We programmed an event to occur at 180 minutes to simulate a single bank going bankrupt in both models. As can be seen from the graphs due to the orthogonality of the quorum sensing systems within our circuit the two surviving banks can still feed off of one another’s quorum output and they begin to 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.

References



1. Perry, Nicolas, Edward M. Nelson, and Gregory Timp. "Wiring Together Synthetic Bacterial Consortia To Create A Biological Integrated Circuit". ACS Synth. Biol. (2016): n. pag. Web. 18 Oct. 2016.