Why Mathematical Modelling?
We decided to use Mathematical Modelling in order to get a better understanding of what was going on in our BioSensor, without conducting a large amount of experiments, which would have been both costly, and time inefficient.
Mathematical modelling allowed us to find out what exactly was going on in our system, such as what concentration of each substance was present at certain time points.
What were we modelling?
We wanted to quantify the readout of our BioSensor, so naturally the AmilCP quantity was essential to predict. We wanted to be able to estimate how much AmilCP would be produced in our system depending on a set of initial conditions: mainly the amount of Tetracycline Solution in the system.
How did we model it?
Using the SimBiology toolkit in MATLAB, we created a diagram of the chemical reactions occuring in our BioSensor.
The SimBiology toolkit then generates a system of Ordinary Differential Equations using the parameters and rate constants provided in the diagram. This was an invaluable tool in the modelling process, and really made modelling the system a lot easier and less painful than it would be otherwise, seeing as we ended up with a system of seven ODE's!
Ordinary Differential Equations Obtained:
$$ \begin{align} \frac{d[\text{TetR mRNA}]}{dt} &= -\text{kf[TetR Translation]}*[\text{TetR mRNA}] \\ &+ \text{kf[Constant Transcription]} \\ \frac{d[\text{TetR}]}{dt} &= \text{kf[TetR Translation]}*[\text{TetR mRNA}] \\ &- \text{kf[Association w/ Promoter]}*[\text{TetR}] \\ \frac{d[\text{TetR Complex}]}{dt} &= \text{kf[Association w/ Promoter]}*[\text{TetR}] \\ &- \text{kf[DNA Dissociation]}*[\text{TetR Complex}] \\ &+ \text{kf[Diffusion]}*[\text{Tetracycline Solution}] \\ \frac{d[\text{Free AmilCP Operon}]}{dt} &= \text{kf[DNA Dissociation]}*[\text{TetR Complex}] \\ &- \text{kf[Transcription]}*[\text{Free AmilCP Operon}] \\ \frac{d[\text{AmilCP mRNA}]}{dt} &= \text{kf[Transcription]}*[\text{Free AmilCP Operon}] \\ &- \text{kf[AmilCP mRNA Translation]}*[\text{AmilCP mRNA}]\\ &- \text{kf[mRNA Degredation]}*[\text{AmilCP mRNA}] \\ \frac{d[\text{AmilCP Protein}]}{dt} &= \text{kf[AmilCP mRNA Translation]}*[\text{AmilCP mRNA}] \\ &- \text{kf[Protein Degredation]}*[\text{AmilCP Protein}] \\ \frac{d[\text{Tetracycline Solution}]}{dt} &= -\text{kf[Diffusion]}*[\text{Tetracycline Solution}] \end{align} $$Where \(\text{kf[ ]}\) denotes a forward rate parameter, and \(\text{[ ]}\) denotes concentration of a substance
Solutions to the Ordinary Differential Equations:
This system of 7 differential equations does not have an analytical solution, so we needed to implement some numerical methods.
To simulate this system of Ordinary Differential Equations I used the 4 th order Runge-Kutta method to provide a numerical solution. I implemented this method in Python, and all my code will be made available in a GitHub repository which can be found on the UCC iGEM 2017 Wiki. I ran the simulation for a time of 30 seconds, using 10000 time steps. Since some of the rate constants were unknown, I ran the system for a variety of different values, eventually arriving at constants which produced favourable results when graphed. Since Biological and Chemical Systems are inherently going to possess some sort of randomness, I also simulated the model using the Stochastic Simulation Algorithm in MATLAB. This Algorithm describes the system in terms of the time evolution of probability distributions.
Numerical Solution: 4th order Runge-Kutta method, no initial Tetracycline Solution in the system:
Numerical Solution: 4th order Runge-Kutta method, 2000μg of Tetracycline Solution in the system:
Numerical Solution: Stochastic Simulation Algorithm, no initial Tetracycline Solution in the system:
Numerical Solution: Stochastic Simulation Algorithm, 2000μg of Tetracycline Solution in the system:
Results
Results were quite favourable. The output of the graphs matched what we expected to happen in our system quite well. When there was no Tetracycline in the system, there was little to no AmilCP produced in the simulation.
When we have Tetracycline present in the system we see an increase in the amount of AmilCP Produced compared to when there was no Tetracycline in the system. The Stochastic simulation, which takes into account the randomness of the system approximately follows the same curves as when the Runge-Kutta method was used, leading us to believe that the Stochastic solution converges to the solution obtained when using the Runge-Kutta method.
This model was then used by the team to predict how much AmilCP will be produced in the system for different concentrations of Tetracycline, and thus provides us with a method for quantifying the readout of our biosensor.