simuPOP is a general-purpose individual-based forward-time population genetics simulation environment. Please refer to the simuPOP homepage https://bopeng.github.io/simuPOP/ for details.
simuPOP is distributed under a GPL3 license. Starting from simuPOP 1.1.8, it supports only Python 3 (3.5 and up) on windows, mac and Linux systems.
simuPOP is part of the conda-forge, if you use Anaconda Python 3, you can install simuPOP with command
conda install -c conda-forge simuPOP
If you are working with a development version of simuPOP or an unsupported platform, you may need to install simuPOP from source. Please refer to INSTALLATION for details.
If you would like to use simuPOP with Python 2.5 - 2.7, please compile simuPOP from source, using either simuPOP 1.1.7,
or the Python 2.x branch of simuPOP. Note that features that has been marked deprecated
(e.g. simuOpt.Param
, simuPOP.plotting
) in simuPOP 1.1.7 and earlier are removed in simuPOP 1.1.8+, so simuPOP 1.1.7 would be your best
bet for the execution of legendary simuPOP scripts.
The user guide and reference manual of simuPOP is available at http://bopeng.github.io/simuPOP/. simuPOP is also introduced in the following two books:
- Forward-Time Population Genetics Simulations: Methods, Implementation, and Applications by Bo Peng, Marek Kimmel and Christopher I Amos, published by Wiley & Sons Inc, and available at Amazon and other bookstores.
- Bioinformatics with Python Cookbook by Tiago Antao, available at Amazon
- Fix compatibility with Python 3.13 and latest version of Xcode on mac.
- #103 Fix compatibility with recent compilers with c++17 support, and fix conda-forge release.
- #122 Fix compatibility with Visual Studio 2022 under windows.
- #114 Fix compatibility with Python 3.11.
- #114 Allow negative weight of a heterogeneous mating scheme to generate less individuals than calculated.
- #102: Fix compatibility issues with Python 3.11
- #98: Write banner messaged to stderr insted of stdout
- #94: Fix
HeteroMating
when being used in aConditionalMating
mating scheme. - #93: Add function form of selection operators such as
maSelect
(forMapSelector
) andmlSelect
(forMlSelector
).
- #70: Fix compatibility with Mac OS using
libc++
instead oflibstdc++
.
- #28: Fix a segmentation fault when providing a non-existent VSP index
- #31: Allow operator DiscardIf to accept a probability in addition to
True
/False
- #35: Add a
weightBy
parameter to allowHeteroMating
to produce offspring subpopulation with weights determined by not only the size of the parental subpopulation, but also by for example number of mating pairs. - #49: Fix output of loci positions in MS and other formats.