连续空间中有效的聚结模拟
discsim的Python项目详细描述
模拟在空间中进化的种群的合并 灭绝/再沉积模式下的连续体。这个 包是ercs的专门化 并提供了一种更有效的方法 模拟圆盘模型的空间结合。 与^{tt1}非常相似(但不完全相同)的接口$ 提供。
模拟 支持:
- 一个n个体样本,其m位点位于 直径为L的圆环。
- 相邻位点对之间的固定重组率。
- 在固定时间发生的任意数量的事件 价格。
- 一维和二维模拟。
- 在过去任何时候都可以访问祖先的位置。
- 所有血统祖先的位置模拟,以及 作为遗传祖先。
discsim模块支持python 2和3。
文档
下面是一个快速的例子,可以帮助那些不耐烦的人:
import ercs import discsim sim = discsim.Simulator(10) sim.sample = [None, (3, 2), (6, 4), (7, 0)] sim.event_classes = [ercs.DiscEventClass(u=0.5, r=1)] sim.run() pi, tau = sim.get_history()
有关discsim的完整文档,请访问 http://pythonhosted.org/discsim。
安装
快速安装debian/ubuntu
如果您运行的是debian或ubuntu,这会让您快速启动并运行:
$ sudo apt-get install python-dev libgsl0-dev $ sudo pip install ercs discsim
对于python 3,使用python3-dev和pip3。
一般说明
discsim模块 取决于GNU Scientific Library, 在建造之前必须先安装。 幸运的是,这在大多数平台上都很简单。例如, 在debian或ubuntu上使用:
$ sudo apt-get install libgsl0-dev
或在软呢帽上:
$ sudo yum install gsl-devel
GSL可用于大多数包装系统;如果您的 平台,可以从源安装。
discsim模块还依赖于 ercs python模块,它 也必须使用下面概述的相同方法安装。
一旦安装了gsl,我们就可以使用 标准pythonmethods。为了 例如,使用pip我们有
$ sudo pip install discsim
或者,我们可以手动下载包,将其解压缩,然后运行:
$ python setup.py build $ sudo python setup.py install
大多数情况下,这将编译和安装模块没有困难。
也可以下载 discsim来自github。
潜在问题
在GSL不作为本机打包的一部分提供的平台上 系统(或由于非根访问而在本地安装GSL) 找到正确的头和库可能会有问题 编译ercs和discsim时。例如,在freebsd上我们得到了一些东西 像这样:
$ python setup.py build ... [Messages cut for brevity] ... _discsimmodule.c:515: error: 'sim_t' has no member named 'time' _discsimmodule.c: In function 'Simulator_get_num_reproduction_events': _discsimmodule.c:529: error: 'sim_t' has no member named 'num_reproduction_events' _discsimmodule.c: In function 'Simulator_get_history': _discsimmodule.c:743: error: 'sim_t' has no member named 'pi' _discsimmodule.c:748: error: 'sim_t' has no member named 'tau' _discsimmodule.c: In function 'Simulator_run': _discsimmodule.c:789: error: 'sim_t' has no member named 'time' error: command 'cc' failed with exit status 1
可以使用gsl-config程序设置 将LDFLAGS和CFLAGS环境变量 它们的正确值:
$ CFLAGS=`gsl-config --cflags` LDFLAGS=`gsl-config --libs` python setup.py build
测试
discsim提供了一些测试用例,以确保安装顺利进行。 最好在安装后立即运行这些程序:
$ python tests.py
测试平台
discsim已在以下平台上成功构建和测试:
Operating system | Platform | Python | Compiler |
---|---|---|---|
Debian wheezy | x86_64 | 2.7.3 | gcc 4.7.2 |
Debian wheezy | x86_64 | 3.2.3 | gcc 4.7.2 |
Debian wheezy | x86 | 2.7.3 | gcc 4.7.2 |
Debian squeeze | ppc64 | 2.6.6 | gcc 4.4.5 |
Debian squeeze | ppc64 | 3.1.3 | gcc 4.4.5 |
Debian squeeze | x86_64 | 2.6.6 | gcc 4.4.5 |
Debian squeeze | x86_64 | 3.1.3 | gcc 4.4.5 |
FreeBSD 9.2 | x86_64 | 2.7.5 | gcc 4.2.1 |
FreeBSD 9.2 | x86_64 | 3.3.2 | gcc 4.2.1 |
Fedora 19 | x86_64 | 2.7.5 | gcc 4.8.1 |
Fedora 19 | x86_64 | 3.3.2 | gcc 4.8.1 |
SunOS 5.10 | SPARC | 3.3.2 | gcc 4.8.0 |