driftR is a population-genetic simulation web application inspired by the Java program popG (http://evolution.gs.washington.edu/popgen/popg.html). It is intended primarily for use in undergraduate-level college courses in genetics and evolution, and can be accessed online at https://cjbattey.shinyapps.io/driftR/
The software simulates change in allele frequency across multiple populations under the island model of Wright (1931). Briefly, this model considers a single bi-allelic locus in a set of partially isolated populations of sexually-reproducing organisms. Population size is constant through time, but can vary across populations. Populations exchange migrants randomly at each generation (that is, migrants are equally likely to come from any population), at a rate (m) set by the user. Each genotype is associated with a user-defined fitness, and relationships between genotype and fitness are uniform across populations.
For each generation and each population, the simulation (1) adjusts allele frequencies for mutation and migration, (2) calculates genotype frequencies after selection, and (3) simulates genetic drift by drawing the genotype counts for each successive generation from a binomial distribution with a "success" cutoff equal to the genotype frequency in the preceding generation. driftR stores allele frequencies and a variety of population genetic summary statistics (He, Ho, Fst, Fis) at each generation, and plots the result using the faceting features of the R package "ggplot2".
driftR was written by CJ Battey, PhD Candidate in Biology at the University of Washington. If using for academic purposes, please cite the DOI found in the repository readme.