# Web PopGen

This help page answers some questions about the mechanics of Web PopGen.  The function of buttons will be described as well as some of the algorithms used in generating the graphs.  Evolutionary theory will not be covered.  Click on the links below to get information on a particular aspect of the program

Display, Stochastic/Infinite populations, Population Size, Number of Populations, Selection/Fitness, Mutation, Migration, Bottle Neck Effect,

How to copy and paste graphs into a Word Processor Document (Macintosh, Windows).

## Introduction:

This program is a web based version of Joe Felsenstein's   Simul8 and PopG programs.  There are variations that make the this program more attractive and some that may make it more painful to use.

This program is very slow.  Flash does not handle calculations well so this program could take a while to run.  Grab a cup of coffee or a soda and join the moment.  If you need  large populations (other than infinite populations) it is best to download one of the above programs.

Please be patient when using the "reset" or the "continue" button as it takes a while to clear the data from a previous run.

Variations of this program from PopG/Simul8

• Alleles are labeled A1 and A2.  There is no longer an implied dominance between the alleles.  The dominance relationship can be determined by genotypic fitness.
• Populations are distinguishable by color.
• When more than one population is simulated the upper graph depicts the frequency of the A1 allele (p) and the lower graph mirrors the upper graph with the frequency of the A2 allele (q).
• When a single population is simulated the upper graph depicts the frequencies of both the A1 and A2 alleles while the lower graph depicts the genotype frequencies (A1A1, A1A2, and A2A2).
• Two models of migration are allowed.
• Bottleneck effects may be simulated.  Starting and ending generations determine the length of the bottleneck.  The population size within the bottleneck may also be determined by the user.
• It is possible to compare the effects of different fitness values among the different populations.

Future Changes
• Pass variables to an external program (server side) to speed calculations.
• Write data to an output file.
• Stepping stone model of migration

## Display:

The upper part of the display (light blue background) contains the input boxes for setting variables (population size, fitness, migration rates etc.).  The lower portion contains two graphs.  If 2 or more populations are modeled the upper graph will plot the frequency of the A1 allele for each population and the lower graph will mirror the upper graph by plotting the frequency of the A2 allele.  If a single population is modeled the frequencies of both the A1 and A2 allele are plotted on the upper graph while the genotype frequencies of  the Homozygote A1A1, the homozygote A2A2 and the heterozygote A1A2 is plotted on the lower graph.

The simulation is started by clicking on the "Go" button and two new buttons will appear on the lower portion of the screen.  The go button will be replaced by a "Reset" button which clears the plotted data and prepares for the next simulation.  To the lower right is a "Continue" button which will remove the previously plotted data from the screen and continue with the simulation for the next interval of generations.

## Stochastic/Infinite populations:

Simulation may be run either with a defined population size or with a theoretically infinite population.  Stochastic populations are used to examine the effects of population size on genetic drift.  Some other factors which affect allele frequency may become more apparent when using infinite populations.

Clicking on the square check box allows the user to toggle between stochastic and infinite populations.  The number of populations being simulated will determine the number of allele frequency input boxes that are available.  Below (center) is what appears for 5 populations.  Each population may have a different starting allele frequency.

Population 0 is a control population.  The allele frequency of Population 0 will vary with selection but migration and drift have no effect.

Clicking on the  "OK" button will close the window causing the program to look as at right.  Clicking on the check box again will return you to a simulations using stochastic populations.

Choosing infinite populations will speed the program considerably.  When infinite population is chosen the initial allele frequency of each population may be set independent of the other populations.  The infinite population option is unavailable if the number of different populations is greater than 5.

It is possible to toggle between Stochastic and Infinite populations during a simulation run if desired.

## Population Size

Population size between 5 and 250 individuals work well.  The larger the population the slower the program.  If one has patients and a good cup of coffee this may not be an intolerable situation to use larger populations.  When running the program in stochastic mode all populations start with the same initial allele frequency.  Allele frequency will drift, independently, in each population.

## Number of Populations

1-5 populations may be simulated at a time.  If 1 population is chosen then both the A1 and A2 allele frequencies are plotted on the upper graph and the three genotype frequencies (A1A1, A2A2 and A1A2) are plotted on the lower graph.  If 2 or more populations are simulated then the frequency of the A1 allele for each population is plotted on the top graph while the frequencies of the A2 allele for each population is plotted on the lower graph.  Each population is given a different color and, in the absence of migration, each population is independent of the others.

