Serendip is an independent site partnering with faculty at multiple colleges and universities around the world. Happy exploring!

Reply to comment

Emergence 2009: Final Projects, VIII


Biology 361 = Computer Science 361
Bryn Mawr College, Spring 2009


Back to index of models



Download/view: Genotypes.nlogo


Evolution can be defined as the changes in the genetic makeup of a population over time. This change can be both active and passive, being driven by either direct selection pressures or by random chance. The purpose of this model is to show the effects of both of these types of change in the form of a basic selection event and a bottleneck event, which represents sudden, random change. Ultimately, this model can show that random change can have effects on a population similar to the effects of selection and by extension that selection is instrumental but not essential to the course of evolution.

Turtles are created with certain genotypes: homozygous dominant, heterozygous, or homozygous recessive. They move at random through the world, getting older at each tick. When two turtles that have reached their reproductive age land on the same patch, they produce a single offspring. The offspring have genotypes according to the genotypes of their parents and the rules of basic Mendelian genetics. The turtles, once they've reproduced, die out in proportion to their population size. The ratios of genotypes in the population are monitored on the graph.

The "bottleneck" and "select" features allow the user to suddenly reduce the population size according to either random chance or changeable selection parameters.


Begin by setting the randomtraits? switch to either "on" or "off". If the randomtraits? switch is set to "on", the model will create a random number of dominant (blue) turtles (0-10), heterozygous (blue/green) turtles (0-10) and recessive (yellow) turtles (0-10). If the randomtraits? switch is set to "off", select the number of each genotype to create using the appropriate sliders. If the "showasdifferent?" switch is on, the heterozygotes will display their own distinct phenotype (green color). If it is off, they will display the dominant phenotype (blue color). The "Setup" button will clear the world and create the desired turtles.

Using the "maxnumber" and "reproage" sliders, select the desired maximum population size and the age the turtles must be before they reproduce respectively.

Hit "Go" to run the model continuously, or "Step" to run it one iteration at a time.

To cause a bottleneck event, set the "bylocation?" switch to either "on" (to kill all turtles in Quadrants I, III and IV) or "off" (to kill 3/4 of the total population at random). Hitting the "bottleneck" button will cause the event to occur and will update the graph to reflect the sudden changes.

To see the effects of selection pressure on the population, a few parameters must be set. Begin by selecting the genotype against which you'd like to select. You can choose to select against any single genotype, any combination of two genotypes, or all three of the genotypes. The "[genotype]-survival?" sliders allow you to select the probability that each genotype will die if the "Select" button is hit. O indicates that all the turtles of the genotype will die every time (they will survive 0% of the time), 50 indicates that they have a 50/50 chance of dying each time (they will survive 50% of the time) and 100 indicates that they will survive 100% of the time. Hitting the "Select" button will kill off a number of turtles that is consistent with the survival parameters you've selected.

Watch the graph as it shows the changing ratios of genotypes in the population. Notice the overall trend in the ratios. Which genotype is most prevalent in the population? Which is least prevalent? What happens when a bottleneck event occurs? Are these changes permanent? If not, how long does it take before the original trend returns?

Begin by creating 10 dominant or 10 recessive turtles and running the program. Notice the effects of a bottleneck event and of selective pressure on a population without genetic variability. Next, create 10 heterozygous turtles and run the program. Notice the effects of bottlenecking and selection of a population with equal numbers of dominant and recessive alleles.

Try beginning with different ratios of genotypes, or let the random generator select the initial genotypes for you. Run the program and observe the effects of bottlenecking on the population until you are familiar with them. Then, begin with the same genotypic ratios and try to find the right combination of selective pressures to put upon the population to mimic the previously-observed effects of the bottleneck event.

Thanks to Paul Grobstein and the students of the Spring 2009 Emergence course for their guidance and input into the concept of this model, and especially to Evan R for his help with the programming.


Models created using NetLogo.


The content of this field is kept private and will not be shown publicly.
To prevent automated spam submissions leave this field empty.
2 + 8 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.