Team:UC Davis/Modeling

From 2010.igem.org

Revision as of 01:40, 28 October 2010 by Keegano (Talk | contribs)

Goals

Early on, we decided to create a computational model of our pattern generation system. This would allow us to accomplish several important goals:

  • Demonstrate that the circuit logic was sound
  • Test the viability of our construct given realistic parameters
  • Probe the effects that different parameters would have on the system
  • Identify potential failure modes, and the events that might trigger them
  • Evaluate alternative designs of the construct
With these goals in mind, we set about formalizing the system.

Equations

To start, we generate equations for all of the transcription reactions:


From there, we came up with the equations for each binding/unbinding reaction:



We can now see some interesting behaviors of our gene circuit. For instance, the transcription of lambda cI mRNA is dependent on the concentration of promoter I12006 that is bound with lambda cI. However, we can also see from the second set of equations that this promoter may be complexed with 434 cI, which acts as a repressor, removing some of the I12006 which would otherwise be available for transcription. It is important to note that the binding of the repressor "overrides" the activity of the activator; this has important effects on the system, and this behavior reflects the reality of the part.


Not shown here are various simple translation and degradation reactions for the protein species; these equations are straightforward and don't merit much mention here. For our purposes, it is assumed that the translation rate is the same for all proteins.


There is an added level of complexity for our construct. Because the device is intended to exhibit behavior at a multicellular level, and some of the species produced (specifically, quorum sensing molecules produced by las and lux pathways) must will be diffusing throughout the plate, we need a way to model diffusion of species. In general, molecular diffusion can be modelled by Fick's 2nd Law:

[[Fick's Second Law]]

Implementation

After we had derived the necessary equations, we began evaluating various packages that would allow us to compute the solutions to these equations over a large array of cells. Unfortunately, this quickly led to problems; we had decided early on that the best way to incorporate the diffusion component into our model was to discretize Fick's 2nd Law as a 2D Gaussian convolution:

[[Gaussian Convolution]]

We could then compute the diffusion step as a second pass during each time step, after the ODEs had been evaluated - thus skirting around the issue of having to solve thousands of simultaneous PDEs, while still producing realistic results. This would require a computational package that was flexible enough to allow us to hook into the ODE solver, performing our own calculations at each increment. An initial assessment showed that this was going to be more difficult than expected, so we decided to roll our own solution in C++.

This computer program generated the simulation by treating the blank screen of pixels as a representation of the lawn of cells we wanted to construct. Naturally, each pixel would then represent an individual cell in the system that has a certain degree of RFP expression.

In order to take into account the diffusion of the various substances in the system, we implemented a Gaussian blur at each pixel that would be recalculated at every time interval using the previous time interval's output as its input. In this way, we could properly represent the step-by-step concentration of substances at each time step in each pixel by calculating the change in concentration at each time step using the Gaussian blur algorithm at each pixel.

Results

Pictured here is the initial output of the completed simulation. In this particular run, we initialized the system with a vertical stimulus down the center of the plate, resulting in linear oscillation outwards towards the edges.

From this, we can conclude that given our design, the system should function in accordance to our expectations.

To further test the simulation, we decided to try another type of initial stimulus and observe the results. The stimulus we chose was seeding the oscillation at the four corners of the "plate". The following is the result of this run, which again confirms the intended behavior of our system.
We would like to take a moment to thank all of our sponsors for their very generous donations, as we could not have done this without your help!

We would also like to thank and acknowledge:
Our Advisors
Marc Facciotti
Ilias Tagkopoulos
Technical Guidance
David Larsen
Andrew Yao
Visiting iGEMer
Jia Li of Zhejiang University (TEAM ZJU-China)
cI Promoter Screen
Drew Endy - Stanford
Thomas Schneider - NIH
Want to sponsor us? Send an email to mtfacciotti@ucdavis.edu to discuss various ways you can help! :)