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 evolutionary scenarios. The underlying individual-based simulation engine is highly optimized to enable modeling of entire chromosomes in large populations. For Mac OS X users (on OS X 10.11 or later), we also provide a graphical user interface for easy simulation set-up, interactive runtime control, and dynamical visualization of simulation output.
Downloads (version 3.0)
The OS X Installer will install the slim command-line tool, the SLiMgui graphical development environment, and both manuals. On other Un*x platforms, you should download the source code archive above, unzip it, and build it following the instructions in the provided README.md / README.html files (more detailed instructions are also provided in the SLiM manual).
The SLiM Manual includes a collection of recipes for common situations. You can download a zip archive of those recipes, if you wish; they are also directly available through SLiMgui’s File menu. The Eidos Manual covers the details of the Eidos language, used to control SLiM via scripting. Reference sheets for both SLiM and Eidos make them easy to use with minimal use of the full documentation.
Note that the source code archive provided here contains neither OS X specific code, such as that for SLiMgui, nor the Xcode project for SLiM; it is intended for users on Linux (OS X users are strongly encouraged to use the OS X Installer rather than building from sources). The complete sources including OS X files can be found on GitHub; you can get the sources for a tagged release, such as 3.0, or for the current development head. However, this is unlikely to be what you want; unless you know what you are doing, please use the download links above.
We also provide a GitHub repository called SLiM-Extras with additional useful tidbits for users of SLiM, such as user-defined Eidos functions for performing some common tasks, and we welcome contributions to that repository from others.
With SLiMgui for Mac OS X you can visualize your simulation as it runs and examine its parameters in real-time, allowing for much easier simulation development.
A screenshot of SLiMgui simulating the population dynamics of a CRISPR/Cas9 “gene drive” in a six-subpopulation island model with spatial variation in selection on the driver allele. The Eidos scripting area is on the left, output is on the right. A visual representation of the population structure is shown in the subwindow, and all of the individuals in the six subpopulations can be seen at top (colored according to their relative fitness). The central black bar shows a summary of the genetic variation present in the population; rare neutral mutations are visible as short yellow bars, and the tall red bar represents the driver allele approaching fixation.
There are two mailing lists. Please subscribe to either or both using the links below:
- slim-announce: A low-volume mailing list for announcements only. Users may not post to this list.
- slim-discuss: A higher-volume mailing list for questions, comments, bug reports, and discussion among users of SLiM.
2018 July 1: SLiM 3.0 is released! This is our first full version upgrade since SLiM 2.0 was released in early 2016. It adds support for non-Wright-Fisher (nonWF) models and tree-sequence recording, two features that greatly increase SLiM’s power and flexibility. Many smaller improvements have been made too. For more information, see the new manuals, and the release notes in the announcement on slim-announce.
2017 December 16: SLiM 2.6 is released! This is a major release, with lots of new stuff; see the new manuals, and the release notes in the announcement on slim-announce.
2017 October 27: SLiM 2.5 is released! This is a major release, with lots of new stuff and some important bug fixes; see the new manuals, and the release notes in the announcement on slim-announce.
2017 September 12: SLiM 2.4.2 is released (fix for a bug that could cause incorrect output from many/most models).
2017 July 26: SLiM 2.4.1 is released (fix for a bug that could cause crashes or incorrect results in multi-subpopulation simulations).
2017 July 14: SLiM 2.4 is released! This is a major release, with speed improvements for many types of models, new support for runtime profiling in SLiMgui, and many other features. See the new SLiM and Eidos manuals for current documentation. There are also release notes in the announcement on slim-announce.
2017 April 18: SLiM 2.3 is released! This is a major release, notably adding support for continuous space and spatial interactions. See the new SLiM and Eidos manuals for current documentation. There are also release notes in the announcement on slim-announce.
2017 February 22: SLiM 2.2.1 is released (new recipes, minor features and fixes).
2016 December 8: SLiM 2.2 is released! This is a major release with big performance improvements and several new features. See the new SLiM and Eidos manuals for current documentation. There are also release notes in the announcement on slim-announce.
2016 November 8: SLiM 2.1.1 is released (mostly bug fixes, some serious).
2016 October 4: Our publication on SLiM 2 is out in Molecular Biology and Evolution: DOI.
2016 September 19: SLiM 2.1 is released! This is a major release with lots of features added. See the new SLiM and Eidos manuals for current documentation. There are also release notes in the announcement on slim-announce.
2016 May 26: SLiM 2.0.4 is released (minor bug fixes).
2016 May 12: SLiM 2.0.3 is released (improvements to code completion).
2016 May 6: SLiM 2.0.2 is released (minor feature additions).
2016 April 27: SLiM 2.0.1 is released (minor bug fix and minor feature addition).
2016 April 1: SLiM 2.0 is released! We are excited to announce SLiM 2.0, a new major release of the SLiM package. SLiM 2.0 adds scriptability with Eidos, and interactive simulation development using the SLiMgui application. We have put up a blog post with more details about the SLiM 2.0 release.
License and citation
SLiM is free open-source software, licensed under the GNU General Public License version 3. It runs on any Un*x or Linux machine that can build C++11 code, and works well on computing clusters. If you use it in your research, please cite our paper on SLiM 2:
Haller, B.C., & Messer, P.W. (2017). SLiM 2: Flexible, interactive forward genetic simulations. Molecular Biology and Evolution 34(1), 230–240. DOI
Old versions of SLiM are available for download here, although for new projects using the current version is strongly recommended. These old versions are no longer supported.
Here are examples of publications that have used SLiM (in alphabetical order within year). Please let us know if you have any additions you would like to see included in this list.
- Bay, R.A., & Ruegg, K. (2017). Genomic islands of divergence or opportunities for introgression? Proc. R. Soc. B 284(1850), 1-9. DOI
- Booker, T.R., Ness, R.W., & Keightley, P.D. (2017). The recombination landscape in wild house mice inferred using population genomic data. Genetics 207(1), 297-309. DOI
- Exposito-Alonso, M., Vasseur, F., Ding, W., et al. (2017). Genomic basis and evolutionary potential for extreme drought adaptation in Arabidopsis thaliana. bioRxiv, 118067. DOI
- Gazal, S., Finucane, H.K., Furlotte, N.A., et al. (2017). Linkage disequilibrium-dependent architecture of human complex traits shows action of negative selection. Nature Genetics 49(10), 1421-1427. DOI
- Haller, B.C., & Messer, P.W. (2017). asymptoticMK: A web-based tool for the asymptotic McDonald–Kreitman test. G3: Genes, Genomes, Genetics 7(5), 1569-1575. DOI
- Kardos, M., Qvarnstrom, A., & Ellegren, H. (2017). Inferring individual inbreeding and demographic history from segments of identity by descent in Ficedula flycatcher genome sequences. Genetics 205(3), 1319-1334. DOI
- Kim, B.Y., Huber, C.D., & Lohmueller, K.E. (2017). Inference of the distribution of selection coefficients for new nonsynonymous mutations using large samples. Genetics 206(1), 345-361. DOI
- Laenen, B., Tedder, A., Nowak, M.D., et al. (2017). Demography and mating system shape the genome-wide impact of purifying selection in Arabis alpina. bioRxiv, 127209. DOI
- Lange, J.D., & Pool, J.E. (2017). Impacts of recurrent hitchhiking on divergence and demographic inference in Drosophila. bioRxiv, 187633. DOI
- Librado, P., Gamba, C., Gaunitz, C., et al. (2017). Ancient genomic changes associated with domestication of the horse. Science 356(6336), 442-445. DOI
- Liu, Q., Zhou, Y., Morrell, P.L., & Gaut, B.S. (2017). Deleterious variants in Asian rice and the potential cost of domestication. Molecular Biology and Evolution 34(4), 908-924. DOI
- Matz, M.V., Treml, E.A., Aglyamova, G.V., et al. (2017). Potential for rapid genetic adaptation to warming in a Great Barrier Reef coral. bioRxiv, 114173. DOI
- Nam, K., Munch, K., Mailund, T., et al. (2017). Evidence that the rate of strong selective sweeps increases with population size in the great apes. PNAS 114(7), 1613-1618. DOI
- Pedersen, C.E.T., Lohmueller, K.E., Grarup, N., et al. (2017). The effect of an extreme and prolonged population bottleneck on patterns of deleterious variation: Insights from the Greenlandic Inuit. Genetics 205(2), 787-801. DOI
- Racimo, F., Gokhman, D., Fumagalli, M., et al. (2017). Archaic adaptive introgression in TBX15/WARS2. Molecular Biology and Evolution 34(3), 509-524. DOI
- Racimo, F., Marnetto, D., & Huerta-Sanchez, E. (2017). Signatures of archaic adaptive introgression in present-day human populations. Molecular Biology and Evolution 34(2), 296-317. DOI
- Rogers, R.L., & Slatkin, M. (2017). Excess of genomic defects in a woolly mammoth on Wrangel island. PLoS Genetics 13(3), e1006601. DOI
- Romiguier, J., & Roux, C. (2017). Analytical biases associated with GC-content in molecular evolution. Frontiers in Genetics 8(16), 1-7. DOI
- Sikora, M., Seguin-Orlando, A., Sousa, V.C., et al. (2017). Ancient genomes show social and reproductive behavior of early Upper Paleolithic foragers. Science, eaao1807. DOI
- Sohail, M., Vakhrusheva, O.A., Sul, J.H., et al. (2017). Negative selection in humans and fruit flies involves synergistic epistasis. Science 356(6337), 539-542. DOI
- Xu, D., Pavlidis, P., Taskent, R.O., et al. (2017). Archaic hominin introgression in Africa contributes to functional salivary MUC7 genetic variation. Molecular Biology and Evolution 34(10), 2704-2715. DOI
- Aeschbacher, S., Packard Selby, J., Willis, J.H., & Coop, G. (2016). Population-genomic inference of the strength and timing of selection against gene flow. bioRxiv, 072736. DOI
- Cassa, C.A., Weghorn, D., Balick, D.J., et al. (2016). Estimating the selective effect of heterozygous protein truncating variants from human exome data. bioRxiv, 075523. DOI
- Chen, C.-Y., Hung, L.-Y., Wu, C.-S., & Chuang, T.-J. (2016). Purifying selection shapes the coincident SNP distribution of primate coding sequences. Scientific Reports 6(27272), 1-15. DOI
- Enard, D., Cai L., Gwennap C., Petrov D.A. (2016). Viruses are a dominant driver of protein adaptation in mammals. eLife 17(5), e12469. DOI
- Ewing, G.B., & Jensen, J.D. (2016). The consequences of not accounting for background selection in demographic inference. Molecular Ecology 25(1), 135-141. DOI
- de Filippo, C., Key, F.M., Ghirotto, S., et al. (2016). Recent selection changes in human genes under long-term balancing selection. Molecular Biology and Evolution 33(6), 1435-1447. DOI
- Galtier, N. (2016). Adaptive protein evolution in animals and the effective population size hypothesis. PLoS Genetics 12(1), 1-23. DOI
- Harris, K., & Nielsen, R. (2016). The genetic cost of Neanderthal introgression. Genetics 203(2), 881-891. DOI
- Huber, C.D., Kim, B.Y., Marsden, C.D., & Lohmuller, K.E. (2016). Determining the factors driving selective effects of new nonsynonymous mutations. PNAS 114(17), 4465–4470. DOI
- Irwin, K.K., Laurent, S., Matuszewski, S., et al. (2016). On the importance of skewed offspring distributions and background selection in virus population genetics. Heredity 117, 393-399. DOI
- Lindo, J., Huerta-Sanchez, E., Nakagome, S., et al. (2016). A time transect of exomes from a Native American population before and after European contact. Nature Communications 7(13175). DOI
- Peyregne, S., Boyle, M.J., Dannemann, M., & Prufer, K. (2016). Detecting ancient positive selection in humans using extended lineage sorting. bioRxiv 092999. DOI
- Racimo, F. (2016). Testing for ancient selection using cross-population allele frequency differentiation. Genetics 202(2), 733-750. DOI
- Arunkumar, R., Ness, R.W., Wright, S.I., & Barrett, S.C. (2015). The evolution of selfing is accompanied by reduced efficacy of selection and purging of deleterious mutations. Genetics 199(3), 817-829. DOI
- Assaf, Z.J., Petrov, D.A., & Blundell, J.R. (2015). Obstruction of adaptation in diploids by recessive, strongly deleterious alleles. PNAS 112(20), E2658-E2666. DOI
- Bianco, E., Soto, H.W., Vargas, L., & Pérez‐Enciso, M. (2015). The chimerical genome of Isla del Coco feral pigs (Costa Rica), an isolated population since 1793 but with remarkable levels of diversity. Molecular Ecology 24(10), 2364-2378. DOI
- Caballero, A., Tenesa, A., & Keightley, P.D. (2015). The nature of genetic variation for complex traits revealed by GWAS and regional heritability mapping analyses. Genetics 201(4), 1601-1613. DOI
- Cocca, M., Pybus, M., Palamara, P.F., et al. (2015). Purging of deleterious variants due to drift and founder effect in Italian populations with extended autozygosity. bioRxiv, 022947. DOI
- Douglas, G.M., Gos, G., Steige, K.A., et al. (2015). Hybrid origins and the earliest stages of diploidization in the highly successful recent polyploid Capsella bursa-pastoris. PNAS 112(9), 2806-2811. DOI
- Hussin, J.G., Hodgkinson, A., Idaghdour, Y., et al. (2015). Recombination affects accumulation of damaging and disease-associated mutations in human populations. Nature Genetics 47(4), 400-404. DOI
- Mafessoni, F., & Lachmann, M. (2015). Selective strolls: fixation and extinction in diploids are slower for weakly selected mutations than for neutral ones. Genetics 201(4), 1581-1589. DOI
- Schrider, D.R., & Kern, A.D. (2015). Inferring selective constraint from population genomic data suggests recent regulatory turnover in the human brain. Genome Biology and Evolution 7(12), 3511-3528. DOI
- Bergland, A.O., Behrman, E.L., O’Brien, K.R., Schmidt, P.S., & Petrov, D.A. (2014). Genomic evidence of rapid and stable adaptive oscillations over seasonal time scales in Drosophila. PLoS Genetics 10(11), e1004775. DOI
- Comeron, J.M. (2014). Background selection as baseline for nucleotide variation across the Drosophila genome. PLoS Genetics 10(6), e1004434. DOI
- Enard, D., Messer, P.W., & Petrov, D.A. (2014). Genome-wide signals of positive selection in human evolution. Genome Research 24(6), 885-895. DOI
- Veeramah, K.R., Gutenkunst, R.N., Woerner, A.E., et al. (2014). Evidence for increased levels of positive and negative selection on the X chromosome versus autosomes in humans. Molecular Biology and Evolution 31(9), 2267-2282. DOI
- Kousathanas, A., & Keightley, P.D. (2013). A comparison of models to infer the distribution of fitness effects of new mutations. Genetics 193(4), 1197-1208. DOI
- Messer, P.W., & Petrov, D.A. (2013). Frequent adaptation and the McDonald–Kreitman test. PNAS 110(21), 8615-8620. DOI