Team:Paris Liliane Bettencourt/Project/Population counter/model

From 2010.igem.org

(Difference between revisions)
Line 122: Line 122:
In this paragraph, we use several constants suggested in the <em>paper of Hasty et al.</em> (see references), or sometimes some approximations. We shall mention these numerical values along this paragraph.<br/><br/>
In this paragraph, we use several constants suggested in the <em>paper of Hasty et al.</em> (see references), or sometimes some approximations. We shall mention these numerical values along this paragraph.<br/><br/>
-
We use a discrete lattice to make the computations, considering that the cavity of the microfluidic device can be divided in several slices of constant width <em>dx</em>. It has been further assumed (for simplicity of computations essentially) that diffusion only takes place along the <em>x</em> axis (see figure 1 above). The discrete step time wil be denoted <em>dt</em>. Thus our equations will depend on a one-dimensional space parameter and on time.
+
We use a discrete lattice to make the computations, considering that the cavity of the microfluidic device can be divided in several slices of constant width <em>dx</em>. It has been further assumed (for simplicity of computations essentially) that diffusion only takes place along the <em>x</em> axis (see figure 1 above). The discrete step time wil be denoted <em>dt</em>. Thus our equations will depend on a one-dimensional space parameter and on time.<br/><br/>
Line 132: Line 132:
<img src="https://static.igem.org/mediawiki/2010/6/60/Discrete_scheme.jpg" alt="bin_distrib" title="Binary distribution, ruling the movement of the bacteria" align="center" height="100"/></center><br />
<img src="https://static.igem.org/mediawiki/2010/6/60/Discrete_scheme.jpg" alt="bin_distrib" title="Binary distribution, ruling the movement of the bacteria" align="center" height="100"/></center><br />
-
However, it appears to be more complicated to solve since <em>u(x,t+dt)</em> cannot be obtained explicitly knowing the solution <em>u</em> at time <em>t</em>. Fortunately it can be expressed as a tridiagonal system of equations that we solved numerically.
+
However, it appears to be more complicated to solve since <em>u(x,t+dt)</em> cannot be obtained explicitly knowing the solution <em>u</em> at time <em>t</em>. Fortunately it can be expressed as a tridiagonal system of equations that we solved numerically.<br/><br/>
<h3> Stochastic Gillespie algorithm </h3>
<h3> Stochastic Gillespie algorithm </h3>
The basic idea lying here is to compute random times for a population rather than computing them for each individual (which is much more computer intensive). Those random times appear in the recombinations and the birth-death calculus; Gillespie's idea, which we are about to describe, allows to compute the time of the next recombination (resp. birth or death) within the population instead of making the calculus and storing the result for each cell in the device.<br/>
The basic idea lying here is to compute random times for a population rather than computing them for each individual (which is much more computer intensive). Those random times appear in the recombinations and the birth-death calculus; Gillespie's idea, which we are about to describe, allows to compute the time of the next recombination (resp. birth or death) within the population instead of making the calculus and storing the result for each cell in the device.<br/>
-
Under the assumption that cells' recombination times are independent from one bacteria to the other, and that these times follow an exponential law of parameter &lambda;, Gillespie tells us that the next recombination time (resp. birth or death time) follows an exponential law of parameter <em>N<sub>pop</sub>.&lambda;</em>.
+
Under the assumption that cells' recombination times are independent from one bacteria to the other, and that these times follow an exponential law of parameter &lambda;, Gillespie tells us that the next recombination time (resp. birth or death time) follows an exponential law of parameter <em>N<sub>pop</sub>.&lambda;</em>.<br/><br/>
<h3> Stochastic movement of the cells </h3>
<h3> Stochastic movement of the cells </h3>
-
 
+
As promised before, we give the two functions describing the movement of the bacteria in the microfluidic device:
<center>
<center>
<img src="https://static.igem.org/mediawiki/2010/f/f0/F.jpg" alt="bin_distrib" title="Binary distribution, ruling the movement of the bacteria" align="center" height="30"/></center><br />
<img src="https://static.igem.org/mediawiki/2010/f/f0/F.jpg" alt="bin_distrib" title="Binary distribution, ruling the movement of the bacteria" align="center" height="30"/></center><br />
Line 148: Line 148:
<img src="https://static.igem.org/mediawiki/2010/5/52/F2.jpg" alt="bin_distrib" title="Binary distribution, ruling the movement of the bacteria" align="center" height="30"/></center><br />
<img src="https://static.igem.org/mediawiki/2010/5/52/F2.jpg" alt="bin_distrib" title="Binary distribution, ruling the movement of the bacteria" align="center" height="30"/></center><br />
-
where <em>N<sub>sw/unsw</sub></em>
+
where <em>N<sub>sw/unsw</sub></em> denotes either the number of switched bacteria (or recombinated bacteria) or unswitched bacteria. The idea here is to have, on average at each step time, <em>dt.k<sub>diff</sub>.f(x,t)</em> bacteria that will move, a result we would get from usual diffusion. As previously mentioned, we cannot use regular diffusion since our algorithm must apply to discrete data lying on a wide rane of integers.
 +
