主要内容

创建和自定义函数模拟模型

这个例子展示了如何创建一个自定义函数,结合模型模拟。

概述

先决条件的例子

这个示例假设您有一个可以工作的知识:

  • MATLAB®应用程序

  • 创建并保存MATLAB程序

关于模型的例子

下面的例子使用了模型中描述酵母模型Heterotrimeric G蛋白循环

此表显示了反应用于模型G蛋白周期和相应的速度参数(每个反应速率常数)。对于可逆反应,远期利率参数是首先列出来。

不。 的名字 反应1 速度参数
1 Receptor-ligand交互 L + R < - > RL kRL,kRLm
2 Heterotrimeric G蛋白形成 Gd + Gbg - > G kG1
3 G蛋白激活 RL + G - > Ga + Gbg + RL kGa
4 受体的合成和降解 R < - > null kRdo,基米-雷克南
5 Receptor-ligand退化 RL - >零 kRD1
6 G蛋白失活 Ga - > Gd kGd
1传奇的物种:L =配体(α因子),R = alpha-factor受体,Gd =不活跃的G-alpha-GDP Gbg =免费G-beta水平:G-gamma复杂,G =不活跃的Gbg: Gd复杂,Ga G-alpha-GTP =活跃

假设的例子

这个例子假定:

  • 一个抑制剂(Inhib物种)减缓了活跃的G蛋白的失活(反应6以上,Ga - > Gd)。

  • 变化的抑制剂(Inhib物种)中定义一个自定义函数,inhibvalex

  • 抑制剂(Inhib物种)通过改变影响反应速率参数的数量kGd

的例子

这个例子展示了如何创建和SimBiology调用自定义函数®表达式。具体地说,它展示了如何使用自定义函数在一个规则表达式。

使用自定义函数SimBiology表达式

您可以使用自定义函数:

  • 反应速率表达式(ReactionRate属性)

  • 规则表达式(规则属性)

  • 事件表达式(EventFcns财产或触发属性)

要求使用自定义函数SimBiology表达式是:

  • 创建一个自定义函数。有关更多信息,请参见函数

  • 改变当前文件夹包含定制MATLAB文件的文件夹。这通过使用吗cd命令或通过使用MATLAB桌面工具栏中的当前文件夹字段。另外,包含文件的文件夹添加到搜索路径。这通过使用吗目录命令或看到改变文件夹搜索路径

  • 调用自定义函数SimBiology反应,规则,或事件表达式。

提示

如果您的规则或反应速率表达式不是连续可微的,看到的使用事件处理规则和反应速率表达式的不连续性在模拟模型。

创建一个自定义函数

下列程序将创建一个自定义函数,inhibvalex,它允许您指定如何抑制剂数量会随着时间而改变。输入时间,最初的抑制剂,和一个参数管理抑制剂。的输出函数是抑制剂。

在MATLAB桌面,选择File > New >脚本MATLAB,打开编辑器。

复制并粘贴以下函数声明:

% inhibvalex.m函数凯尔Cp = inhibvalex (t, Cpo)%这个函数的输入参数t, Cpo,凯尔%,并返回抑制剂Cp的价值。%后可以指定的输入参数% SimBiology规则表达式。%在规则表达式,例如指定:% t随着时间(关键字公认为模拟时间),% Cpo作为一个参数,表示最初的抑制剂,%和凯尔作为参数管理抑制剂。如果t < 400 Cp = Cpo * exp(凯尔* (t));其他的Cp = Cpo * exp(凯尔* (t - 400));结束

保存文件(名称的文件inhibvalex.m)在一个目录,在MATLAB搜索路径,或一个目录,您可以访问。

如果文件的位置不是在MATLAB的搜索路径,改变工作目录文件的位置。

负荷模型的例子

加载gprotein示例项目,包括变量m1,一个模型对象:

sbioloadprojectgprotein

m1模型对象出现在MATLAB工作区。

自定义函数添加到示例模型

下列程序创建一个表达式规则调用自定义函数,inhibvalex,指定了三个对这个函数的输入值。

重复赋值规则添加到模型中指定自定义函数的三个输入值,inhibvalex:

规则1 = addrule (m1,' Inhib = inhibvalex(时间、Cpo凯尔)',“repeatedAssignment”);

时间输入是一个SimBiology关键词公认为仿真时间

创建使用的两个参数规则1规则和赋值:

p1 = addparameter (m1,“Cpo”,250);p2 = addparameter (m1,“凯尔”,0.01);

创建使用的物种规则1规则:

s1 = addspecies (m1.Compartments,“Inhib”);

定义一个规则改变参数值

率参数的值kGd影响抑制剂存在于系统的数量。向模型中添加一个规则来描述这一行动,但首先改变ConstantValue的属性参数kGd这样它就可以被不同的规则。

改变ConstantValue财产的kGd参数

p3 = sbioselect (m1,“类型”,“参数”,“名字”,“kGd”);p3。ConstantValue = false;

向模型中添加重复赋值规则来定义的kGd参数的影响Inhib物种。

rule2 = addrule (m1,“kGd = 1 / Inhib”,“repeatedAssignment”);

添加一个事件在不连续重置解算器和模拟模型

自定义函数,inhibvalex引入了一个不连续的模型,当时间= 400。确保准确的仿真结果,向模型中添加一个事件重置时解决不连续。设置事件触发时的不连续(时间= 400)。事件不需要修改模型,创建一个事件函数,一个物种繁殖价值1。

addevent (m1,“时间> = 400”,“G = 1 * G”);

配置仿真设置(configset对象)m1在仿真模型对象记录所有国家。

c = getconfigset (m1);cs.RuntimeOptions。StatesToLog =“所有”;

模拟模型。

simDataObj = sbiosimulate (m1);

策划的结果。

sbioplot (simDataObj);

情节不显示感兴趣的物种由于广泛的物种数量/浓度。

情节只有感兴趣的物种。遗传算法

GaSimDataObj = selectbyname (simDataObj,“遗传算法”);sbioplot (GaSimDataObj);

注意到变化的物种遗传算法时间=400年秒(模拟)。这是时候抑制剂改变量对模型反映了抑制剂的搪性。

情节只有抑制剂(Inhib物种)。

InhibSimDataObj = selectbyname (simDataObj,“Inhib”);sbioplot (InhibSimDataObj)

另请参阅

||

相关的话题