Fabio Zanini and Richard A. Neher
Bioinformatics (Oxford, England), vol. 28, 3332--3333, 2012
MOTIVATION: The analysis of the evolutionary dynamics of a population with many polymorphic loci is challenging, as a large number of possible genotypes needs to be tracked. In the absence of analytical solutions, forward computer simulations are an important tool in multi-locus population genetics. The run time of standard algorithms to simulate sexual populations increases as 8(L) with the number of loci L, or with the square of the population size N. RESULTS: We have developed algorithms to simulate large populations with arbitrary genetic maps, including multiple crossovers, with a run time that scales as 3(L). If the number of crossovers is restricted to at most one, the run time is reduced to L2(L). The algorithm is based on an analogue of the Fast Fourier Transform (FFT) and allows for arbitrary fitness functions (i.e. any epistasis). In addition, we include a streamlined individual-based framework. The library is implemented as a collection of C++ classes and a Python interface.