An R Shiny application to illustrate F-statistics

I posted notes on the Wahlund effect and F-statistics a while ago. I’ve now posted an R Shiny application to illustrate the difference between Nei’s GST and Weir and Cockerham’s FST. The application simulates a sample of 25 diploid genotypes from 10 different populations. The genotypes are a multinomial sample from genotype frequencies calculated from Hardy-Weinberg expectations within each population, given the population allele frequency. That’s statistical sampling. The allele frequencies in each population are sampled from a Beta distribution with a mean of p = 0.5 and a variance of FSTp(1-p). That’s evolutionary sampling (or genetic sampling). Just as the individuals we sampled within each population are a sample of all individuals we could have sampled, the populations we sampled are a sample of all populations we could have sampled.

If you keep the parametric FST the same and just keep hitting “Go”, you’ll see that the genotype counts change every time. That’s the evolutionary sampling. You’ll find a link to the application on the lecture detail page, or you can link directly to the application on

As a reminder, if you’re interested in the source code for this or other R Shiny applications I develop for this course, they’ll all be available on Github.

Adding R Shiny applications to illustrate concepts

I started learning R Shiny this afternoon. It will take me a while to become fluent with it, but when I do, I’ll be able to construct a variety of web applications to illustrate principles of population genetics. I just finished the first one. It illustrates how the EM algorithm works, following the example in the notes accompanying the lecture for 24 January. You’ll find a link to the web application there, but if you’d like to save yourself a click, here’s the direct link: . I expect to add other web applications over the next month or two. You’ll find the code for them in a new Github repository ( I hope you find the applications useful. If you have suggestions or requests, please drop me a line. I can’t promise that I’ll follow through, but I promise to consider any requests I receive.

New notes published – inbreeding in populations and analysis of genetic structure

I’ve just posted the next sets of notes for the course, notes on inbreeding and self-fertilization and notes on analysis of genetic structure in populations. The notes on inbreeding illustrate the effects of inbreeding by focusing on the simplest and most extreme version of inbreeding, self-fertilization. They introduce several of the senses in which the term “inbreeding coefficient” is used and illustrate how they’re related to one another. The notes on genetic structure illustrate the Wahulund effect and provide an introduction to estimating Wright’s F-statistics.