This page was automatically generated by NetLogo 4.1. Questions, problems? Contact feedback@ccl.northwestern.edu.
The applet requires Java 5 or higher. Java must be enabled in your browser settings. Mac users must have Mac OS X 10.4 or higher. Windows and Linux users may obtain the latest Java from Sun's Java site. If the display appear cut off with Firefox, then try another browser (Safari works).
powered by NetLogo
view/download model file: SlimeStream.nlogo
This program simulates the streaming aggregation of the
cellular slime mold
Dictyostelium discoideum. When Dictyostelium amoebae are starved on an
agar surface they begin to aggregate, forming complex spatial patterns
as
they do so. Aggregation leads to the formation of a multicellular
organism,
called a slug, consisting of about 10,000 to 100,000 cells, that can
move
about on the substrate for some time. Eventually, the slug develops
into a
fruiting body, a spherical stalk with a cap on top that contains spores.
Under the appropriate conditions the spores can be released and
germinate,
thus completing the cycle.
The amoebae coordinate their movement by secreting cyclic
adenosine
monophosphate (cAMP) and by moving up the resulting cAMP gradient. More
specifically, the aggregating cells follow this set of behavioral rules:
- if a cell senses a concentration of cAMP above the movement
threshold,
it aligns itself with the cAMP gradient and takes 1/2 step towards
the highest cAMP concentration
- if a cell senses a concentration of cAMP above the relay
threshold
(which is believed to be higher than the movement threshold), the
cell (after moving) emits 100 units of cAMP and enters a "refractory"
state for a specified number of time steps
- cells that are in the refractory state are insensitive to
cAMP, thereby
disabling chemotactic movement and cAMP secretion; instead, these cells
gradually break down the cAMP in their locality, by means of an enzyme
called phosphodiesterase
In reality, the cAMP waves move several times faster than the
slime mold
cells; THIS PROGRAM EXAGGERATES THE SLIME MOLDS' MOVEMENT in order to
illustrate the streaming aggregation. A separate program disables cell
motion to illustrate the cAMP waves more clearly.
The model also includes an autonomous cell in the center of
the screen
that releases cAMP at regular intervals, regardless of the chemical
concentration there. These autonomous cells have been observed
experimentally. With each time step, patches share 50% of their cAMP
content with the eight neighboring patches.
The SETUP button creates a random distribution of slime mold
cells and prints
a color key in the command window.
The GO button sets the model in motion according to the rules outlined above.
The DENSITY slider specifies the initial density of slime mold
cells; if
the density is too high given the size of the screen, an error message
will
appear in the command center when executing setup.
The PERIOD slider controls the length of the refractory
period; this is also
the number of time steps between cAMP releases by the autonomous cell in
the center of the screen.
The MOV_THRESHOLD and REL_THRESHOLD sliders denote the
concentration of
cAMP required for movement and relay response, respectively.
The FIELD DISP ON and FIELD DISP OFF buttons turn on/off
display of the cAMP
field. The chemical concentration is displayed as shades of green (from
white
= highest concentration to black = lowest).
The START MOVIE and STOP MOVIE buttons start and stop the
recording of a QuickTime
move of the simulation. The movie is left in a file name "sim-movie.mov"
in the same directory as the simulation.
The streaming patterns develop gradually and consistently, but
can are
affected by changes in the slider variables. "Period" must be high
enough
to allow cAMP waves to remain distinct as they propogate from the
center;
otherwise, waves can intermingle in areas of irregular density to create
self-feeding spirals that serve as new aggregation centers. Also,
modification of the thresholds can result in slightly different
patterns.
The model is generally less sensitive to changes in density.
Experiment with the thresholds to see how they affect the streams and the rate of aggregation.
The slime mold amoebae end up on top of one another. Some device could be used to indicate how many amoebae are occupying each patch.
This section could point out any especially interesting or unusual features of NetLogo that the model makes use of, particularly in the Procedures tab. It might also point out places where workarounds were needed because of missing features.
See Slime in the Biology models for a model of a different aspect of slime mold aggregation.
Original program for StarLogo 2 by Steve Camazine. Modified to run on NetLogo and to show chemical field and allow movie recording by B.J. MacLennan 2003, 2006, 2008.
globals [time ; number of time steps
showfield? ; show chemical field
recording-movie]
patches-own [chemical] ; level of cAMP in patch
turtles-own [refractory ; remaining time in refractory state
max_chemical] ; maximum chemical value among neighboring patches
TO SETUP ;-----------------------------------------------------------------------------------------
ca ; clears display, patches, turtles, and commands
set time 0 ; resets chemical, number, and time to zero
set showfield? false
set recording-movie false
ask patches [set chemical 0]
ask patches [
if ((random 100) < density) and ((world-width - abs pxcor) > 1) and ((world-height - abs pycor) > 1)
[sprout 1 ; "density" percent of patches are selected at
[set color white ; random; they create turtles and color them white
; set shape "amoeba"
set shape "circle"
set heading random 360]] ; and turn them in a random direction
]
ask turtles [set refractory 0]
ask patch 0 0 [set chemical 100]
end
TO GO ;--------------------------------------------------------------------------------------------
if (time mod period) = 0 ; every "period" time steps, 100 units of chemical
[ask patch 0 0 [set chemical 100 + chemical] ] ; are added to the central patch
set time time + 1 ; increments time
diffuse chemical 0.5 ; each patch shares 50% of chemical w/ 8 neighbors
if showfield? [ ; if displaying chemical field, scale color
ask patches [
set pcolor scale-color green chemical 0 300 ]
]
ask turtles [
ifelse refractory = 0
[if (chemical > mov_threshold) ; receptive amoebae with chemical greater than
[face max-one-of (patches in-radius 2) [chemical] ; mov_threshold move up the chemical gradient
fd 0.5] ; and move forward 1/2 step
ifelse (chemical > rel_threshold) ; receptive amoebae with chemical greater than
[set color red ; rel_threshold turn red, become refractory, and
set refractory period ; relay 100 units of chemical
set chemical chemical + 100]
[set color white]] ; receptive amoebae that aren't relaying turn white
[set refractory refractory - 1 ; refractory amoebae decrement "refractory",
set color yellow ; decrement chemical, and are colored yellow
set chemical max list 0 (chemical - int (100 / period + 1))]
]
if recording-movie [movie-grab-view]
end
TO showon
set showfield? true
end
TO showoff
set showfield? false
ask patches [ set pcolor black ]
end