吉列斯比式生物化学模拟的蟒蛇界面
gillespy2的Python项目详细描述
gillespy2是一个用于生化系统随机模拟的python包。它提供了一种面向对象的方法来创建生物系统的数学模型,以及对这些模型进行时间模拟的各种方法。这些方法包括:gillespie直接法(ssa),几种不同的随机模拟方法,包括:tau跳跃法和数值积分法。颂歌。解算器支持多种用户环境,具有优化的C++代码,
请注册为用户,以便我们在寻求资金支持开发时能够证明Gillespy2有许多用户。gillespy2是stochs项目的一部分。 |
目录
安装
GilleSpy2可以使用不同的方法安装在您的计算机上,如下所述。
使用pypi
在Linux、MacOS和Windows操作系统上,您应该能够使用pip安装Gillespy2。如果您没有pip
包或不确定,请首先在终端命令行解释器中运行以下命令:
sudo python3 -m ensurepip
然后,要从python包存储库安装gillespy2,请运行以下命令:
python3 -m pip install gillespy2 --user --upgrade
使用源代码存储库
作为从pypi获得它的替代方法,您可以指示pip
直接从github存储库安装gillespy2:
python3 -m pip install git+https@github.com:GillesPy2/GillesPy2.git --user --upgrade
作为最后的选择,您可以首先使用g将github存储库中gillespy2源代码树的副本克隆到本地计算机磁盘,然后使用该副本安装gillespy2:
git clone --recursive https@github.com:GillesPy2/GillesPy2.git
cd GillesPy2
python3 -m pip install . --user --upgrade
用法
Gillespy2提供了简单的面向对象抽象,用于定义生化系统的模型,并使用有效的随机模拟算法模拟该模型。使用GilleSpy2的基本步骤是:
- 创建一个包含分子种类、参数和反应的
gillespy2.model
(或从sbml文件导入) - 调用模型的
.run()
方法。 < > >可以使用关键字参数自定义run()
方法,以选择不同的解算器、随机种子、数据返回类型等。有关如何使用Gillespy2的更多详细示例,请参阅子目录中包含的"入门"示例中的"jupyter笔记本"。。
举例说明GilleSpy2的使用
二聚是一些分子物种的两个分子(在这种情况下称为"单体"–简称为"m")聚集在一起形成新分子(称为"d")的过程,但这样做的方式是可逆的,这意味着组合结构也可以衰变或分解回"M"。一个简单的二聚化过程模型将其表示为两个反应:一个"m"分子与另一个"m"分子反应形成一个新分子("d")的反应,另一个"d"分子分裂成两个"m"分子的反应。在生化反应方面,它看起来是这样的(其中kc和kd分别代表二聚体生成和解离的速率常数;m代表"m"的分子数;d是"d"的分子数:
__kc
2米
___kd
在gillespy2中,模型被表示为具有父类模型的对象。模型的组成部分,如反应、分子种类和特性,如模拟的时间跨度,都在子类定义中定义。下面的python代码使用gillespy2的工具表示我们的二聚模型:
classDimerization(gillespy2.Model):def__init__(self,parameter_values=None):# First call the gillespy2.Model initializer.gillespy2.Model.__init__(self,name='Dimerization')# Define parameters for the rates of creation and dissociation.k_c=gillespy2.Parameter(name='k_c',expression=0.005)k_d=gillespy2.Parameter(name='k_d',expression=0.08)self.add_parameter([k_c,k_d])# Define variables for the molecular species representing M and D.m=gillespy2.Species(name='monomer',initial_value=30)d=gillespy2.Species(name='dimer',initial_value=0)self.add_species([m,d])# The list of reactants and products for a Reaction object are each a# Python dictionary in which the dictionary keys are Species objects# and the values are stoichiometries of the species in the reaction.r_c=gillespy2.Reaction(name="r_creation",rate=k_c,reactants={m:2},products={d:1})r_d=gillespy2.Reaction(name="r_dissociation",rate=k_d,reactants={d:1},products={m:2})self.add_reaction([r_c,r_d])# Set the timespan for the simulation.self.timespan(numpy.linspace(0,100,101))
根据上面的类定义,可以通过首先实例化类对象,然后在对象上调用run()
方法来模拟模型。以下代码将运行模型10次以生成10个样本轨迹:
model=Dimerization()results=model.run(number_of_trajectories=10)
然后将结果存储在单个轨迹的类results
对象中,或者存储在多个轨迹的类集成对象中。可以使用matplotlib使用plot()
或在plotly(脱机)中使用plotplotly()
绘制结果/集合。有关其他绘图选项,如从所选物种绘图或统计绘图,请参见文档。
results.plot()
或者,results对象继承python内置的userdict
用于单轨迹,而userlist
用于多轨迹。可以使用任何绘图库(如matplot lib)轻松绘制结果,如下所示:
forindexinrange(0,10):trajectory=results[index]plt.plot(trajectory['time'],trajectory['monomer'],'r')plt.plot(trajectory['time'],trajectory['dimer'],'b')
加上一些national python matplotlib命令用于创建图形标签等,我们最终得到了这样一个图:
< imgsrc="https://warehouse-camo.cmh1.psfhosted.org/1C4FA45A22749494F679CAC4B183EEED7D5347FACF3B/6874747470733A322222222F27272727267676767677475627562757572636F6E74747474747474747070707373322F6F6E7427747474707474747470747474732F6F6F6E74742774747474747474747474747474747475627575627575757575727265727272636F6F6E746E74746E746E746E746E742E74622E74626C69622E706型e67"width="500px" />
获取帮助
gillespy2的联机文档提供了有关使用该软件的更多详细信息。如果您发现GilleSpy2或文档有任何问题,请使用此存储库的GitHub问题跟踪程序报告。您也可以直接与Brian Drwert联系,提出问题和建议。
贡献
我们将很高兴得到您的帮助和参与,与加强吉莱斯皮2!请遵循contribution.md中描述的指导原则。
许可证
Gillespy2是根据GNU通用公共许可版本3授权的。有关详细信息,请参见文件许可证。
作者和历史
新的开发主要发生在开发
分支中。新版本放在master
分支中。
<表><广告>主分支 开发分支
覆盖范围 < /广告><正文>致谢
这项工作由美国国立卫生研究院(NIH)NIBIB第2R01EB014877-04A1号奖资助。
GielsPy2使用了大量的开源软件包,如果没有这些软件包,用我们现有的资源开发这个软件实际上是不可能的。我们想承认这笔债务。按字母顺序排列的包裹是:
- jupyter–用于创建包含代码、可视化和叙述性文本的文档的Web应用程序
- libsbml–用于读取、写入和操作sbml内容的库
- lxml–一个用于python的xml解析库
- matplotlib–python 2d绘图库
- numpy–使用python进行科学计算的基本包
- scipy–基于python的数学、科学和工程开源软件生态系统
最后,我们感谢加州大学圣巴巴拉分校提供的机构资源。乌普萨拉大学和加州理工学院。
< div >
γ
γ
γ
标签:
- the
- 方法
- name
- 模型
- 界面
- 蟒蛇
- 分子
- 生物化学
推荐PyPI第三方库
pip
直接从github存储库安装gillespy2:g将github存储库中gillespy2源代码树的副本克隆到本地计算机磁盘,然后使用该副本安装gillespy2:
gillespy2.model
(或从sbml文件导入).run()
方法。可以使用关键字参数自定义 二聚是一些分子物种的两个分子(在这种情况下称为"单体"–简称为"m")聚集在一起形成新分子(称为"d")的过程,但这样做的方式是可逆的,这意味着组合结构也可以衰变或分解回"M"。一个简单的二聚化过程模型将其表示为两个反应:一个"m"分子与另一个"m"分子反应形成一个新分子("d")的反应,另一个"d"分子分裂成两个"m"分子的反应。在生化反应方面,它看起来是这样的(其中kc和kd分别代表二聚体生成和解离的速率常数;m代表"m"的分子数;d是"d"的分子数:
__kc 在gillespy2中,模型被表示为具有父类模型的对象。模型的组成部分,如反应、分子种类和特性,如模拟的时间跨度,都在子类定义中定义。下面的python代码使用gillespy2的工具表示我们的二聚模型: 根据上面的类定义,可以通过首先实例化类对象,然后在对象上调用 然后将结果存储在单个轨迹的类 或者,results对象继承python内置的 加上一些national python matplotlib命令用于创建图形标签等,我们最终得到了这样一个图: < imgsrc="https://warehouse-camo.cmh1.psfhosted.org/1C4FA45A22749494F679CAC4B183EEED7D5347FACF3B/6874747470733A322222222F27272727267676767677475627562757572636F6E74747474747474747070707373322F6F6E7427747474707474747470747474732F6F6F6E74742774747474747474747474747474747475627575627575757575727265727272636F6F6E746E74746E746E746E746E742E74622E74626C69622E706型e67"width="500px" /> gillespy2的联机文档提供了有关使用该软件的更多详细信息。如果您发现GilleSpy2或文档有任何问题,请使用此存储库的GitHub问题跟踪程序报告。您也可以直接与Brian Drwert联系,提出问题和建议。 我们将很高兴得到您的帮助和参与,与加强吉莱斯皮2!请遵循contribution.md中描述的指导原则。
Gillespy2是根据GNU通用公共许可版本3授权的。有关详细信息,请参见文件许可证。 新的开发主要发生在 这项工作由美国国立卫生研究院(NIH)NIBIB第2R01EB014877-04A1号奖资助。 GielsPy2使用了大量的开源软件包,如果没有这些软件包,用我们现有的资源开发这个软件实际上是不可能的。我们想承认这笔债务。按字母顺序排列的包裹是: 最后,我们感谢加州大学圣巴巴拉分校提供的机构资源。乌普萨拉大学和加州理工学院。
< div >
γ
γ
γ
标签:run()
方法,以选择不同的解算器、随机种子、数据返回类型等。有关如何使用Gillespy2的更多详细示例,请参阅子目录中包含的"入门"示例中的"jupyter笔记本"。。
举例说明GilleSpy2的使用
2米
___kdclassDimerization(gillespy2.Model):def__init__(self,parameter_values=None):# First call the gillespy2.Model initializer.gillespy2.Model.__init__(self,name='Dimerization')# Define parameters for the rates of creation and dissociation.k_c=gillespy2.Parameter(name='k_c',expression=0.005)k_d=gillespy2.Parameter(name='k_d',expression=0.08)self.add_parameter([k_c,k_d])# Define variables for the molecular species representing M and D.m=gillespy2.Species(name='monomer',initial_value=30)d=gillespy2.Species(name='dimer',initial_value=0)self.add_species([m,d])# The list of reactants and products for a Reaction object are each a# Python dictionary in which the dictionary keys are Species objects# and the values are stoichiometries of the species in the reaction.r_c=gillespy2.Reaction(name="r_creation",rate=k_c,reactants={m:2},products={d:1})r_d=gillespy2.Reaction(name="r_dissociation",rate=k_d,reactants={d:1},products={m:2})self.add_reaction([r_c,r_d])# Set the timespan for the simulation.self.timespan(numpy.linspace(0,100,101))
run()
方法来模拟模型。以下代码将运行模型10次以生成10个样本轨迹:model=Dimerization()results=model.run(number_of_trajectories=10)
results
对象中,或者存储在多个轨迹的类集成对象中。可以使用matplotlib使用
plot()
或在plotly(脱机)中使用plotplotly()
绘制结果/集合。有关其他绘图选项,如从所选物种绘图或统计绘图,请参见文档。results.plot()
userdict
用于单轨迹,而userlist
用于多轨迹。可以使用任何绘图库(如matplot lib)轻松绘制结果,如下所示:forindexinrange(0,10):trajectory=results[index]plt.plot(trajectory['time'],trajectory['monomer'],'r')plt.plot(trajectory['time'],trajectory['dimer'],'b')
获取帮助
贡献
许可证
作者和历史
开发
分支中。新版本放在master
分支中。 < /广告><正文>主分支 开发分支
覆盖范围 致谢
推荐PyPI第三方库