NetLogo banner

 Home
 Download
 Resources
 Extensions
 FAQ
 References
 Contact Us
 Donate

 Models:
 Library
 Community
 Modeling Commons

 User Manuals:
 Web
 Printable
 Chinese
 Czech
 Japanese

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

PopGen_Fishbowl_1

by Thomas C. Jones (Submitted: 02/12/2008)

[screen shot]

Download PopGen_Fishbowl_1
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)

WHAT IS IT?

PopGen Fishbowl is an agent-based population genetics simulation. The program contains the tools to conduct virtual experiments violating all the assumptions of Hardy-Weinberg theory. You can explore the effects of:
1- Small population size (Genetic Drift)
2- Selection
3- Mutation
4- Migration
5- Non-random mating
Some basic population biology is also demonstrated such as, logistic population growth and the Allee Effect.

HOW IT WORKS

The agents are fish in a small pond. Tracked is a single incomplete-dominant gene that affects color (RR = red; Rr = pink; rr = white). When fish come together (and are of opposite sex) they may breed, producing offspring following mendelian inheritance patterns. The model simulates overlapping generations, with reproduction occurring whenever fish may meet.

Monitored data include:
N (Population size)
Allele frequencies (R & r)
Genotype frequencies (RR, Rr & rr)

Graphed data include:
Population size over time
Allele frequency of R over time

HOW TO USE IT

To start, set sliders:
Init-N = 20, Brood-size = 5, Allele-freq-R = 0.5,
Carrying-Capacity = 100, Sex-ratio = 0.5, Mortality = 0.05

Press the ‘Set up’ button and fish will appear in the pond. Press ‘Go’ and the fish will swim around and breed new fish. The population should grow and hover around 100 fish. All three colors should persist, though the frequency of the R allele may drift over time (and given enough time may become fixed at 100% or extinct). Note: it is possible that the fish may not breed fast enough and the population go extinct (Skull ‘n Bones), in which case ‘Set up’ and ‘Go’ again.

Below is a list of the model parameters and their functions

Initial Conditions
Init-N Starting population size
Brood-size The number of offspring hatched in a reproductive event
Allele-Freq-R Starting proportion of the red allele ‘R’
Carrying-capacity The maximum number of fish that can be sustained in the pond
Sex-ratio-F:M The operational sex ratio (probability that a fish will be female)
Mortality The probability that a fish will randomly die in 100 ticks, this is the maximum value reached at carrying capacity.
Stop-at-Fixation If ‘on’ the run will stop if the frequency of R is 1.0 or 0.

Experimental Variables
Selection Sets the relative fitness of each genotype.
Selection is imposed on the juveniles
Note: you can simulate selection against a dominant or recessive allele by making the relative fitness of Rr equal to one of the homozygotes.
Migration Migration-rate sets the probability that a fish in the pond is replaced by one from another pond.
Migrant-Freq-R sets the frequency of R allele in the migrant population.
Mutation This calls a probability that an allele in a juvenile will mutate.
Red alleles mutating to white and white to red are called separately.
Non-random Mating If assortment < 0, fish will be more likely to mate with a different color fish. If assortment > 0, they will be more likely to mate with the same color fish (inbreeding).

THINGS TO NOTICE

This model illustrates microevolution of allele/genotype frequencies by simulating interactions among individuals and mendelian inheritance. If you slow things down you can see little ‘explosions’ of fish fry from breeding events. Because of this, there are several things which might prevent the population from behaving as expected. For example:

If Init-N is low, the fish may not find a suitable partner and breed fast enough and the population may die out (Allee effect).

If the population is all of one sex, they will not breed

If mortality = 0 (no random mortality), the population will stop breeding/evolving at its carrying capacity.

THINGS TO TRY

This model is designed as a teaching tool. It is ideal for inquiry-based learning, as students can design ‘virtual experiments’ and collect/analyze data in a spread sheet. Pedagogically, this may be preferable to the model exporting data.

One approach would be to lead students through an experiment (e.g. effect of carrying capacity on average (and variance in) time to fixation, and then ask them a question and have them design and conduct experiments to answer it.

EXTENDING THE MODEL

With just the controls to tweak the five conditions for Hardy-Weinberg equilibrium it is hard to fit this model on a small screen.

It might be helpful to be able to divide the world into separate ponds an monitor them, particularly if you could see migration from one to the othe

NETLOGO FEATURES

The great of this model over many (non-Netlogo) others is the ability to see what’s going on in the population. For example, allele fixation is not just a value or plot going to 0 or 1.0, all the fish are then the same color. The fact that it is an actual simulation means that there is variation in results, which is biologically realistic.

RELATED MODELS

The most similar model I know of is the commercially available Evobeaker ®.
Related Netlogo models I have found include:
Models in the library Evolution folder
Related Netlogo community models include:
Bug Hunt Evolution

CREDITS AND REFERENCES

PopGen Fishbowl 1.0 (2008)
Thomas C. Jones
Dept. of Biological Sciences
East Tennessee State University
jonestc@etsu.edu

Thanks to U. Wilensky and all who created Netlogo, for creating an environment in which a code-phobic professor can work.

(back to the NetLogo User Community Models)