Understanding Diffusion
Models within environments
I. Introduction
A cell is the basic unit of
out cellsim system. Our programming model uses a
simple model of biological cells, in which cells communicate through two
methods, cell emission and cell diffusion. Cell emission can only take place
through cell walls whereas cell diffusion occurs through an environment.
To model cell diffusions,
we need to model environments. Up to date, a global environment model that
monitors cell diffusions in the system is already set up. The environment model
not only enables cell diffusion to happen, but also helps us observe the
program behaviors in different environments.
The following part of the
document will clearly illustrate different diffusion models that had been
adopted by the system.
II. Diffusion Models.
In the SystemModel,
the chemical diffusion information including chemical concentration, chemical
name and diffusion location etc. are stored in a vector List, which is a
private data field of the Environment class. Environment has all the diffusioninformation and function findconcentration(). Systemmodel calles
Environment to find out the concentration at a particular position whenever needed.
Figure 1. The figure is taken from Principles of Development (Wolpert, 2002), Kruppel gene
expression in bicoid mutant, Fig. 5.18, pp.164. The
figure has been modified to demonstrate the point.
As Fig. 1 shows, a high
concentration gradient is diffused at left pole (anterior). The gradient is
decreasing gradually as the distance between a particular point
and the anterior is increasing. When distance traveled by gradient reaches
certain threshold, concentration goes to zero and can thus be
neglected for our purpose of calculation.
A: Fist Version-Linear Model
As Fig. 2 shows, to
calculate the concentration at at a particular cell
centered position:
concentration =
chemical concentration (the orgiginal conc of diffusion) - distance (between the cell and the
diffusion location).
Figure 2. Linear Model of
Diffusion. Concentration is based on the distance traveled. Concentration=concentration-distance.
B: Second Version-a Model based on time
steps:
This model has additional
parameters including spreadrate, evaporrate,
step, and forcegain. The new concentration is also
affected by force which is a vector variable that increases or decreases the
concentration value in a designated way. Before understanding the current
model, first a few variable names are to be specified.
spreadrate stands for spreading
rate of the chemical diffusion.
evaporrate
stands for the evaporation rate of the chemical diffusion
timeS is
the difference between the current simulation time and the time when diffusion
actually occured, which is when the diffusion data
are stored in the Environment class. In another word, timeS
represents how long the diffusion has occured. Here,
we use simulation step as a meter of time.
forcegain is
a double that controls whether the diffusion is affected by the force vector.
spreadtime is the
distance/spread rate
distance: the calculated
distance between where the diffusion occurred and the position where the new
concentration should be revolved.
As Fig. 3 shows, the new
concentration is a function of time rather that distance if the step. If the timeS is less than the spread item, which is the pre-set
time point at which the concentration should be at its highest value. The
concentration is 0.0, Otherwise, timeS* evaporrate calculates how much of the diffusion chemical is
evaporized at the particular time point and the new concentration = original
chemical concentration - timeS * evaporrate,
which is how much chemical is left un-vaporized.
Figure 3. Diffusion Model based on Time Steps.
Figure 4. Two biological circles
have identical genes. A) (Above left)
Biological circle with no internal forces at development step 15. b) (Above
right) Biological circle with one force in X+ direction at development step 15.
The force vector has value +1.0 in its X data field.
Usage of forces:
A notion of forces that affect how chemicals diffuse.
This can affect the way cell programs execute. As Figure 4 below demonstrates,
biological circles with identical genes at the same stage of cell development
behave differently because of the force vector. Figure 4A shows a circle with
no internal forces (force vectors are set to zero); figure 4B shows a circle
with one internal force in X+ direction.
Idea of Segmentation:
One of the significant experiments done employing new diffusion model is segmentation, which is the most obvious feature of a fly. A fly has numerous body parts including mouth, eye, legs and so forth. Our goal is to construct a fly body and segment the body into a number of distinct regions. Cells in one region are unique so that the region represents a body part and has all the corresponding biological functions.
We have successfully segmented a model into two regions so far. As Figure 5 illustrates, identical chemicals are diffused at the same time from two polar cells. This results the segmentation of the biological object. Cells on the left represent one type of cells and cells on the right represent a different kind.
Figure 5. Segmentation of a
biological object. The purple cell on the left is the left pole (anterior);
the red cell from the opposite side is the right pole (posterior). Two
identical chemicals are diffused at the same time from two poles. A distinctive
boundary is formed in the middle (dark red cells). Yellow cells on the left and
grey cells on the right have different genetic makeup.
C. Current version-Exponential Model
& others:
1. Exponential model.
The current diffusion
calculate gradient using an exponential model. The function is: Concentration =
concentration* exp (-dist*factor), in which the smaller the factor, the higher
the concentration.
Figure 6. Example of exponential diffusion model. concentration=20*exp(-distance*1).
One example of using
exponential model is the bicoid protein illustrated
in Fig. 8.
2. Bell-shape curve model.
The
bell-shape curve model can be best illustrated as proteins giant and eve
stripes2 in fig. 7. The function for this model is shown below:
Figure 7. The
figure is taken from A First Course in Porbability (Ross,
2002, Figure 5.5, pp.199).
As fig 7. shows, the
standard curve(with shrinkfactor =1) starts at nu-2*sigma,
at where f(x) is zero. The center of the curve is at nu
and the maximum height equals to .399/sigma. If the shrinkfactor
is bigger than 1, then the bell-shape curve shrinks correspondingly.
3.
Sudden-drop Model.
As fig. 8 shows, the
gradient of hunchback is a constant if distance is less than nu. And the gradient forms a left-half bell shaped curve if
distance is greater than nu.
4.
Sudden-raise Model.
As
fig. 8 shows, the gradient of kruppel is a constant if
distance is greater than nu. And the gradient forms a
right-half bell shaped curve if distance is less than nu.
Figure 8. Illustration is taken from Principles of
Development (Wolpert, 2002), Fig. 5.22, pp.168. Bicoid employs exponential model; giant and evestripe2
employs bell-shape curve model; hunchback uses sudden-drop model and kruppel uses sudden-raise model.
We will
create more interesting shapes employing various new diffusion models.