<br/><br/>
<h3> Simulations </h3>
<h3> Simulations </h3>

Revision as of 00:45, 28 October 2010


Population counter





Introduction

We aim at setting up a biological device counting random events occuring in a microfluidic device (see figure 1). These events are recombinations in the cells of the device, stimulated by pulses of arabinose coming from the tunnel. Once a certain number of pulses have been triggered, we expect our device to start emitting green fluorescence. First, we shall describe the dynamics of the population of bacteria in our device as for instance its recombinations, which further lead to the rise of the concentration of produced AHL. AHL is a quorum sensing molecule that, once a certain concentration threshold is reached, triggers in our device the production of GFP. It then alerts us of the end of counting. To count how many recombinations (so how many events) are needed to get the quorum sensing response, we shall determine the role and assess the value of a few critical parameters in our model.

The process

To be able to model the system, we first need to have a feeling of how the components of the system react and interact with one another. First, we send a pulse of arabinose through the tunnel which triggers, with a certain probability, the recombination of some bacteria. Those bacteria are then expected to become red (RFP expression) and start producing LuxI, which in turns promotes the production of AHL. AHL will play two roles:
  • it can bind with intracellular LuxR, which is a constitutively expressed protein so that its concentration inside the cell will be considered as constant. We call it LuxRf as long as it is free from AHL, LuxR* otherwise;
  • it can cross the cell membrane to bind with LuxR of other bacteria in the device.

Every time a pulse of arabinose is injected, the production of AHL increases as a result of more recombinations. Once a certain level of AHL has been reached, all the cells respond to the quorum sensing signal and start producing GFP, which is the event putting an end to the counting.
Mf device
Figure 1: Scheme of the microfluidic device

The physical model

We can develop the information we have in a system of equations:
  • LuxI
    Once a bacteria has recombinated, there is necesarily a latent time before LuxI is actually synthetised. There is then some more time before a bacteria produces full rate. The amount of LuxI produced inside a bacteria stays in this very bacteria, and it is commonly accepted that the concentration of LuxI reaches a plateau and keep this value. According to the data found in the literature, we chose to set the latent time to 10 minutes. Then the concentration increases during 10 minutes linearly until the maximum concentration is reached.
  • LuxR
    Let's call R the constant concentration of LuxR in a cell. Some of it binded with AHL and we call it LuxR*, so this gives:
    Eq_luxR

    The complexation between LuxR and AHL gives a chemical equilibrium determined by the constant Kreac:
    Eq_luxR2

    so at the equilibrium:
    Eq_luxR3

    which gives:
    Eq_luxR4

  • AHL
    Following the paper "A synchronized quorum of genetic clocks" by Hasty and al., we define the intracellular concentration of AHL, [AHLi], and the external one, [AHLe].
    Internal and external AHL concentrations change as AHL is produced by the cells and can go throuh the cell membrane (kinetic constant kI and kmembrane respectively).
    Eq_AHLi

    The first term says that if the cell produces LuxI, then it produces AHL at a certain rate. The second term concerns the exchange between the cell and the medium, and is proportional to the difference of concentration. The concentration of AHL in the room [AHLe] decreases as the microfluidic device evacuates it, which gives birth to a diffusion term in the equation caracterized by the kinetic constant kdiff.
    Eq_AHLe

    where kdiff is related to parameters of the fluid and of the device, kmembrane is the same as previously, but is now compensated by d, the cell density, so that the exchanges between cells and the medium is balanced.
    Here we consider only the case where the concentration of AHL is homogeneous, ie the concentration inside and outside the cell are the same. This is justified since the caracteristic time of diffusion of AHL between the outside and the inside of a cell is short compared kI and kdiff. We end up with this equation:
    AHL

    In Hasty et al., kI is taken to be 0.06, which value we kept. Then, kdiff would have had to be determined experimentally. Instead, we followed Hasty et al.'s demarche, making the computations with some "reasonable" values.

The synthesis of LuxI.

