生物信息学。2011年9月1日;27(17): 2457–2458.
StochKit2:具有事件的生化系统离散随机模拟软件
美国加州大学圣巴巴拉分校计算机科学系
*信件应寄给谁。
副主编:Jonathan Wren
2011年5月11日收到;2011年6月9日修订;2011年6月24日接受。
版权©作者2011。牛津大学出版社出版。保留所有权利。有关权限,请发送电子邮件至:journals.permissions@oup.com 1简介
当相互作用的化学物质以高浓度存在时,生物化学系统的传统确定性表示是有用的。然而,系统生物学中的许多过程都是由拷贝数较小的化学品之间的反应驱动的。这些过程本质上是随机的,通常表现出确定性模型无法捕捉到的行为。
Gillespie的随机模拟算法(SSA)提供了一种生成轨迹的方法,该轨迹可以捕捉生物化学模型的随机行为(吉莱斯皮,1977年). SSA从以下模型开始N个化学物质{S公司1,S公司2,…,S公司N个}与相关离散种群{x个1,x个2,…,x个N个}. 这些物种通过M(M)反应通道{R(右)1,R(右)2,…,R(右)M(M)}. 反应R(右)我以化学计量向量表示v(v)我和表示的倾向函数一我化学计量向量描述了反应时发生的人口变化R(右)我火灾。倾向函数描述了反应的概率R(右)我将在下一个无限小的时间间隔内发生日期。通过一些简化的假设,包括空间同质性,系统的演化可以表示为马尔可夫跳跃过程,该过程由化学主方程(CME)。
CME通常过于复杂,无法直接求解。SSA是一种蒙特卡罗方法,通过模拟系统中的每个反应事件来生成CME的精确轨迹。通常,运行轨迹集合以获得概率分布的估计。自Gillespie的开创性工作以来,在高效精确SSA变体以及牺牲精确性以换取更高计算效率的近似方法(例如。曹等。, 2004,2006;Gillespie,2001年;雪橇等。, 2008).
StochKit2软件包允许实践系统生物学家执行生化模型的随机模拟。仿真算法自动检测和利用多核架构以提高效率,并执行一致性检查以确保可靠性。代码构建在精心设计的仿真框架之上,易于扩展。
2特点和实施
在本节中,我们简要概述了StochKit2的主要功能。有关更多信息,StochKit2发行版提供了详细的用户手册。
2.1仿真算法
StochKit2提供了几种(精确的)SSA算法的实现,包括直接方法(Gillespie,1977年),优化直接法(曹等。, 2004)和成分抑制方法(雪橇等。, 2008). 这些方法都从化学主方程中生成精确的样本(轨迹),但使用修改的SSA基本公式和数据结构来实现不同的性能和缩放特性。直接方法使用简单的数据结构,往往最适合于相对较小的模型。对于非常大的模型Slepoy公司等。(2008)是最有效的,因为恒定的缩放(相对于反应通道的数量)超过了维护更复杂的数据结构的开销。对于所有这些复杂性,StochKit2用户界面很简单:“ssa”。当用户运行SSA方法时,软件会立即分析模型和仿真选项,并自动选择适当的算法。
StochKit2还提供了一个接口,用于使用自适应的显式τ叉方法运行随机模拟(曹等。, 2006;Gillespie,2001年). 套叠法牺牲了精确性,以换取更大的时间步长。该算法基于误差容限自适应地选择步长,并在τ叉不有利的情况下恢复为SSA方法。同样,用户界面很简单:“tau_leaping”。然而,高级用户可以灵活地设置误差容限和方法恢复到SSA的条件。
2.2模型表示
StochKit2对其模型规范文件使用简单的基于XML的格式。例如,反应如
使用“<反应剂>”表示(S公司1和S公司2)和“<产品>”(S公司三)标签。反应的化学计量向量是产物向量和反应物向量之间的差值。对于(1)等基本反应,速率常数c(c)确定倾向函数(一=cx公司1 x个2)并存储在<Rate>标签中。然而,StochKit2还允许用户灵活地使用数学函数、状态变量和参数将任意函数(例如Michaelis–Menten速率)定义为倾向。模型文件可以在任何标准文本编辑器中编辑,StochKit2发行版提供了几个示例模型文件。对于系统生物学标记语言(SBML;哈卡等。, 2003),提供SBML到StochKit2模型转换功能。
2.3事件处理
StochKit2中的另一个新特性是SSA直接方法的一个版本,它内置了对事件处理的支持。事件是在满足条件时发生的系统状态或参数值的离散变化。这些事件“触发器”可以基于时间或状态,通常用于模拟生物过程或再现实验条件。例如,奎等。(2009)当模拟时间达到15分钟时,使用基于时间的触发事件从胰岛素分泌模型中移除胰岛素,以匹配实验方案(参见).
基于奎等。(2009). 持续的胰岛素输入(蓝色)刺激葡萄糖转运蛋白GLUT4(红色)。在t吨=15时,使用StochKit2中的事件处理功能从系统中移除胰岛素。
2.4输出选项和可视化工具
默认情况下,StochKit2计算模拟模型中所有化学物种的平均值和方差。用户可以选择以任意数量的均匀间隔时间间隔保存输出。除统计数据外,StochKit2还可以存储单个轨迹和直方图数据。平均值、方差和轨迹数据存储为ASCII文本文件,便于标准可视化软件读取。
2.4.1可视化工具
StochKit2提供了几种用于可视化仿真数据的绘图和分析工具。这些工具作为MATLAB/Octave兼容函数提供。对于每种仿真输出数据类型,都有一个相关的绘图功能(例如,plotStats、plotTrajecties、plotHistograms)。此外,还有一个直方图距离函数,它计算两个直方表之间的欧几里德距离和曼哈顿距离,并使用透明颜色在同一轴上绘制它们,以显示分布中的重叠。
3结论
StochKit2是一个高效且可扩展的软件包,用于生化系统的离散随机模拟。它提供了几种精确和近似SSA变体的实现,包括处理事件的SSA实现。它可以在Windows、Mac OS X和Linux/Unix上运行,并且可以免费用于非商业用途。StochKit2可从以下网址下载:http://sourceforge.net/projects/stochkit/.
基金国家生物医学成像与生物工程研究所(批准号:。R01EB007511号机组); 美国陆军研究办公室合作生物技术研究所(批准号:。DFR3A-8-447850-23002型;); DOE合同编号。数据元素-FG02-04ER25621; NSF合同编号。IGERT DG02-21715; 和DMS-1001012型; 国家科学基金会研究生研究奖学金(发给K.S.和R.K.L)。
利益冲突:未声明。
参考文献
- 曹勇,等。化学反应系统随机模拟算法的有效公式。化学杂志。物理。2004;121:4059–4067.[公共医学][谷歌学者]
- Cao Y.等。牛头叶模拟方法的有效步长选择。化学杂志。物理。2006;124:044109.[公共医学][谷歌学者]
- Gillespie D.T.耦合化学反应的精确随机模拟。《物理学杂志》。化学。1977;81:2340–2361. [谷歌学者]
- Gillespie D.T.化学反应系统的近似加速随机模拟。化学杂志。物理。2001;115:1716–1733。 [谷歌学者]
- Hucka M.等人,《系统生物学标记语言(SBML):生化网络模型的表示和交换媒介》。生物信息学。2003;19:524–531.[公共医学][谷歌学者]
- Kwei E.等人。2009年FOSBE会议记录。美国科罗拉多州:丹佛;2009。在胰岛素信号通路中使用随机模拟和稳健性分析的基于模型的治疗靶点区分。[谷歌学者]
- Slepoy A.等人。模拟大型生化反应网络的恒定动力学蒙特卡罗算法。化学杂志。物理。2008;128:205101.[公共医学][谷歌学者]