We have just released SLiM 3.2.1. It contains a few notable changes:
- Some new methods and functions, such as rbeta() (draws from a beta distribution), pnorm() (the normal distribution CDF), drawBreakpoints() (a new Chromosome method that draws breakpoints just as SLiM does internally during reproduction), and configureDisplay() (a new Subpopulation method that allows customization of the display of subpopulations in SLiMgui).
- A new Eidos class in SLiM, called SLiMgui, that exists only when running under SLiMgui. A global instance of this class, named slimgui, will exist when running in SLiMgui, and this global instance allows the model script to communicate with SLiMgui to do a couple of useful things: right now, pause a running simulation with pauseExecution(), and open a new document window in SLiMgui with openDocument() (particularly useful for opening PDF plot files that are generated dynamically). This class may be extended with more functionality in future releases; let us know if there are ways you want your script to be able to control SLiMgui (perhaps for debugging?).
- A new recipe 15.15 (showing how to make a nonWF model that implements a Wright-Fisher model), and a new recipe 15.16 (showing how to make an "alternation of generations" model, such as explicitly modeling both the sporophyte and gametophyte generations in plants, or explicitly modeling sperm and eggs in an animal model). Recipes 13.11 and 13.17 were also revised to show off some of the new features in 3.2.1, such as the SLiMgui class. Recipes 10.2, 10.3, 10.6.2, and 16.3 were revised to show a better way of generating a new random number seed when restarting conditional simulations.
- When running slim at the command line, you can now pipe in an input script, rather than supplying a script file to slim. This makes it easier to write wrapper scripts for slim that generate an input script and then sublaunch slim.
- Support for "make install" with cmake has been added by Peter Ralph. Hopefully this means that SLiM will soon be available for installation through Bioconda; stay tuned.
- SLiM will now build with link-time optimization enabled, thanks to Kevin Thornton. Link times may be considerably longer (up to several minutes), but some performance improvement when running model might be observed.
- Probably nobody cares, but SLiMgui and EidosScribe will now run on macOS 10.10 (10.11 was required previously).
- A few fixes for bugs which you are unlikely to have seen; probably nothing tricky that would have led to incorrect results without you noticing. As always, further details on the release can be found in the revision history in the SLiM manual.
This version is recommended for all users.
Reproducibility and compatibility: SLiM 3.2.1 should not break backward reproducibility for any models (i.e., the same model, with the same seed, should produce the same results as it did in SLiM 3.2). It should be almost entirely backward compatible with SLiM 3.2, in the sense that changes to your model script should generally not be necessary; one property was deprecated in SLiM 3.2.1 (the inSLiMgui property of SLiMSim), but it will continue to work for the time being.
You can obtain SLiM 3.2.1 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