Above, we introduced directly the concentration of LuxI without giving more details. However, we need to model the production of LuxI to calibrate the counter. This means modelling how the bacteria evolve in the device and how they react to arabinose.

  • Arabinose is modeled simply in the model with a diffusion equation:

    arabinose

    with the boundary condition at the border between the device and the tunnel corresponding to: a positive value if a pulse is being sent, and 0 otherwise. Thus we get the profile of arabinose independently of everything else, except the pulse itself. kA was chosen arbitrarily (but close to values for similar molecules found in the literature) to be 10-5 mm2.min-1 . The pulse of arabinose in the channel corresponds to a concentration of 0.04%, which concentration was used in the lab.
    To trigger the production of LuxI, a bacteria needs to be exposed to a minimum concentration Cc of arabinose for at least Tc minutes. For the sake of the simulation, we chose values for which we knew that recombinations would happen, here Cc = 0.001% during Tc = 1.5 min.

  • Our devices have several sizes, however one device will not ever host more than 2.105 cells. We can indeed approximate the maximum number of bacteria as the ratio between the volume of a device and the volume of a cell. Moreover, considering both populations, switched and unswitched, we will consider the bacteria are in exponential growth, and their excess is evacuated through the path to the tunnel. Therefore, we need a model for the behaviour of the bacteria (movement and birth/death) that allows us to deal with a few cells (when we have a few recombinated cells for instance) up to more than 105 cells. An individually-centered model would be computationnaly inefficient, while a continuous model would perform wrong computations for small numbers of bacteria.
    Birth and death happen randomly, but we know how often they happen in average. We will describe in the next section the algorithm we used to model this.
    As for diffusion of bacteria, a model relying on a binomial distribution was implemented: among n cells, we pick a random number of them to move; this random number being ruled by a probability p proportional to the gradient of concentration of bacteria. Discretising time and space, one can draw at every step time a random binomial number:

    bin_distrib

    where f and f2 are described in the next section.


  • Algorithm and simulations

    In this paragraph, we use several constants suggested in the paper of Hasty et al. (see references), or sometimes some approximations. We shall mention these numerical values along this paragraph.

    We use a discrete lattice to make the computations, considering that the cavity of the microfluidic device can be divided in several slices of constant width dx. It has been further assumed (for simplicity of computations essentially) that diffusion only takes place along the x axis (see figure 1 above). The discrete step time wil be denoted dt. Thus our equations will depend on a one-dimensional space parameter and on time.

    Solving the diffusion equation using an implicit scheme

    One can simply solve numerically a partial differential equation by discrete differentiation. The simplest way gives directly the solution at time step n+1 thanks to what we know at time n. However, this discrete explicit scheme gives a stable solution only if kdiff.dt/dx2 is less than 1. Therefore, we considered the Crank-Nicholson discretisation scheme. Unconditional to kdiff, dt and dx, this scheme produces stable computations.

    bin_distrib

    However, it appears to be more complicated to solve since u(x,t+dt) cannot be obtained explicitly knowing the solution u at time t. Fortunately it can be expressed as a tridiagonal system of equations that we solved numerically.

    Stochastic Gillespie algorithm

    The basic idea lying here is to compute random times for a population rather than computing them for each individual (which is much more computer intensive). Those random times appear in the recombinations and the birth-death calculus; Gillespie's idea, which we are about to describe, allows to compute the time of the next recombination (resp. birth or death) within the population instead of making the calculus and storing the result for each cell in the device.
    Under the assumption that cells' recombination times are independent from one bacteria to the other, and that these times follow an exponential law of parameter λ, Gillespie tells us that the next recombination time (resp. birth or death time) follows an exponential law of parameter Npop.

    Stochastic movement of the cells

    As promised before, we give the two functions describing the movement of the bacteria in the microfluidic device:
    bin_distrib

    bin_distrib

    where Nsw/unsw denotes either the number of switched bacteria (or recombinated bacteria) or unswitched bacteria. The idea here is to have, on average at each step time, dt.kdiff.f(x,t) bacteria that will move, a result we would get from usual diffusion. As previously mentioned, we cannot use regular diffusion since our algorithm must apply to discrete data lying on a wide rane of integers.

    Simulations

    soft1

    soft2

    For now, we use a simple spatial discretisation scheme, assuming lateral diffusion is instantaneous\footnote{this may make simulations inaccurate and thus yields a piece of the program to be improved}, so that diffusion is only considered along one axis (the one from the tunnel to the top of the device (see the first figure).
    AHL_chart

    AHL_chart3

    Discuss the existence of two phases, the critical parameters being the diffusion coefficient of AHL and the time between two pulses.
    Although we have been able to count six pulses thanks to the previous graph of AHL, it is not always possible to do so. For instance, if we shorten the time between two pulses, keeping the same diffusion coefficient, then it is no longer possible to distinguish pulses:
    AHL_chart2

    Sources of the simulation software

    You may download the sources by clicking here. It is written in C and all the interesting parameters are in the file "constants.h". The files "nrutil.c" and "nrutil.h" are taken from the internet.

    References

    - Hasty...
    - Numerical recipes in C, ??, CUP
    - Gillespie...
    -