创建和自定义函数模拟模型
这个例子展示了如何创建一个自定义函数,结合模型模拟。
概述
先决条件的例子
这个示例假设您有一个可以工作的知识:
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表达式是:
提示
如果您的规则或反应速率表达式不是连续可微的,看到的使用事件处理规则和反应速率表达式的不连续性在模拟模型。
创建一个自定义函数
下列程序将创建一个自定义函数,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)