Loberg Stickleback Evolution
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
What is this module?
This module simulates the contemporary evolution of Threespine Stickleback of a stickleback population in a hypothetical lake. The following processes serve as the underlying mechanisms of the module.
Reference resource: The bell lab: Bridging the Gap Between Developmental Genetics and Paleontology http://life.bio.sunysb.edu/ee/belllab/loberg.html
Underlying module mechanisms
Traits
The stickleback population may consist of three morphs (types): complete, partial, and low. The complete morph is covered with more lateral plates and swims lower. The low morph is covered only a few plates and swims faster. The partial morph has an intermediate number of plates and speed.
Food resource and population size
The stickleback fish need to obtain energy from the food. The changes in the blue background represent the available food in the lake. The darker blue color indicates the food has been consumed in the patch.
Stickleback fish only obtain food from the blue patches, and every move costs some energy. If a fish runs out the energy and no food can be obtained from the current patch, it dies.
The slider of "available-food" represents the food resource available for the stickleback population.
Reproduction, inheritance, and mutation
A simplified reproduction is used in the module. When a fish cumulates a certain amount of energy, it reproduces. Mating procedure and variation caused by different parents are not considered in this model. Five out of 100 offspring fish have more or less lateral plates compared to the parent fish.
Predation
The slider of "number-of-predators" determines the number of predators in the lake, varying from 0 to 8. When the number of predators is greater than 0, dragonfly larvae will appear in the lake and prey on the slow stickleback. The predators always catch the slowest stickleback fish. In this case, the complete-armored sticklebacks are more likely to be preyed on in comparison with the low-armored fish as they swim slower.
Related modules
Find related modules at http://3dsciencemodeling.com
CREDITS AND REFERENCES
This model is made by Dr. Lin Xiang at Weber State University. If you mention this model in a publication, we ask that you include the citations below.
Xiang, L. (2017). Loberg stickleback evolution. Zoology Department, Weber State University, Ogden, UT.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/.
Comments and Questions
Breed [fish a-fish] breed [predators predator] fish-own [plate erg speed] to-report years report ticks / 200 end to setup ca setup-patches create-fish starting-population-size * Ratio-Low/Complete-armor [setup-complete-fish] ; create-fish starting-population-size * (1 - Ratio-Low/Complete-armor) / 2 ;[setup-medium-fish] create-fish starting-population-size * (1 - Ratio-Low/Complete-armor) [setup-low-fish] setup-predator reset-ticks end to setup-patches ask patches [set pcolor 93] end to setup-fish set erg 20 set size 3 setxy random-xcor random-ycor end to setup-complete-fish set plate (23 + random 10) setup-shape-color setup-fish setup-fish-speed end to setup-intermediate-fish set plate (13 + random 10) setup-shape-color setup-fish setup-fish-speed end to setup-low-fish set plate (3 + random 10) setup-shape-color setup-fish setup-fish-speed end to setup-shape-color if plate >= 23 [set shape "armor-1" set color 36] if plate < 23 and plate >= 13 [set shape "armor-2" set color 36.5] if plate < 13 [set shape "armor-3" set color 37] end to setup-fish-speed set speed (-0.1 * plate + 9.3) end to setup-predator if count predators < number-of-predators [create-predators 1 [set size 6 set color 98 set shape "predator-2" set heading -10 + random 20 setxy random-xcor random-ycor] ] if count predators > number-of-predators [ask one-of predators [die]] end to go tick if count fish <= 0 [stop] if ticks > years-to-run * 200 [stop] setup-predator move grow forage death reproduce predation regrow-food end to move ask fish [rt random 30 fd 0.25 set erg erg - 1] end to grow ask fish [if size < 3 [set size size + 0.005]] end to predation if any? predators [ask predators[ setxy random-xcor random-ycor let preys fish-here let prey min-one-of preys with [speed < 8.6] [speed] ; prey on slowest individual among those are slower than 8.6 if prey != nobody [ask prey [die]] ]] end to forage ask fish [ if pcolor > 92 [set erg erg + 1.2 set pcolor pcolor - 0.25]] end to death ask fish [if erg <= 0 [die]] end to reproduce ask fish [ if erg >= 40 [hatch 1 [set size 1 set erg 20 if random 100 < 5 [set plate (3 + random 30) setup-shape-color setup-fish-speed setxy random-xcor random-ycor] ] set erg erg - 20 ] ] end to regrow-food ask patches with [pcolor <= 92] [if random 100 < (available-food * 0.5) [set pcolor 93]] end
There are 3 versions of this model.
This model does not have any ancestors.
This model does not have any descendants.