Implementing a code from Berkley Madonna into Matlab

1 次查看(过去 30 天)
I am trying to implement a code from Berkley Madonna into Matlab. I want to carry out a simulation and produce the results graphically by using ode solvers directly. Here is this Berkley Madonna code I am trying to incorporate:
Listing of program in Berkeley Madonna notation:
DT=1e-4
STOPTIME=100
d/dt (C) = Synthesis - Degradation
INIT C = 0.01
Synthesis = 0.025
Degradation = vd*X*(C/(Kd+C)) - kdd*C
d/dt (M) = Phosphatase1 - Kinase1
INIT M = 0.01
Phosphatase1 = VM1*(C/(Kc+C))*((1-M)/(K1+(1-M)))
Kinase1 = V2*(M/(K2+M))
d/dt (X) = Phosphatase2 - Kinase2
INIT X = 0.01
Phosphatase2 = M*VM3*((1-X)/(K3+(1-X)))
Kinase2 = V4*(X/(K4+X))
K1 = 0.005
K2 = 0.005
K3 = 0.005
K4 = 0.005
Kc = 0.5
Kd = 0.02
kdd = 0.01
V2 = 1.5
V4 = 0.5
vd = 0.25
VM1 = 3
VM3 = 1.
I have first two questions about this: First is the equation set up given by Berkley Madonna in correct use for matlab. Second question....I am unable to use the ode solvers correctly. It seems I somehow have re written over the ode solvers that are built into Matlab. Is there a way to correct this without uninstalling MATLAB and re installing it.
  3 个评论
Ingrid Tigges
Ingrid Tigges 2014-3-3
Are you aware of this Import Berkley Madonna models into SimBiology entry from the file exchange? It gives you an easy way to implement the models into SimBiology.
Star Strider
Star Strider 2014-3-3
编辑:Star Strider 2014-3-3
That’s good to know. Thank you.
KayLynn doesn’t have SimBiology, though. (That was in a subsequent post.) Neither do I.

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2014-3-1
编辑:Star Strider 2014-3-1
Just for fun (and because I’m interested in biochemistry), I decided to code this as best I could. It gives interesting results, but certainly not out of character for some biochemical systems. (I copied the equations directly from your code, pasted them into the function, and did a ‘Search - Replace’ with the Editor.)
K1 = 0.005;
K2 = 0.005;
K3 = 0.005;
K4 = 0.005;
Kc = 0.5;
Kd = 0.02;
kdd = 0.01;
V2 = 1.5;
V4 = 0.5;
vd = 0.25;
VM1 = 3;
VM3 = 1.;
Synth = 0.025;
% Original Equations:
% PhsKnsKnt = [Synth-vd*X*(C/(Kd+C)) - kdd*C; M*VM3*((1-X)/(K3+(1-X))) - V4*(X/(K4+X)); VM1*(C/(Kc+C))*((1-M)/(K1+(1-M))) - V2*(M/(K2+M))];
% Anonymous Function with substitutions:
PhsKnsKnt = @(T, P) [Synth - vd*P(2)*(P(1)/(Kd+P(1))) - kdd*P(1); P(3)*VM3*((1-P(2))/(K3+(1-P(2)))) - V4*(P(2)/(K4+P(2))); VM1*(P(1)/(Kc+P(1)))*((1-P(3))/(K1+(1-P(3)))) - V2*(P(3)/(K2+P(3)))];
[T P] = ode45(PhsKnsKnt, [0 100], [0.01; 0.01; 0.01]);
C = P(:,1);
X = P(:,2);
M = P(:,3);
figure(1)
plot(T, P)
legend('[C] (µ\itM\rm)', '[X] (µ\itM\rm)', '[M] (µ\itM\rm)', 'Location','NorthWest')
xlabel('Time (s)')
ylabel('Concentration')
grid
Just out of curiosity, what biochemical system is this?
  9 个评论
Star Strider
Star Strider 2014-3-4
I need to be offline for a bit, but I’ll download it as soon as I see you’ve uploaded it. Not having read it, I can’t comment further just now.
Star Strider
Star Strider 2014-3-4
I couldn’t find anything on ‘SFO ranking’ in an Internet search (DuckDuckGo and PubMed). The problem with ‘perturbation’ is that it means different things in different contexts. I couldn’t find anything dealing specifically with enzyme kinetics.
As far as ‘poisoning’ the system, that probably only requires changing one or more binding constants. Shouldn’t screw up the code for the DEs.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by