This page was automatically generated by NetLogo 5.0.3. 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 Oracle's Java site.
powered by NetLogo
view/download model file: SlimeSpiralBig.nlogo
This program simulates waves of motion and chemical relaying in
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.
This
program ignores the cell motion because it is several times slower
than
the cAMP wave propogation. Accordingly, the rules governing the
cells’
behavior are as follows:
if a cell senses a concentration of cAMP above the relay threshold
(which is believed to be higher than the movement threshold),
the
cell 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 cAMP secretion; instead, these cells gradually
break down
the cAMP in their locality, by means of an enzyme called
phosphodiesterase
With each time step, patches share 50% of their cAMP content with
the eight
neighboring patches.
The SETUP button prints a color key in the command window and
creates a
random distribution of slime mold cells, some of which release a
pulse of
cAMP into the environment.
The GO button runs the simulation according to the rules outlined above.
The DENSITY slider specifies the initial density of slime mold cells.
The NUMBER slider indicates how many cells will release cAMP at
the start
of the simulation. In reality, these cells might be starved more
severely
than the others, thus prompting them to start initiate the
chemical signal.
The THRESHOLD slider specifies the amount of cAMP needed in a
patch for the
cell to relay the signal by releasing more cAMP.
The PERIOD slider controls the length of the cells’ refractory period.
SETUP-ONE activates the center cell of an otherwise dense array of inactive cells.
SETUP-WAVE sets up a horizontal line of relaying cells with a line of refractory cells immediately below it. This permits experimenting with the propagation of plane waves.
PAINT and NEWSTATE allow you to change the state of cells at any time (including while a simulation is running). You can trigger cells by painting them red or kill them by painting them grey.
Spirals of cAMP form as wave fronts are broken by density
perturbances;
accordingly, the threshold and density sliders affect the extent
of wave
propogation.
Modified by B. J. MacLennan Sep. 2003 for Java StarLogo 2.0.2 and Aug. 31, 2007 for NetLogo from version by Bill Thies on Scott Camazine’s “StarLogo Simulations of Self-Organized Phenomena” http://www.scottcamazine.com/personal/selforganization/starlogo/starlogo.htm. Modified by B. J. MacLennan Feb. 2013 to show finer resolution and to allow painting.
patches-own [chemical ; amount of cAMP in patch refractory] ; remaining time that patch will be refractory TO SETUP ;----------------------------------------------------------------------------------------- ca ; clears display, patches, and turtles ask patches [set chemical 0] ; resets chemical to zero ask patches [ ifelse ((random 100) < density) [make-white] ; colors "density" percent of patches white [make-grey] ; colors other patches grey and sets "refractory" ] ask patches [ ; gives a random patches 300 units of chemical, if ((random 100) < number) and refractory >= 0 ; with probability given by number [make-red] ; [set chemical 300] ] end TO MAKE-WHITE set pcolor white ; colors "density" percent of patches white set refractory 0 end TO MAKE-GREY set pcolor grey ; colors other patches grey and sets "refractory" set refractory -1 ; to -1, indicating that they're never receptive set chemical 0 end TO MAKE-RED set chemical 300 set pcolor red end TO MAKE-BROWN set refractory period set pcolor brown end TO SETUPONE ca ; clears display, patches, and turtles ask patches [set chemical 0] ; resets chemical to zero ask patches [ make-white ; colors ALL patches white ] ask patch 0 0 [ ; gives center patch 300 units of chemical, make-red ] end TO SETUPWAVE ca ; clears display, patches, and turtles ask patches [set chemical 0] ; resets chemical to zero ask patches [ make-white ; colors "density" percent of patches white ] ask patches with [pycor = 0] [ ; gives a random patches 300 units of chemical, make-red ] ask patches with [-5 <= pycor and pycor <= -1] [ ; gives a random patches 300 units of chemical, make-brown ] end TO TRIGGERCENTER ask patch 0 0 [ ; gives center patch 300 units of chemical, make-red ] end TO PAINT if mouse-down? [ ask patches [ if ((abs (pxcor - mouse-xcor)) < 0.5) and ((abs (pycor - mouse-ycor)) < 0.5) [ifelse newstate = "white" [make-white] [ifelse newstate = "grey" [make-grey] [ifelse newstate = "red" [make-red] [make-brown]]] ]]] end TO GO ;-------------------------------------------------------------------------------------------- diffuse chemical 0.5 ; each patch shares 50% of its chemical w/ 8 neighbors ask patches [ if refractory >= 0 [ifelse refractory = 0 [ifelse chemical > threshold [set refractory period ; receptive patches that detect a threshold level of set pcolor red ; chemical become refractory, turn red, and emit 100 set chemical chemical + 100] ; units of chemical [set pcolor white]] ; receptive patches with chemical concentrations less ; than the threshold are colored white [set refractory refractory - 1 ; refractory patches decrement "refractory", decrement set pcolor brown ; chemical, and are colored grey set chemical max list 0 (chemical - int (100 / period + 1))]] ] end