SLiM 4.3 released

52 views
Skip to first unread message

Ben Haller

unread,
Sep 19, 2024, 9:04:51 PM9/19/24
to slim-announce
Hi everybody!  SLiM 4.3 has just been released.  This is a major point release.  It should preserve backward compatibility with SLiM 4.2 in all cases (models that run in 4.2 will continue to run with no changes).  Similarly, it preserves backward reproducibility (the same model with the same seed will produce the same results) in all cases.  It is recommended, but there might be new build/install issues with it due to some changes described below.  See the new SLiM manual (chapter 30) and the VERSIONS file for a complete list of changes, which will be summarized here.

Recommended python package versions are tskit 0.5.6 or later, msprime 1.3.0 or later, and pyslim 1.0.4.

NEW FEATURES:

- SLiMgui now builds against Qt6 as well as Qt5 (Qt being the cross-platform widget kit that SLiMgui uses).  This should have few visible consequences for most users, but it is important nonetheless because Qt5 is getting rather old and users have started to see bugs and compatibility problems resulting from that.  Shifting over to Qt6 gives SLiMgui lots of bug fixes and modernization.  If you use an installer, it should install using Qt6 automatically (unless perhaps your platform is so old that Qt6 is not supported).  If you build SLiMgui yourself, you will need to ensure that Qt6 is installed on your machine (I have been testing with Qt 6.7.2, the current version as of this writing), and then CMake should automatically detect it and use it in most cases.  The manual (chapter 2) has more information on building with Qt6 and troubleshooting problems that might occur; but hopefully this transition will be smooth for everyone.

- Tick range expressions that schedule events/callbacks can now use symbolic constants that are defined later in the simulation.  For example, an event that should run 10 ticks after the end of a burn-in period could be declared as "BURNIN_END+10 early() { ... }" and will get scheduled whenever the constant BURNIN_END becomes defined, allowing a variable-length burnin to be handled easily.

- calcPi() and calcTajimasD() popgen utility functions have been added, thanks to Nick Bailey.

- SLiMgui now displays the selected script block, to the right of the Jump menu; if you're in a "10 early()" event, it will say "10 early()", making navigation around big script files easier.

- A new "Copy as HTML" menu item in SLiMgui can copy the selected chunk of script as HTML, including syntax coloring, making it easy to paste pretty, syntax-colored Eidos code into other documents.

- Some users have been having display issues in SLiMgui due to some kind of OpenGL malfunction on their machine.  If the chromosome view and individuals view don't display correctly for you, there is now a "Use OpenGL" checkbox in the Preferences; you can uncheck it to turn off OpenGL usage in SLiMgui, which appears to fix this problem.

IMPORTANT BUG FIXES:

- The start/end parameters to calcWattersonsTheta() to specify a window should now work correctly.

- sampleIndividuals() could occasionally crash due to an incorrectly sized buffer; that has been fixed.

- a couple of the built-in graphs in SLiMgui could occasionally crash; that has been fixed.

INSTALLATION NOTES:

- If you are on Fedora, RedHat, CentOS, openSUSE, or SUSE Linux Enterprise, the SLiM installer for your Linux platform has already been updated, and installs both the command-line slim binary and the SLiMgui app; see section 2.2.1.  The installer has not been working for RHEL 8 for the past several releases; that issue has now been fixed, thanks to the labors of Bryce Carson.

- If you are on Debian or Ubuntu, there is a Bash script that installs both the command-line slim binary and the SLiMgui app; see section 2.2.1.

- If you are on macOS, download the double-click installer from the SLiM home page at http://messerlab.org/slim/.

- If you are on Windows, the pacman installer will be somewhat delayed as usual; a followup post will be made here when it is ready, and in the meantime you can use conda or build from sources.

- If you are on Arch, the installer has already been updated; see section 2.2.1.

- For those using conda, the new version is now available for all platforms (but does not give you SLiMgui, only slim).

Everyone else can download the SLiM.zip source archive from the SLiM home page and build it themselves, or build from sources using the git tag associated with the SLiM 4.3 release, following the instructions for building from sources in chapter 2.

The manuals, recipes, and reference sheets have been updated and should be downloaded again.

SLIM BEGINNERS: Note that a free SLiM Workshop is available online at http://benhaller.com/workshops/workshops.html, and is highly recommended for new users.  It is compatible with SLiM 4.3.  It is offered occasionally in person; watch the slim-discuss list for workshop announcements, or see https://messerlab.org/slim/#Workshops for workshops presently accepting applications.

If you have any questions, comments, etc., please use the slim-discuss group for that.  Thanks, and happy modeling!

Cheers,

Benjamin C. Haller
Messer Lab
Cornell University

Ben Haller

unread,
Oct 14, 2024, 9:44:00 AM10/14/24
to slim-announce
Hi folks!  A quick announcement: the SLiM installer for Windows, using pacman, now installs version 4.3:


Thanks to Russell Dinnage, as always, for his work on this installer.  You can find instructions for installing on Windows in chapter 2 of the SLiM manual.  This marks the completion of the SLiM 4.3 release; installers for all platforms have been updated.

Please note that, as noticed by JP in slim-discuss, the new calcPi() and calcTajimasD() functions are not wired up correctly in 4.3, and calculate Watterson's theta instead (on all platforms); that will be fixed in the next release, and is also fixed on the current GitHub head if you build from sources.  Happy modeling!

Cheers,
-B.


Benjamin C. Haller
Messer Lab
Cornell University

Reply all
Reply to author
Forward
0 new messages