BIOL3445 - Introduction
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
NetLogo Introduction
WHAT IS IT?
This model examines natural selection in a population of wild rabbits. Evolution, on a genetic level, is a change in the frequency of alleles in a population over a period of time. Breeders of rabbits have long been familiar with a variety of genetic traits that affect the survivability of rabbits in the wild, as well as in breeding populations. One such trait is the trait for furless rabbits (naked rabbits). This trait was first discovered in England by W.E. Castle in 1933. The furless rabbit is rarely found in the wild because the cold English winters are a definite selective force against it.
In this model, the dominant allele for normal fur is represented by F and the recessive allele for no fur is represented by f. Rabbits that inherit two F alleles or one F and one f allele have fur, while rabbits that inherit two f alleles have no fur.
HOW IT WORKS
This model follows the basic principles of the Hardy-Weinberg principles which states that allele frequencies will remain constant in a population that lacks any evolutionary influences. You are able to control the fate of a rabbit population. Using various sliders and drop-downs, you can control the following parameters:
Maximum population size ( max-population ) - Through this slider you can adjust the population size.
Percent with fur phenotype ( %-with-fur ) - Through this slider you can adjust the percent of individuals within the population that start off with the fur (brown) phenotype. Related - %-Fur-are-heterozygous
Percent of the fur with a heterozygous genotype ( %-fur-are-heterozygous ) - Through this slider you can adjust the percent of fur phenotypes that are resulting from the heterozygous "Ff" genotype. Related - %-with-fur.
Will rabbits without fur freeze to death? ( no-fur-freeze ) - This drop-down menu allows the user to change whether furless/naked rabbits will freeze over the winter (between generations). If "No" is selected, all rabbits (regardless of phenotype) will survive the winter and will pass on their alleles on to the next generation. If "Yes" is selected, a random number of furless/naked rabbits will die over the winter and will not be able to pass their alleles on to the next generation.
HOW TO USE IT
The "Setup" button creates a new population of rabbits based on the specified setup parameters. If you choose to change these parameters, you will need to press the "Setup" button again.
The "Advance Generation" button will cause the parent generation to breed and will create a new offspring generation (Note: in this scenario we only ever view one generation/cohort at a time). Each click of the "Advance Generation" button is related to a single generation (Genotypes and allele frequencies are recorded in the respective plots).
To run the simulation indefinitely, press the "Run/Stop" button. To stop or pause the continuous simulation, press the "Run/Stop" button again.
To slow-down/speed-up the simulation, adjust the program's embedded model speed slider.
THINGS TO TRY
Explore the Hardy-Weinberg equilibrium
Set no-fur-freeze as "No", and adjust the sliders. What happens?
With set no-fur-freeze as "No", do genotypes change between generation 1 and 2 (ignore the spike between 0 and 1, this is NetLogo setting up the plot)? What about allele frequencies between generation 1 and 2? What might be going on?
Deviate from Hardy-Weinberg equilibrium
Simulate a bottleneck event. Set a large population size and run it for a few generations. Then before you run another generation, slide the population size below 10. What happens to the allele frequencies.
Set no-fur-freeze as "Yes", advance 5 generations, and remember what the genotype plot looks like (possibly save it for reference). Without adjusting the sliders, click setup again and run for another 5 generations. Compare the two plots. Are they exactly the same? Why?
THINGS TO NOTICE
There are random processes underlying each simulation. In the world view, rabits are assigned corrdinates and your population may look like it changed, however you will notice that the genotypes and allele frequency reporters will remain the same.
The plots will automatically update after each new generation. The default x-max is 10 but this will also update as needed.
Error are most likely rounding errors that NetLogo Web cannot automatically adjust. Consider clicking "Setup" again or ajdusting parameters.
CREDITS AND REFERENCES
Code adapted from: http://modelingcommons.org/browse/one_model/3995
Comments and Questions
breed [rabbit rabbits] rabbit-own [ dom ; homozygous dominant (AA) rec ; homozygous recessive (aa) hetero ; hetrozygous (Aa)]\ ] globals [furallele nofurallele p q gen-size] to count-alleles set furallele ((2 * count rabbit with [dom = true]) + count rabbit with [hetero = true]) set nofurallele ((2 * count rabbit with [rec = true]) + count rabbit with [hetero = true]) set p (furallele / (furallele + nofurallele)) set q (nofurallele /(furallele + nofurallele)) set gen-size count rabbit end to freeze if no-fur-freeze = "Yes" [ask n-of random (count rabbit with [color = pink]) rabbit with [color = pink][die]] ;Kills a random number of end to generation ct create-rabbit max-population [; creates alleles set size 2 set dom false set hetero false set rec true set shape "rabbit" setxy random-xcor random-ycor set color brown ] reproduce ask rabbit [if rec = true [set color pink]] freeze tick count-alleles end to go generation end to setup ca reset-ticks ask patches [; create background set pcolor 9.9 - (random 5) ] diffuse pcolor 1 create-rabbit max-population [; creates alleles set size 2 set dom false set hetero false set rec true set shape "rabbit" setxy random-xcor random-ycor set color brown ] ask n-of (%-with-fur / 100 * max-population ) rabbit with [dom = false and rec = true and hetero = false] [ set dom true set hetero false set rec false ] ask n-of ((%-fur-are-heterozygous / 100 * %-with-fur / 100) * max-population) rabbit with [dom = true] [ set dom false set hetero true ] ask rabbit [if rec = true [set color pink]] count-alleles tick end to reproduce ask rabbit [ set dom false set hetero false set rec false ] ask n-of precision(q * q * max-population)0 rabbit [ set dom false set hetero false set rec true ] ask n-of precision((2 * p * q) * max-population)0 rabbit with [rec = false][ set dom false set hetero true set rec false ] ask n-of precision(p * p * max-population)0 rabbit with [hetero = false and rec = false][ set dom true set hetero false set rec false ] end
There are 8 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
BIOL3445 - Introduction.png | preview | Preview for 'BIOL3445 - Introduction' | over 7 years ago, by Andrew McDevitt | Download |
This model does not have any ancestors.
This model does not have any descendants.