This page was automatically generated by NetLogo 5.0beta2. 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:
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