There exists a bunch of population genetics forward and backward (coalescence) simulation platforms. Here is a non-exhaustive list. They all differ and you'll have to go through their manual to see what is more adapted to your needs. #List of softwares [Here is a long list of such platforms][1]. The list might arguably be a little bit outdated today though and many of these softwares might be slow or abandoned by their authors. #Most common softwares to my experience Some are more known than others. Personally, I already saw uses of the following platforms in publication: SimCoal, Nemo, Slim and SFS_Code. #My own software - SimBit Of course, I must indicate my own simulation platform [**SimBit**][2]. To my experience, SimBit is typically faster than SimCoal, Nemo and SFS_Code. I have never compared it to Slim though. #Most important point about these softwares You should compare softwares based on - **Availability** of the author to advice and bring new features - I won't talk about my personal experience here by respect for the authors! - **Speed / RAM usage** - SimBit is typically faster than SFS_code and Nemo. I don't know about Slim. - **Flexibility** - Nemo, Slim and SimBit are very flexible but SFS_code is not. - **Free of Bugs** - Several people have found important bugs in SFS_code (personal communication). #Slightly more detailed comparison between Nemo, SFS_code and SimBit I have personally used NEMO and SFS_CODE in the past (I now use SIMBIT only). So I can only talk about these 3 below All three models are well updated and maintained by their authors and of course everyone has a access to the source code. SFS_code is very fast for small simulations. The issue of SFS_code is that the RAM usage and run time are exponential function of the genetic diversity. This means that some simulations can quickly become totally unmanageable. But it is a great tool if you expect little genetic diversity. SimBit is typically faster than Nemo. This difference becomes particularly obvious for large genomes. One might think "Oh I am fine to wait a few extra days to get my results" but the difference in speed between two softwares can also be a difference in whether you have to wait a week or 20 years to get your results, so *do not neglect the importance of running time and RAM usage* without estimating your needs. Nemo is very flexible when it comes to the order of life-cycle events (is migration before or after selection for example) and the newest version allows for simulating age structured population. SimBit will very soon (in the coming weeks) allow for simulating multi-species and their ecological interactions. Not other population genetics software I know is able to simulate several species. My ( very obviously biased ) opinion is that if you need to be flexible on the ordering of life cycle events or if you need age structure populations, go with Nemo. Otherwise go with SimBit. If you need species interaction, then go with SimBit as it is the only software that can simulate several species. However, before doing any of that, consider eventually having a look at Slim for which I cannot emit any opinion as I've never worked with it. > My only concerns about NEMO are that each individual dies after reproduction and that there can't be more than 256 alleles at the same time. SFS_code limits the number of alleles to 4. Nemo limits the number of alleles to 256 (but you can also use phenotype and have a float number at each locus). SimBit uses either bi-allelic loci, a block in which the number of mutations are counted (max: 256 mutations; this is different than 256 alleles per say) or continuous float number at each locus for the phenotype. Do you really need more alleles? Why can't you just use several loci to represent a sequence with multiple alleles? Real biology can only have 4 alleles in its smallest locus! SimBit uses a bit-per-bit system. If you need, say 50,000 alleles, then you just need to ask for a sequence of 16 bits (2 bytes) and you can get $2^{16} = 65,536$ alleles. If you need more alleles in a single block (which is a little surprising to me a priori), you can probably just ask the author and he might accept to helping you if you convince him it is of interest to add this feature (he might also be more willing to help in exchange of authorship if you need more support). Hope that helps. Good luck! [1]: https://popmodels.cancercontrol.cancer.gov/gsr/packages/ [2]: https://github.com/RemiMattheyDoret/SimBit