We have just released SLiM 3.0. This is our first new full version since SLiM 2.0 was released in early 2016, and it has two very exciting new features.
Before I describe those, however, let me just announce that I will be at SMBE in Yokohama in a week, presenting SLiM 3. I would be delighted to meet with any SLiM users who want to talk with me; feel free to send me an email to connect.
OK, the two big new features:
First, SLiM now supports non-Wright-Fisher (nonWF) models, in addition to the old Wright-Fisher (WF) model type. The new nonWF model type allows much greater flexibility and biological realism in areas such as overlapping generations, age structure, reproduction, population regulation, migration, and population structure. Individual variation, based upon genetics or other model state, is now much easier to model in things like reproduction and dispersal, and it is much simpler to model dynamics like extinction-colonization, hard selection, monogamous mating, pollen flow, scripted pedigrees, and realistic density-dependent regulation in spatial models. See section 1.6 of the new manual for an introduction, and chapter 15 for example recipes; chapter 20 has reference documentation on the nonWF generation cycle (as compared to the old WF generation cycle, documented in chapter 19).
Second, SLiM now supports tree-sequence recording, a ground-breaking new method of concisely recording ancestry information in forward simulations (see Kelleher et al. 2018 bioRxiv, https://doi.org/10.1101/248500
). Use of tree-sequence recording allows many SLiM models to run an order of magnitude faster, or even more, because neutral mutations often no longer need to be simulated; they can be added post-simulation using msprime. There are many other advantages too, including having true local ancestry trees for every chromosome position, detecting coalescence in a running SLiM model, and being able to leverage the coalescent in forward simulations in various ways. See section 1.7 of the new manual for an introduction, and chapter 16 for example recipes.
We're tremendously excited about these features, and we hope you will be too. SLiM 3.0 adds quite a few smaller improvements as well, including some new Eidos functions, some new SLiM class methods and properties, some improvements to SLiMgui, some new recipes and improvements to old recipes, and of course some bug fixes. The SLiM manual provides a fairly complete change list in chapter 26.
For those who build SLiM on Linux/Un*x, one important change is that SLiM is now built with CMake; see section 2.2 for instructions on how to use this new build system.
SLiM 3.0 is almost 100% backward compatible; most SLiM 2.x models will require no modification. It is expected to change the output of most models, however; a given random number seed will probably not produce a run identical to the run with that seed under SLiM 2.x.
You can obtain SLiM 3.0 from the SLiM home page at http://messerlab.org/slim/
; note that the manuals, recipes, and reference sheets have also undergone revisions.
If you have any questions, comments, etc., please use the slim-discuss group for that. Thanks, and happy modeling!
Benjamin C. Haller