Row

Prediction


   Frequency to plot:  

Final frequencies (in an infinitely large population):

A1: 0.5

A2: 0.5

A1A1: 0.25

A1A2: 0.5

A2A2: 0.25

Parameters


   Genetic drift:


   


   Selection — relative fitnesses (min = 0, max = 1) of:


   Migration:


   Mutation — rates from:


   Non-random mating:

Row

Overview

AlleleA1 simulates evolution at a single locus in an ideal population of imaginary organisms. The locus has 2 alleles, A1 and A2. You can enter values for parameters controlling genetic drift, selection, migration, mutation, and inbreeding. The software plots a graph showing the frequency of allele A1 over time in an ideal infinitely-large population—plus, if you enter a finite population size, the frequency of allele A1 in one or more simulated populations.

Please see these links for tutorials: Selection and mutation; Migration and drift.

If you like AlleleA1, you might like SimBio’s Mendelian Pigs even more.

Set the parameters

Set the parameters by entering values in the boxes in the Parameters pane. For example, to set the initial frequency of allele A1 to 0.01, double click in the box labeled “Starting frequency of allele A1,” then type 0.01. In some browsers, you may also be able to click up and down arrows.

Set the frequency plotted

By default, the graph will show the frequency of Allele A1. You can pick a different frequency to plot using the radio buttons under the graph.

If you plot the frequency of A1 or A2, the graph shows the frequency in each generation’s gene pool.

If you plot the frequency of a genotype, the graph shows the frequency among the adults that produce each generation’s gene pool. For finite populations, these frequencies are adjusted to reflect the contribution each genotype will make to the new gene pool as a result of selection, migration, and mutation.

Set the number of generations

By default, the simulation will run for 50 generations. You can enter a different number of generations in the box under the graph.

Show data

By default, the data are hidden and only the graph is visible.

The “Show final frequencies” tab at the bottom of the Prediction panel will reveal the ending frequencies for the model in an ideal (= infinitely large) population.

The “Show all data” tab will reveal a downloadable table containing the plotted frequency in all generations in all populations. The frequencies are rounded to two decimal places for display: gen = generation; f-i = frequency in an ideal population; p01 = frequency in simulated finite population 1; etc.

Downloading the data will let you save a CSV file in which the frequencies are shown to (much) higher precision.

Reset

You can reset AlleleA1 at any time by clicking the “Reset” link in the navigation bar. On some browsers, this may work better than refreshing the window.

The parameters

The Starting frequency of allele A1 sets the frequency of allele A1 in generation zero. The frequency of allele A2 is determined automatically by subtraction. The starting frequency of allele A1 should not be less than zero or greater than one.

AlleleA1 always plots frequency versus generation for an infinitely large population, with changes in frequency calculated according to a deterministic equation. The Number of finite populations to simulate, which is zero by default, can be set to any positive integer up to 10. The size of these simulated populations is set with the Finite population size parameter. Each generation, genotypes are formed by sampling gametes from the gene pool. When one or more finite populations are simulated, the black line for the infinitely large population changes from solid to dashed.

The fitness of genotypes A1A1, A1A2, and A2A2 determine the probability that an individual of each genotype will survive to reproduce. The fitnesses should not be less than zero or greater than one.

The proportion of migrants controls the fraction of individuals in each generation that are migrants newly arrived from another population. The fraction of migrants should not be less than zero or greater than one. The frequency of allele A1 in the source population sets the frequency of allele A1 among the newly arrived migrants. It should not be less than zero or greater than one.

The mutation rates determine the rate at which copies of allele A1 turn into allele A2, and vice versa, during the production of gametes. The mutation rates should not be less than zero or greater than one.

The coefficient of inbreeding, also known as F, is the probability that an individual’s two alleles are identical by descent. A value of 0 represents random mating; a value of 0.5 represents selfing in a heretofor random mating population. Note that AlleleA1 holds the value of F constant across generations. In a population showing a regular pattern of inbreeding (such as selfing) every generation, the value of F would increase over time.

Extra graphs

Clicking the “Show extra graphs” tab will reveal two plots that may provide insight into why your model population evolves the way it does:

  • Mean Fitnesss versus Frequency of A1: This graph shows, for an infinitely large population, the average relative fitness of the entire population as a function of the frequency of Allele A1. The values in this graph depend only on the relative fitnesses of the genotypes and the inbreeding coefficient. (Do you see why?)

  • Delta Fr(A1) versus Frequency of A1: This graph shows, for an infinetly large population, how much the frequency of A1 changes from one generation to the next. The values in this graph depend on the relative fitnesses, the migration rate, the mutation rate, and the inbreeding coefficient.

Try to find a set of parameter values for which the mean fitness is maximized at an intermediate frequency of A1. Note where the change in the frequency of A1 is positive and where it is negative. Does this help you explain what happens in the main graph?

Try to find a set of parameter values for which the mean fitness is minimized at an intermediate frequency of A1. Note where the change in the frequency of A1 is positive and where it is negative. Does this help you explain what happens in the main graph?

License

I make no warranties or guarantees about the quality of AlleleA1 or the accuracy of the simulations it runs. Please have fun with it.

AlleleA1 is free to use. Please share the link. You may not copy, repost, reuse, or sell AlleleA1.

If you use AlleleA1, or if you have comments or suggestions, please let me know with an email to herronjc at uw.edu.

Made with Chart.js, Tabulator, and flexdashboard. Thanks to the individuals and communities who created these tools!

A little graph AlleleA1 3.0 © 2022 by Jon C. Herron—All Rights Reserved