跳到主要内容
访问密钥 NCBI主页 MyNCBI主页 主要内容 主导航
生物信息学。2018年2月15日;34(4): 695–697.
2017年10月4日在线发布。 数字对象标识:10.1093/生物信息学/btx626
预防性维修识别码:第58606007页
PMID:29028896

PyDREAM:python生物模型的高维参数推断

阿方索·巴伦西亚,助理编辑

关联数据

补充资料

摘要

总结

生物模型包含许多参数,这些参数的值很难通过实验直接测量,因此需要根据实验数据进行校准。马尔可夫链蒙特卡罗(MCMC)方法适用于估计多元后验模型参数分布,但这些方法在高维搜索空间中可能表现出缓慢或过早的收敛。这里,我们介绍了PyDREAM,它是(Multiple-Try)Differential Evolution Adaptive Metropolis[DREAM)的Python实现(ZS)]算法开发人Vrugt和ter Braak(2008)Laloy和Vrugt(2012年)PyDREAM在复杂、参数丰富的模型中取得了优异的性能,并充分利用了分布式计算资源,方便了CPU密集型生物模型的参数推断和不确定性估计。

可用性和实施

PyDREAM在Lopez实验室GitHub存储库的GNU GPLv3许可证下免费提供,网址为http://github.com/LoLab-VU/PyDREAM

补充信息

补充数据可在生物信息学在线。

1引言

生物过程的机械模型被广泛用于研究和解释观察到的细胞行为,并为实验验证生成可测试的假设(Chylek,2015年;Eydgahi,2013年;Janes和Lauffenburger,2013年;Neumann,2010年;Shankaran,2012年;Suderman和Deeds,2013年). 随着模型复杂性的增加,未知参数的数量可能会增加很多倍,使得根据实验数据进行校准变得越来越困难(Eydgahi,2013年;克林克,2009年). 尽管一些作者提倡使用集合方法进行参数估计(Brown和Sethna,2003年;Klinke,2009年),优化方法仍然广泛应用于定量生物学,这主要是因为在常见的计算环境中与参数推断相关的计算挑战(Neumann,2010年;托马斯等。, 2015). 近年来,贝叶斯方法在系统生物学等领域广泛应用于集成参数估计(Eydgahi,2013年),水文(Schoups和Vrugt,2010年),天体物理学(波维,2012)和其他许多人(2016年,弗鲁特). 这些方法基于贝叶斯定理来确定模型输出的后验密度,并使用马尔可夫链蒙特卡罗(MCMC)模拟来近似后验参数分布。最早的MCMC方法是随机游走Metropolis(RWM)算法,该算法在参数空间中生成随机游走,并连续访问来自平稳分布的稳定频率的解。采样点收集在马尔可夫链中,用于总结后验参数分布和相关矩。MCMC方法带来了有用的生物学见解(Eydgahi,2013年;Klinke,2009年)但在实践中很难执行,因为实现收敛所需的样本数可能会令人望而却步,特别是当链的转移密度(建议分布)与实际目标分布很不接近时。在过去的几十年中,为了提高采样链的收敛速度,已经开发了许多不同的提案分布自适应策略(Andrieu和Thoms,2008年;2016年,弗鲁特).

