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
, Stochastic/Infinite populations
, Number of Populations
, Bottle Neck
How to copy and paste graphs into a Word Processor Document (Macintosh
Please send any "Bug" reports, comments or suggestions to Bob Sheehy
This program is a web based version of Joe
programs. There are variations that make the this program more attractive
and some that may make it more painful to use.
First, the bad news:
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
- 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,
- 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.
Return to top
- Pass variables to an external program (server side) to
- Write data to an output file.
- Stepping stone model of migration
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
allele. If a single population is modeled the
frequencies of both the A1
allele are plotted
on the upper graph while the genotype frequencies of the Homozygote
, the homozygote A2
and the heterozygote A1
is plotted on the lower
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
" button which will remove the
previously plotted data from the screen and continue with the simulation
for the next interval of generations.
Return to top
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
Population 0 is a control population. The allele frequency of
Population 0 will vary with selection but migration and drift have no
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
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.
Return to top
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
Return to top
Number of Populations
1-5 populations may be simulated at a time. If 1 population
is chosen then both the A1
are plotted on the upper graph and the three genotype frequencies
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.
Return to top
Return to top
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 A1
= 1, A1
= 1 and A2
This would indicate that fitness of the A1 allele behaves as a
dominant, That the A1
homozygote and the A1
heterozygote have an equal fitness (leave, on average, the same number
of viable offspring) and that the A2
homozygote leaves, on average 80% of the number of viable offspring
as either the A1
and the A1
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
- 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.
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 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
) and reverse mutations (A1
) 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
A2) and v is the frequency of the reverse
Return to top
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.
Return to top