用于连续遗传算法优化的python工具包。

galibrate的Python项目详细描述


加利布拉特

Python version badgelicenseversionreleaseanaconda cloudCodacy BadgeDOI

galibrate是一个python工具包,它提供了一个易于使用的接口,用于使用基于连续遗传算法的优化实现进行模型校准/参数估计。它的功能和api是为PyDREAMsimplePSOGleipnir包的用户所熟悉而设计的。

尽管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

  1. Lopez,C.F.,Muhlich,J.L.,Bachman,J.A.&Sorger,P.K.。使用PysB在Python中编程生物模型。分子系统生物学9,(2013)。doi:10.1038/msb.2013.1

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

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List