Team:Montreal/Modeling
From 2008.igem.org
Home | The Team | The Project | Parts | Notebook | Modeling | Links | Sponsors |
---|
Contents |
Modeling
Background
Using coupled differential equations, we are modeling the Repressilator, which is a network of three genes, whose product proteins are repressing each other's growth. This cycle is taking place in each of a colony of cells, who communicate amongst themselves by exchanging an autoinducer molecule (AI, or PX here). The model attempts to take into account a sparse, heterogeneous distribution of many cells (grouped in clusters) with depletion of the autoinducer molecule and leakage while assuming continuous levels of the different proteins, as well as a continuous spatial distribution of these proteins.
For this purpose, the model is currently being coded up in Mathematica. The simulations, based on that continuous model, are generated using xCellerator and NDelayDSolve for different cell configurations (fig. 1); the results obtained are graphs of the concentration of molecules in the system versus time (fig. 2). That is, our interest lies in understanding the behaviour of the clusters with respect to each other (for instance, the phase difference or the synchronization time as in fig. 4-5). As of now, a low number (~4) of cells in two clusters is being used for testing, but a higher one (>100) in more clusters will be reached later.
The Model
For the interested reader, the system of differential equations for the Repressillator network, as it is in the current model, is
PXi'(t) = -βPXi(t) + βXi(t) PYi'(t) = -βPYi(t) + βYi(t) PZi'(t) = -βPZi(t) + βZi(t) Xi'(t) = α0 + [α + α1PZin(t)]/[Kn + PZin(t)] - k1Xi(t) Yi'(t) = α0 + [α + α1PXin(t)]/[Kn + PXin(t)] - k1Yi(t) Zi'(t) = α0 + [α + α1PYin(t)]/[Kn + PYin(t)] - k1Zi(t) PXi'(t) = -wβPXi(t-τij)/[2Piτijv]
where τij = distij/v and α0, α1, α, β, k1, v and w are parameters; distij is the distance between cells i and j. The indices i and j run over all the cells in the system. The first six ones are internal reactions happening in each cells; the last one (which is the only delayed) is the external reaction corresponding to the diffusion of AI in the network.
Here's the reasoning behind the rate of the external reaction for PXj. The proportion of autoinducer (AI, or PX here) molecules from cell i reaching cell j is p=w/[distij2Pi], which is the width of a cell (the target cell) over the circumference of a circle of radius distij. The number of AI molecules reaching the target cell is therefore the quantity emitted PXi times that proportion. However, we need to evaluate PXi at a previous time, since the AI moves slowly. Indeed, the time the molecules will take to diffuse from cell i to j is τij. The rate of creation of the AI molecules is f=β we assume f is also proportional to the frequency at which AI molecules diffuse from the cell. Hence, the rate of AI molecules leaving cell i is n=fPXi(t-τij). Therefore, the rate of change of the AI molecule is the product of the proportion reaching cell j and the number of AI emitted; in other words,
PXi'(t) = np = βPXi(t-τij)w/[distij2Pi] = wβPXi(t-τij)/[2Piτijv].
And we are done.
Journal
The Mathematica notebook used to model the repressillator uses xCellerator to create the differential equations representing the chemical reactions involved. This original version of the notebook is able to deal with randomly distributed close-packed configuration of cells and predicts near-perfect synchronization of the cells in a relatively short time. In this version, the system of differential equations was solved using NDSolve, a standard numerical solver in Mathematica -- which is, however, unable to deal with delay equations. Hence, the equations were not evaluated at retarded times at first. Indeed, our first approach was to add null cells in the network in order to delay the diffusion of molecules. The nulls cells, or pseudo cells, are just grid point where no internal cell reaction occurs, but only diffusion to the next grid point. However, the results such as phase difference depended too heavily on the number of such null cells. The general oscillating behaviour seemed correct though. As we did not have a mean of estimating a realistic distribution of such null cells, they did not seem reliable enough. Furthermore, they were taking similar computing time as of interesting/standard cells -- eating away the computational resources available.
We are now replacing NDSolve with NDelayDSolve to solve the system and we are therefore able to evaluated our equations at retarded times. We are not using null cells anymore. The value of the delays corresponds to the time the molecules of AI diffuse the intercellular distance: the reasoning being that each cells effectively "sees" the concentration of another cell at an earlier time -- the time the molecules take to diffuse between them. We have one worry for now with using NDelayDSolve rather than NDSolve: Mathematica warns that it is not able to reach the prescribed accuracy/precision during the computation. When checking the compatibility of the solution found with the equations, we find "reasonable" errors most of the time, but periodic (roughly at the same time as the peaks as seen in fig. 2) sudden kicks to high discrepancies (fig. 6). We changed the numerical methods used to solve the delay equations in order to minimize the error profile seen in fig. 6: we currently use Stiffness Switching with Explicit and Linearly Implicit Euler. The code as it is takes about 5 minutes to run for a small configuration (2 clusters of 2 cells each). We are still trying to understand how xCellerator handles consistenctly the indices in the external equations.
For a given distance between the two clusters of cells (fig. 1), we plot the concentration of AI in each cells versus time. From there, we extract two informations: synchronization time and phase difference (fig. 4-5). The two clusters are actually not distinguishable for distances below 20 (fig. 4-5). The general trend in fig. 4 seems to be that the longer the distance, the longer it takes to synchronize, but we also noticed that after a certain distance, the two clusters are no longer in synchrony. Unless they just take much longer to synchronize than the windows of the graph -- in which case we would need to run the simulation for a longer time to observe synchronization. As for the graph of the phase difference (fig. 5) made to different scales, we have yet to figure out what could be the pattern. The results are also presented in the form of parametric plots involving the concentration of AI (fig. 3) and some short movies can be generated to show the spatial distribution of the concentration of AI as time moves forward (fig. 2c). An interesting point we noticed up to now is that, whatever the initial conditions, the system of cells has an oscillatory behaviour as in fig. 2.
Future Development
Eventually, if everything goes smoothly of course, we will use more realistic rates for the various reactions: some might be found in the literature, others will be experimentally measured. If the processing power is not too high, we will aim at increasing the number of cells and clusters to something more spectacular (>100 and >4 respectively). Furthermore, we will attempt to do a parameter analysis over the various rates, so that we will try to find the critical values for which peculiar behaviour happens in the system of clusters. Indeed, there might exist some specific values of rates or other parameters for which the system is damped for example. An interesting venue would be to model the diffusion in a different way than by a rate; however, that would probably require to use a non-xCellerator continuous model with the diffusion equation replacing the current external equation.
References
- xCellerator: http://xlr8r.info/