连续空间中有效的聚结模拟

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-devpip3

一般说明

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) 找到正确的头和库可能会有问题 编译ercsdiscsim时。例如,在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程序设置 将LDFLAGSCFLAGS环境变量 它们的正确值:

$ CFLAGS=`gsl-config --cflags` LDFLAGS=`gsl-config --libs` python setup.py build

测试

discsim提供了一些测试用例,以确保安装顺利进行。 最好在安装后立即运行这些程序:

$ python tests.py

测试平台

discsim已在以下平台上成功构建和测试:

Operating systemPlatformPythonCompiler
Debian wheezyx86_642.7.3gcc 4.7.2
Debian wheezyx86_643.2.3gcc 4.7.2
Debian wheezyx862.7.3gcc 4.7.2
Debian squeezeppc642.6.6gcc 4.4.5
Debian squeezeppc643.1.3gcc 4.4.5
Debian squeezex86_642.6.6gcc 4.4.5
Debian squeezex86_643.1.3gcc 4.4.5
FreeBSD 9.2x86_642.7.5gcc 4.2.1
FreeBSD 9.2x86_643.3.2gcc 4.2.1
Fedora 19x86_642.7.5gcc 4.8.1
Fedora 19x86_643.3.2gcc 4.8.1
SunOS 5.10SPARC3.3.2gcc 4.8.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像