SLiM is an evolutionary simulation framework that combines a powerful engine for population genetic simulations with the capability of modeling arbitrarily complex evolutionary scenarios. Simulations are configured via the integrated Eidos scripting language that allows interactive control over practically every aspect of the simulated scenarios. The underlying individual-based simulation engine is highly optimized to enable modeling of entire chromosomes in large populations. We also provide a graphical user interface called SLiMgui on macOS, Linux, and Windows for easy simulation set-up, interactive runtime control, and dynamic visualization of simulation output.
GitHub Actions | Fedora Copr | Conda |
---|---|---|
![]() |
:construction: This GitHub repository hosts the upstream, development head version of SLiM and SLiMgui.
:warning: End users should generally not use these sources; they may contain serious bugs, or may not even compile.
:heavy_check_mark: The release version of SLiM and SLiMgui is available at http://messerlab.org/slim/.
Copyright (c) 2016-2024 Philipp Messer. All rights reserved.
SLiM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
SLiM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with SLiM. If not, see http://www.gnu.org/licenses/.
SLiM is under active development, and our goal is to make it as broadly useful as possible. If you have feedback or feature requests, or if you are interested in contributing to SLiM, please contact Philipp Messer at messer@cornell.edu. Please note that Philipp is also looking for graduate students and postdocs.
Looking for Binary Packages / Installers?
The following subsections summarize what methods for acquiring SLiM (and SLiMgui) are available. Building from sources is also an option on all platforms; see the next section. Chapter 2 of the SLiM manual contains much more detail on installation and building of SLiM. The manual and other SLiM resources can be found at http://messerlab.org/slim/.
Download and double-click the macOS Installer from the SLiM home page at https://messerlab.org/slim/#Downloads. It will install the slim
and eidos
command-line tools, as well as SLiMgui.
Any Arch-based distributions which support the AUR should be compatible.
https://aur.archlinux.org/packages/slim-simulator/
Derivative distributions are not guaranteed compatibility with these binary packages. Enable the repository for your operating system; you might also try using the source RPM package to rebuild the package for your system to give you an excellent integration for any RPM-based distribution.
https://copr.fedorainfracloud.org/coprs/bacarson/SLiM-Selection_on_Linked_Mutations/
A shell script using the facilities of dpkg
is available. It uses the CMake install target to integrate SLiMgui with the desktop environment. It has the advantage over building from source that it will check build dependencies for you, and it will automatically remove build artifacts from /tmp
. Source the script with curl
following the instructions in the manual.
https://raw.githubusercontent.com/MesserLab/SLiM-Extras/master/installation/DebianUbuntuInstall.sh
If you have MSYS2 installed, you can do pacman -Syu
to update its information (see the SLiM manual for further information). You can then install SLiM and SLiMgui with:
pacman -S mingw-w64-x86_64-slim-simulator
The SLiM manual provides detailed instructions on building and installing SLiM and SLiMgui under the WSL2.
You can build both SLiM and SLiMgui from sources. This can be useful, in particular, if you wish to run a recent development version of SLiM, rather than the last released version. See chapter 2 of the SLiM manual for more information on building from sources on various platforms.