Population genetics simulations enhance the learning experience by making complex genetic concepts more accessible, allowing hands-on experimentation and promoting a deeper understanding of how genetic variation evolves in populations. Simulations provide a visual representation of these concepts and build intuition about how genetic factors affect population dynamics. Simulations allow us to actively explore different scenarios, changing parameters such as mutation rates, selection pressure and population size to observe how they affect genetic outcomes. These experiments provide practical insights into how genetic variation changes over time.
For the simulations we use a Java application and two different R packages. Installing all three should be straightforward.
PopG
PopG is a one-locus, two-allele genetic simulation tool for students to explore the genetic dynamics of populations under different conditions and evolutionary forces, helping them to better understand the principles of population genetics. It is a Java application and runs on Windows, Mac OSX and Linux systems if you have Java installed.
If you do not have Java installed, there are two options. Either install Java (preferred) or use an older version of PopG.
R package: HardyWeinberg (CRAN)
The HardyWeinberg
R package is a collection of tools for exploring HW equilibrium (Hardy, 1908; Weinberg, 1908) for bi- and multi-allelic genetic marker data. It provides functions to analyse genetic data to determine whether the observed genotype frequencies in a population are the expected frequencies under Hardy-Weinberg equilibrium. In genetics, HWE is a fundamental principle that describes the relationship between allele and genotype frequencies in a population.
R: install.packages("HardyWeinberg")
R package: learnPopGen (CRAN)
The learnPopGen
(Revel 2019) R package is another educational tool for teaching and learning population genetics concepts and simulations in R. It provides resources and functions to aid understanding of population genetics principles.
R: install.packages("learnPopGen")