## Selection/Fitness

Web PopGen may be used to model natural selection of alleles and genotypes.  The fitness of a particular genotype may range from 0 to 1 inclusive.  Fitness provides the relative survival rate of a particular genotype with the most fit being set to 1.0.  For example, suppose the finesses for the three genotypes are  A1A1 = 1, A1A2 = 1 and A2A2 = 0.8.  This would indicate that fitness of the A1 allele behaves as a dominant, That the A1A1 homozygote and the A1A2 heterozygote have an equal fitness (leave, on average, the same number of viable offspring) and that the  A2A2 homozygote leaves, on average 80% of the number of viable offspring as either the A1A1 and the A1A2 genotypes.

The general formula for selection is:

• Average Fitness ( ):
•  = p2 * w11 + 2pq * w12 + q2 * w22
• where p = the frequency of the A1 allele, q = the frequency of the A2 allele, w11 = the fitness of the A1A1 homozygote,  w12 = the relative fitness of the A1A2 heterozygote and  w22 = the relative fitness of the A2A2 homozygote.
• The frequencies of the various genotypes after selection:
• Frequency of the A1A1 homozygote = (p2 * w11)/
• Frequency of the A1A2 heterozygote = (2pq * w12)/
• Frequency of the A2A2 homozygote = q2 * w22)/
Selecting Infinite population will cause a check box to appear in the Fitness box.  Initially, the fitness for each genotype is the same for all populations.

Initially, all populations share the same fitness values as placed in the various boxes.  Clicking on the check box reveals a drop down menu which allows the user to enter different genotypic fitnesses for each of the populations.

After entering the desired values clicking on the "OK" button will close the dialogue box.  Only the fitness values for population 0 will be visible.

When the "GO" button is clicked, starting the simulation, a key to the various populations will appear to the right of the lower graph.

Clicking on the fitness check box will return to all populations sharing the same fitness values.

## Migration

Currently two models of migration are possible.
• The Island model in which migration occurs at random among a group of small populations.

• The Source-sink or Continent-island model in which there is effectively one-way movement from a large ("source") population to a smaller, isolated ("sink") population.  In this case there is no migration among the sub populations.  The allele frequency(s) of the Source population may be different than the allele frequency of the sink populations.

The migration option can be chosen by clicking on the Migration check box.  After the first click you will see the input data box  asking for the rate of migration.  This is a number between 0 and 1 inclusive (0 = no migration, 1 = every individual is a migrant).  Clicking on the Migration check box again brings up the Source/Sink model where the frequency of the A1 allele in the source population may be determined.  Frequency of the A1 allele in the source population may vary between 0 and 1 inclusive.  Migration may be turned on and off during a simulation by clicking on the Migration check box while the simulation is running.  This will give you an idea of the effect migration has on allele frequency among populations.

The general formula for migration is:
• Island model:
• Average frequency of the A1 allele ( ) is calculated across all populations.
• = (p1+p2+p3+ ...pn)/n
• pn = pn*(1-m) + m*
• where pn in the frequency of the A1 allele in population n, m is the frequency of migrants to the population and 1-m is the frequency of individuals which do not migrate.
• Source/Sink model
• p'n = pn*(1-m) + m*ps
• where pn is the frequency of the A1 allele in population n, p'n in the frequency of the A1 allele in population n in the next generation, m is the frequency of migrants to the population, 1-m is the frequency of individuals which do not migrate and ps in the frequency of the A1 allele in the source population.

## Mutation

Mutation allows you to convert a proportion of one allele type to another allele type at a given frequency of mutation per allele per generation.  Both forward mutations (A1 A2) and reverse mutations (A1 A2) are allowed.  The frequency of forward and reverse mutations may vary.

The general formula for mutation is:

• p' = p*(1-µ) + (1-p) * v
• where p is the frequency of the A1 allele in population, p' is the frequency of the A1 allele in the next generation, µ is the frequency of the forward mutation (A1 A2)  and v is the frequency of the reverse (A1 A2) mutation.

## Bottle Neck

Bottlenecks can be simulated for stochastic populations.  When the bottle neck check box is clicked three input boxes become available.  Start represents the starting generation (the generation where the population crash occurs). End is the last generation of the bottleneck where the population instantly returns to the initial population size.  The length of the bottleneck is determined by values entered into the End and Start boxes.  The size of the population will remain constant during the bottleneck and is determined by the value placed in the BN Pop. box.