生物信息学。2018年2月15日;34(4): 695–697.
PyDREAM:python生物模型的高维参数推断
,1 ,2,三和1
艾琳·M·肖克利
1美国田纳西州纳什维尔加兰大道2215号范德比尔特大学生物化学系
贾斯珀·A·弗鲁特
2加州大学欧文分校土木与环境工程系,4130 Engineering Gateway,Irvine,CA,USA
三加利福尼亚大学欧文分校地球系统科学系,美国加利福尼亚州欧文市克劳尔霍尔街3200号
卡洛斯·F·洛佩兹
1美国田纳西州纳什维尔加兰大道2215号范德比尔特大学生物化学系
阿方索·巴伦西亚,助理编辑
1美国田纳西州纳什维尔加兰大道2215号范德比尔特大学生物化学系
2加州大学欧文分校土木与环境工程系,4130 Engineering Gateway,Irvine,CA,USA
三加利福尼亚大学欧文分校地球系统科学系,美国加利福尼亚州欧文市克劳尔霍尔街3200号
2017年2月7日收到;2017年9月4日修订;2017年10月3日接受。
- 补充资料
补充数据。
GUID:32615681-7A31-444B-9614-BA5D25905F32
摘要
总结
生物模型包含许多参数,这些参数的值很难通过实验直接测量,因此需要根据实验数据进行校准。马尔可夫链蒙特卡罗(MCMC)方法适用于估计多元后验模型参数分布,但这些方法在高维搜索空间中可能表现出缓慢或过早的收敛。这里,我们介绍了PyDREAM,它是(Multiple-Try)Differential Evolution Adaptive Metropolis[DREAM)的Python实现(ZS)]算法开发人Vrugt和ter Braak(2008)和Laloy和Vrugt(2012年)PyDREAM在复杂、参数丰富的模型中取得了优异的性能,并充分利用了分布式计算资源,方便了CPU密集型生物模型的参数推断和不确定性估计。
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格式导出平稳样本以进行进一步分析。例如,显示了两个CORM参数的边缘后验分布直方图。在一万个模型评估中实现了收敛,在六核处理器上完成不到一个小时。这比单链、非自适应MCMC方法快一个数量级以上。
COX-2反应模型两个参数的前(绿色)和后(蓝色)分布直方图
致谢
我们要感谢: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.[谷歌学者]