Tiziano in MATLAB Answers
Ultima attività il 4 Nov 2020

Hello! I'm a PhD student from EPFL, I'm currently working with Matlab to try to model a simple double feedback loop in order to observe bistability, for this purpose I've built this set of ODEs: function dy = model_equation(t,y) dy = zeros(4,1); sCDC2i=1.0; dCDC2i=1.0; sWEE1i=1.0; dWEE1i=1.0; a1=1.0; a2=1.0; b1=200.0; b2=10.0; v=1.0; g1=4.0; g2=4.0; k1=30.0; k2=1.0; CDC2a=y(1); CDC2i=y(2); WEE1a=y(3); WEE1i=y(4); dy(1)=a1*CDC2i-b1*CDC2a*(v*WEE1a)^g1/(k1+(v*WEE1a)^g1); dy(2)=sCDC2i-dCDC2i*CDC2i-a1*CDC2i+b1*CDC2a*(v*WEE1a)^g1/(k1+(v*WEE1a)^g1); dy(3)=a2*WEE1i-b2*WEE1a*CDC2a^g2/(k2+CDC2a^g2); dy(4)=sWEE1i-dWEE1i*WEE1i-a2*WEE1i+b2*WEE1a*CDC2a^g2/(k2+CDC2a^g2); this set of ODEs is solved and plotted with the following commands: function A = modelSim(time) [T,Y]=ode15s(@model_equation,[0 time],[0 1.0 0 1.0]); plot(T,Y(:,1),T,Y(:,2),T,Y(:,3),T,Y(:,4));hold on; hleg1=legend('CDC2a','CDC2i','WEE1a','WEE1i'); set(hleg1,'Location','NorthEastOutside'); hold off; A=[T,Y]; Now the problem is that the system is not bistable, but I've a species (CDC2a) that tends to accumulate and never reaches steady state. I was thinking that I had made some mistake while I was writing the model, but after several controls, I found that there aren't mistakes in the model. So I've tried to use simbiology, I copied and pasted the ODEs from the .m file to Simbiology, set all the parameters as in the ODEs file, and the model started to work correctly, I got exactly the results I wanted! So I started to check for difference between the Simbiology model and the .m file, this is what I've found: * ODEs are exactly the same * parameters and costants are exactly the same * ode solver and its options are equal * the ODEs system in the .m file is solved trough "[T,Y]=ode15s(@model_equation,[0 time],[0 1.0 0 1.0],options);" while in simbiology the given command is "data = sbiosimulate(m2, cs, [], []);" (where m2 is the model and cs the options for the solver) Now I can't figure out what is happening, I've tried in many different ways to get those results to be the same but I wasn't able to do it. In order to continue my project I need to know at least why I obtain different results, and which one to trust. Any help will be much appreciated because at this point I'm running out of ideas! thank you very much in advance!