在这里,我们介绍了PyDREAM,它是一个Python工具箱,由两种不同的MCMC方法组成,它们是差分进化自适应都市(DREAM)采样算法家族(Laloy和Vrugt,2012年;弗鲁特,2009年,2016;Vrugt和ter Braak,2008年). 特别是,我们的套餐包括DREAM(ZS)(2016年,弗鲁特;Vrugt和ter Braak,2008年)和MT-DREAM(ZS)(Laloy和Vrugt,2012年)MCMC算法,大大简化了复杂生物系统的参数推断。这两种方法都使用通用的多链体系结构,并通过差异进化在每个链中动态创建(多元)候选点(普赖斯,2005年;Storn和Price,1997年)使用关节链的一对或多对过去状态之间的差值的倍数作为跳跃向量(ter Braak,2006年). 周期性地,这种平行方向跳跃被斯诺克跳跃所取代,以使候选点多样化(Vrugt和ter Braak,2008年). 这两个步骤都相当于一个离散的自适应建议分布,具有跳跃向量的规模和方向,在采样链到达其平稳分布的过程中快速符合目标分布(ter Braak,2006年). 通过接受每个具有Metropolis比率的多元跳跃(候选点),可以获得一个马尔可夫链,其平稳分布与目标分布等效,保持详细的平衡,并且在多模态搜索问题中表现出更高的性能。MT-DREAM系列(ZS)算法是DREAM的扩展(ZS)为加速CPU需求参数丰富模型链的收敛速度而设计的算法。该方案使用所谓的MTM(II)变体的平行方向和斯诺克跳跃实现,在每条链中生成多个不同的候选点刘(2000)它已成功应用于水文等领域数百个参数的模型(Laloy和Vrugt,2012年). 我们向感兴趣的读者推荐弗鲁特(2016)讨论自适应单链和多链MCMC方法,详细回顾DREAM系列算法的MATLAB实现。

梦想(ZS)和MT-DREAM(ZS)算法适用于多线程计算实现,其中链的候选点使用分布式体系结构并行计算。这大大减少了所需的CPU预算,并使高维参数推断更容易处理。下面,我们详细介绍了PyDREAM工具箱,并用一个简单的生物学例子说明了它的使用。我们向读者推荐补充材料有关贝叶斯推理和MCMC模拟的更详尽介绍,以及Python包的详细描述,包括几个示例应用程序。PyDREAM是在GNU GPLv3开源许可下发布的,并通过GitHub和Python包索引(PyPI)免费提供,用于社区开发和一般访问。

2实施

