Skip to content

Version 4.3

Latest
Compare
Choose a tag to compare
@bhaller bhaller released this 17 Sep 18:58
· 6 commits to master since this release
f872f3d

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. [EDIT: Due to an error on my end, these new functions are wired up incorrectly, and do not produce the correct result. They should not be used. They will be fixed in the next release.]

  • 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 on slim-discuss 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