Genetic draft, selective interference, and population genetics of rapid adaptation



Welcome to the online supplementary material accompanying the article Genetic draft, selective interference, and population genetics of rapid adaptation". These pages are meant to help to explore the population genetics effects discussed in the article using computer simulations. I provide a number of scripts that are meant to be downloaded and run on the users computer. They include everything from setting up the simulation to plotting the output. Parameters are typically set to achieve a compromise between clear results and statistical robustness. Please play with the parameters, but expect dramatically longer run times if you make populations, genome sizes or diversification parameters a lot larger. With their default settings, most scripts run from a few seconds to a few minutes and print status statements to monitor progress.

The simulations presented are based on the tool FFPopSim. FFPopSim is written in C++ with an interface to Python that makes it easy to use and interactive. Dependencies and requirements for FFPopSim are detailed here


FFPopSim can be obtained from

Note that you will need FFPopSim version >=2.0. Genealogies and fixation analysis are not implemented in previous versions. In addition to FFPopSim, BioPython is recommended to draw genealogical trees.

We will use FFPopSim as an individual based simulation framework with fixed genome length, i.e., a finite sites model. These finite number of sites can either be subject to independent recurrent mutations that flip between the two possible states of each locus, or be used in a "pseudo-infinite-sites" modes. The latter keeps all sites polymorphic by introducing additional unique mutations whenever the previous mutation at a particular locus fixed or was lost.

The basic usage of FFPopSim is explained here and here. Other pages are dedicated to specific phenomena discussed in the review and can be accessed through the menu on the left.

Let me know if you discover problems or think that an additional example would be worth including.