PyDREAM是用Python编程语言实现的,它充分利用了Pythons的多处理能力来促进候选点的分布式多核计算。通过更广泛的Python生态系统,PyDREAM可以访问许多其他包和功能,例如基于编程规则的模型管理(PySB)(洛佩兹., 2013)SciPy(数值模拟与分析;网址:http://www.scipy.org)和matplotlib(图形)(请参见补充材料例如)。PyDREAM工具箱经过了详尽的测试,以确保Python实现的输出与DREAM的MATLAB包的结果相匹配(ZS)和MT-DREAM(ZS)(参见补充图7和8). 可以通过键入以下命令安装PyDREAMpip安装pydream从命令行。

3结果

3.1示例问题

我们现在说明PyDREAM在COX-2反应模型(CORM)参数估计中的应用(Mitchener,2015年). 本案例研究的更详细解释和附加数字见补充材料CORM包括环氧化酶-2(COX-2)与其两种底物花生四烯酸(AA)和2-花生四烯醇甘油(2-AG)的催化和变构相互作用。这两种底物分别转化为前列腺素(PG)和前列腺素甘油(PGG)。该模型涉及13个物种和29个反应。我们假设以下是已知的先验的:(i)系统中看似合理的生物相互作用,(ii)实验测量了其中一些相互作用的速率常数,(iii)任何给定实验中存在的酶和底物的数量,(iv)在不同初始底物浓度下对产物PG和PGG的实验测量,以及(v)未测量速率参数的生物学合理范围。然后,我们希望确定满足我们规定的先验知识的未知速率参数的值。这相当于推断速率参数的后验分布,涉及PyDREAM的三个一般步骤:(i)指定先验参数分布,(ii)选择适当的似然函数和(iii)MCMC模拟。下面概述了应用于CORM示例的每个步骤,并在补充材料除CORM示例外,PyDREAM包还包括三个额外的案例研究,涉及两个多元统计分布和一个简单的生化模型。

3.2参数优先

在贝叶斯上下文中,在收集实验数据之前,先验分布对我们关于参数的所有“主观”知识进行编码。这种分布,通常简称为先验分布,表达了人们在考虑数据(也称为证据)之前对参数的看法。由于CORM是一种生物化学相互作用的模型,因此先验参数分布是根据有关生物学上合理的动力学速率值的专家知识选择的。CORM包含两种类型的实验参数:COX-2与其底物相互作用的解离常数和不同酶底物种类转换的催化常数。在缺乏这些解离常数和催化常数的详细知识的情况下,我们采用了临界正态先验,该先验跨越解离常数的毫摩尔至纳摩尔亲和力,从0.01 s开始−1至100秒−1对于速率常数。PyDREAM使用SciPy(琼斯,2001年)包定义一系列不同的单变量和多变量先验分布(例如正态分布、均匀分布)。用户也可以定义其他先前的分布(补充材料,第7.1节).

3.3似然函数

在贝叶斯上下文中,似然函数以概率形式总结了实验数据和模拟结果(给定模型参数向量)之间的距离。在PyDREAM中,我们使用单独的Python函数计算每个多维参数向量的对数似然。该函数需要测量的实验数据作为输入,并可能包括约束或其他“软”和硬数据,以更好地评估每个模拟模型输出的可能性。对于CORM,似然函数以概率的方式量化了产品PG和PGG的观察浓度和模拟浓度之间的一致性。还假设实验测量值是正态分布的,具有从多次测量值计算得出的标准偏差。此外,CORM的似然函数通过约束促进了模型模拟的所有热力学循环中的能量守恒。CORM似然函数的代码包含在补充材料以及其他似然函数。

3.4取样

在建立了先验参数分布和似然函数后,PyDREAM从目标分布中生成样本,用(MT)-DREAM进行MCMC参数空间探索(ZS)算法。使用PyDREAM进行采样需要调用单个函数,并将定义的参数prior和似然函数作为参数输入传递。该函数返回每个链的采样状态数组以及每个参数向量的相关后验概率密度。然后可以计算出各种收敛准则,这些准则用于在关节链达到平稳分布之前确定必要的老化。也可以通过检查单个链的混合情况,直观地评估采样轨迹的收敛性,但这种评估可能是主观的,尤其是在参数之间具有复杂多元依赖关系的高维参数空间中。可以使用诸如matplotlib之类的Python软件包绘制边缘、双变量和联合后验分布,或者可以CSV格式导出平稳样本以进行进一步分析。例如,图1显示了两个CORM参数的边缘后验分布直方图。在一万个模型评估中实现了收敛,在六核处理器上完成不到一个小时。这比单链、非自适应MCMC方法快一个数量级以上。

保存图片、插图等的外部文件。对象名称为btx626f1.jpg

COX-2反应模型两个参数的前(绿色)和后(蓝色)分布直方图

4总结

我们介绍了PyDREAM,它是DREAM的Python开源实现(ZS)和MT-DREAM(ZS)用于复杂、高维、后验参数分布的有效推断的采样算法。该工具箱建立在MATLAB DREAM包的基础上,可在Lopez实验室的GitHub存储库中获得(http://github.com/LoLab-VU/PyDREAM).

补充材料

补充数据

致谢

我们要感谢:Christopher Fonnesbeck博士在整个方法实施过程中提供的建议;Lawrence Marnett博士和Michelle Mitchener提供实验数据和见解;Alexander L.R.Lubbock博士,就规范的实施和本手稿的内容提供建议;Blake A.Wilson博士,获取关于手稿内容的反馈。

基金

这项工作得到了国家科学基金会的资助[MCB-1411482];NIH拨款[5T32GM065086至E.M.S.]。本研究使用了橡树岭领导力计算设施的资源,该设施由美国能源部科学办公室根据合同DE-AC05-00OR22725提供支持。

工具书类

  • Andrieu C.、Thoms J.(2008)自适应MCMC教程统计计算。,18, 343–373.[谷歌学者]
  • 波维J。等人(2012年)银河系盘单富子种群的空间结构天体物理学。J型。,753, 148.[谷歌学者]
  • Brown K.S.、Sethna J.P.(2003)具有许多未知参数的模型的统计力学方法物理学。版本E,68, 021904. [公共医学][谷歌学者]
  • Chylek洛杉矶。等(2015)(物理)生物学家建模:基于规则的方法简介物理学。生物。,12, 4.[PMC免费文章][公共医学][谷歌学者]
  • Eydgahi H。等(2013)用贝叶斯方法校准和比较细胞死亡模型的特性摩尔系统。生物,9, 644..[PMC免费文章][公共医学][谷歌学者]
  • Janes K.A.、Lauffenburger D.A.(2013年)信号网络模型——细胞生物学家可以从中获得并给予它们什么J.细胞。科学。,126, 1913–1921.[PMC免费文章][公共医学][谷歌学者]
  • 琼斯E。等(2001)SciPy:Python开源科学工具。
  • Klinke D.J.(2009)基于模型的细胞信号网络推理的经验贝叶斯方法BMC生物信息学,10, 371..[PMC免费文章][公共医学][谷歌学者]
  • Laloy E.、Vrugt J.A.(2012年)基于多重DREAM的水文模型高维后验研究ZS公司和高性能计算水资源。雷斯。,48,编号01526。[谷歌学者]
  • 刘杰(Liu J.)。等(2000)大都会抽样中的多重方法与局部优化美国统计协会。,95, 121–134.[谷歌学者]
  • 洛佩兹C.F。等(2013)使用PySB在Python中编程生物模型摩尔系统。生物。,9, 646..[PMC免费文章][公共医学][谷歌学者]
  • 米奇纳M.M。等(2015)竞争和同素异构化控制环氧合酶-2的底物选择性程序。国家。阿卡德。科学。美国,112, 12366–12371.[PMC免费文章][公共医学][谷歌学者]
  • 诺依曼L。等(2010)CD95死亡诱导信号复合体内的动力学决定细胞的生死摩尔系统。生物。,6, 352.[PMC免费文章][公共医学][谷歌学者]
  • 价格K。等(2005)差分进化:一种实用的全局优化方法. 柏林-海德堡施普林格-弗拉格。[谷歌学者]
  • Schoups G.、Vrugt J.A.(2010年)具有相关、异方差和非高斯误差的水文模型参数和预测推断的形式似然函数水资源。雷斯。,46,W10531。[谷歌学者]
  • Shankaran H。等人(2012年)综合实验和基于模型的分析揭示了EGFR激活动力学的空间方面分子生物系统。,8, 2868–2882.[PMC免费文章][公共医学][谷歌学者]
  • Storn R.、Price K.(1997)差分进化——一种简单有效的连续空间全局优化启发式算法J.全球优化。,11, 341–359.[谷歌学者]
  • Suderman R.、Deeds E.J.(2013年)机器与集合:通过异质蛋白质复合物集的有效MAPK信号公共科学图书馆计算。生物。,9,e1003278。。[PMC免费文章][公共医学][谷歌学者]
  • ter Braak C.J.F.(2006)遗传算法差分进化的马尔可夫链蒙特卡罗版本:实参数空间的简易贝叶斯计算统计计算。,16, 239–249.[谷歌学者]
  • 托马斯B.R。等(2015)BioNetFit:一种与BioNetGen、NFsim和分布式计算环境兼容的安装工具BMC生物信息学,32,5。[PMC免费文章][公共医学][谷歌学者]
  • Vrugt J.A.、ter Braak C.J.F.(2008)斯诺克更新器和更少链的差分进化马尔可夫链统计计算,18, 435–446.[谷歌学者]
  • 弗鲁特J.A。等(2009)自适应随机子空间采样差分进化加速马尔可夫链蒙特卡罗模拟国际非线性科学杂志。,10, 271–288.[谷歌学者]
  • Vrugt J.A.(2016)使用DREAM软件包的马尔可夫链蒙特卡罗模拟:理论、概念和MATLAB实现环境。模型1。柔和。,75, 273–316.[谷歌学者]

文章来自生物信息学由以下人员提供牛津大学出版社