用于连续遗传算法优化的python工具包。
galibrate的Python项目详细描述
加利布拉特
galibrate是一个python工具包,它提供了一个易于使用的接口,用于使用基于连续遗传算法的优化实现进行模型校准/参数估计。它的功能和api是为PyDREAM、simplePSO和Gleipnir包的用户所熟悉而设计的。
尽管galibrate为连续运行提供了一个通用框架 基于遗传算法的优化,它是建立在系统生物学模型的思想。因此,它为使用PySB格式的生物模型提供了额外的工具。
安装
! Warning |
---|
GAlibrate is still under heavy development and may rapidly change. |
galibrate作为galibrate
包安装。它与Python3.6和3.7兼容(即经过测试)。
请注意,galibrate
具有以下核心依赖项:
PIP安装
您可以使用来自github repo的pip
安装最新版本的galibrate
包:
pip install -e git+https://github.com/blakeaw/GAlibrate@v0.4.0#egg=galibrate
但是,这不会自动安装核心依赖项。您必须单独执行此操作:
pip install numpy scipy
Conda安装
您可以从blakeaw
频道安装galibrate
包:
conda install -c blakeaw galibrate
此版本将自动安装numpy和scipy依赖项。
推荐的附加软件
以下软件不需要用于galibrate的基本操作,但在安装时提供额外的功能和特性。
cython
galibrate包含一个核心遗传算法的实现,该算法是用Cython编写的,它利用基于cython的优化和编译来加速算法。如果安装了cython,则使用此版本的遗传算法。
编号
galibrate还包括一个核心遗传算法的实现,该算法利用基于Numba的jit编译和优化来加速算法。如果安装了numba,则使用此版本的遗传算法。
pysb
PySB是运行pysb模型所必需的,如果您想使用galibrate.pysb_utils包中的工具,则需要它。
许可证
这个项目是根据麻省理工学院的许可证授权的-请参见LICENSE文件了解详细信息
文档和用法
快速概述
原则上,galibrate定义了g a o(连续的g遗传的a基于算法的oo ptimizer)类,
fromgalibrateimportGAO
它定义了一个对象,它可以用来建立和运行一个连续的基于遗传算法的优化(即,最大化)用户定义的适应度函数在给定的一组(模型)参数的搜索空间上。
另外,galibrate有一个提供
galibrate_it
模块,它定义gaoit和galibrateit类(可从pysb实用程序包级别导入),
fromgalibrate.pysb_utilsimportGaoIt,GAlibrateIt
它创建了一些对象,这些对象抽象了为pysb模型设置和生成gao实例的一些工作;examples/pysb_dimerization_model提供了一些
使用gaoit和galibrateit对象的示例。也可以从命令行调用galibrate_it
模块来为pysb模型生成模板运行脚本,
python-mgalibrate.pysb_utils.galibrate_itpysb_model.pyoutput_path
用户可以根据自己的需要进行修改。
示例
可以在examples下找到其他示例脚本,这些脚本演示如何使用galibrate设置和启动遗传算法运行。
联系人
若要报告问题或错误,请打开 GitHub Issue。另外,任何 galibrate的评论、建议或功能请求也可以作为 GitHub Issue。
引用
如果您在研究中使用galibrate软件,请引用它。您可以从Zenodo DOI条目导出galibrate引文,格式为您喜欢的格式。
另外,请为与/viagalibrate一起使用的软件引用以下适当的参考资料:
来自scipy生态系统的包
其中包括numpy和scipy,可从以下位置获取参考: https://www.scipy.org/citing.html
pysb
- Lopez,C.F.,Muhlich,J.L.,Bachman,J.A.&Sorger,P.K.。使用PysB在Python中编程生物模型。分子系统生物学9,(2013)。doi:10.1038/msb.2013.1