%% %%%%%% MATLAB ODE Simulation of the Budding Yeast Cell Cycle %%%%%% %% % The ODE model is taken from Chen(2004): % Chen, K.C. and Calzone, L. and Csikasz-Nagy, A. and Cross, F.R. and % Novak, B. and Tyson, J.J. 2004. Integrative analysis of cell cycle % control in budding yeast, Molecular Biology of the Cell 15:3841-3862 % The equations and parameters were downloaded from % http://mpf.biol.vt.edu/research/budding_yeast_model/model_download/bychen04.ode % and converted into MATLAB code by Kartik Subramanian (VirginiaTech) and % Kamaludin Dingle (Oxford Univ.). September 2010. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eqns.m %% % This function contains the equations of the system, aswell as the % parameters used. function dydt = eqns(t,y) % This calls the function (variable name) so that the variables are % recognized by their name rather than y(1), y(2)...- see comments % in function for details variable_name; dydt=zeros(39,1); %yc is a cell array of concentrations for the variables in the ODE system yc = num2cell(y); [MASS,CLN2,CLB2,CLB5,SIC1,CDC6,C2,C5,F2,F5,SIC1P,C2P,C5P,... CDC6P,F2P,F5P,SWI5T,SWI5,IEP,CDC20T,CDC20,CDH1T,CDH1,CDC14T,... CDC14,NET1T,NET1,RENT,TEM1,CDC15,PPX,PDS1,ESP1,ORI,BUD,SPN,Vi20,... lte1,BUB2] = deal(yc{:}); % Parameters - Note that we use p rather than ' for primed variables, as % MATLAB does accept variables denoted like x' % e.g. ksn2p=ksn2' and ksn2pp=ksn2" B0=0.054; C0=0.4; Dn3=1; Jn3=6; ksn2p=0; ksn2pp=0.15; kdn2=0.12; esbfn2=2; esbfn3=10; esbfb5=2; kasbf=0.38; kisbfp=0.6; kisbfpp=8; Jasbf=0.01; Jisbf=0.01; ksb2p=0.001; ksb2pp=0.04; kdb2p=0.003; kdb2pp=0.4; kdb2P=0.15;% changed kdb2p to kdp2P, so as not to confuse % the lower case p here with a primed variable which had been from % a ' to a p. kamcm=1; kimcm=0.15; Jamcm=0.1; Jimcm=0.1; ksb5p=0.0008; ksb5pp=0.005; kdb5p=0.01; kdb5pp=0.16; ksc1p=0.012; ksc1pp=0.12; kd1c1=0.01; kd2c1=1; Jd2c1=0.05; ec1k2=0.03; ec1n2=0.06; ec1b5=0.1; ec1b2=0.45; ec1n3=0.3; kasb2=50; kdib2=0.05; kasb5=50; kdib5=0.06; kd3c1=1; kppc1=4; ksf6p=0.024; ksf6pp=0.12; ksf6ppp=0.004; kd1f6=0.01; kd2f6=1; Jd2f6=0.05; ef6k2=0.03; ef6n2=0.06; ef6b5=0.1; ef6b2=0.55; ef6n3=0.; kasf2=15; kdif2=0.5; kasf5=0.01; kdif5=0.01; kd3f6=1; kppf6=4; ksswip=0.005; ksswipp=0.08; kdswi=0.08; kaswi=2; kiswi=0.05; kaiep=0.1; kiiep=0.15; Jaiep=0.1; Jiiep=0.1; ks20p=0.006; ks20pp=0.6; kd20=0.3; ka20p=0.05; ka20pp=0.2; ki20p=0.01; ki20pp=8; kscdh=0.01; kdcdh=0.01; kacdhp=0.01; kacdhpp=0.8; Jicdh=0.03; Jacdh=0.03; kicdhp=0.001; kicdhpp=0.08; eicdhn2=0.4; eicdhn3=0.25; eicdhb5=8; eicdhb2=1.2; ks14=0.2; kd14=0.1; ksnet=0.084; kdnet=0.03; kasrent=200; kasrentp=1; kdirent=1; kdirentp=2; kppnetp=0.05; kppnetpp=3; kkpnetp=0.01; kkpnetpp=0.6; kspdsp=0; ks1pdspp=0.03; ks2pdspp=0.055; kd1pdsp=0.01; kd2pdspp=0.2; kd3pdspp=0.04; kasesp=50; kdiesp=0.5; ESP1T=1; ksppx=0.1; Jpds=0.04; kdppxp=0.17; kdppxpp=2; J20ppx=0.15; ksori=2; kdori=0.06; eorib5=0.9; eorib2=0.45; ksbud=0.2; kdbud=0.06; ebudn2=0.25; ebudn3=0.05; ebudb5=1; ksspn=0.1; kdspn=0.06; Jspn=0.14; lte1l=0.1; lte1h=1; Bub2l=0.2; Bub2h=1; Tem1T=1; jatem=0.1; Jitem=0.1; Cdc15T=1; ka15p=0.002; ka15pp=1; ka15P=0.001; ki15=0.5;% changed ka15p to ka15P KEZ=0.3; mdt=90; MorD=1; kez2=0.2; % The following parameters specify the values we used to simulate overproduction % by GAL promoters for various genes. galcln2=0.12; galclb2=0.12; galclb5=0.012; galsic1=0.12; galcdc6=0.12; galcdc20=6; galcln3=20; galtem1=20; galcdc15=20; %The following parameters specify the fraction of activity remains in net1-ts, TAB6-1 % and Clb2-db-del. net1ts_f=0.005; tab61_f=0.04; clb2db_f=0.075; kg=log(2)/mdt; % Conservation rules BCK2 = B0*MASS; CLN3 = C0*Dn3*MASS/(Jn3+Dn3*MASS); SIC1T = SIC1+C2+C5+SIC1P+C2P+C5P; CDC6T = CDC6+F2+F5+CDC6P+F2P+F5P; RENTP = CDC14T-RENT-CDC14; NET1P =NET1T-NET1-CDC14T+CDC14; PE = ESP1T-ESP1; Vasbf= kasbf*(esbfn2*CLN2+esbfn3*(CLN3+BCK2)+esbfb5*CLB5); Vdb2 = kdb2p+kdb2pp*CDH1+kdb2P*CDC20; Vdb5 = kdb5p+kdb5pp*CDC20; Vkpc1= kd1c1+kd2c1*(ec1n3*CLN3+ec1k2*BCK2+ec1n2*CLN2+ec1b2*CLB2+ec1b5*CLB5)/(Jd2c1+SIC1T); Vppc1= kppc1*CDC14; Vkpf6= kd1f6+kd2f6*(ef6n3*CLN3+ef6k2*BCK2+ef6n2*CLN2+ef6b2*CLB2+ef6b5*CLB5)/(Jd2f6+CDC6T); Vppf6= kppf6*CDC14; Vaiep= kaiep*CLB2; Vacdh= kacdhp+kacdhpp*CDC14; Vicdh= kicdhp+kicdhpp*(eicdhn3*CLN3+eicdhn2*CLN2+eicdhb5*CLB5+eicdhb2*CLB2); Vppnet= kppnetp+kppnetpp*PPX; Vkpnet=(kkpnetp+kkpnetpp*CDC15)*MASS; Vdpds= kd1pdsp+kd2pdspp*CDC20+kd3pdspp*CDH1; Vdppx= kdppxp+kdppxpp*(J20ppx+CDC20)*Jpds/(Jpds+PDS1); SBF = GK(Vasbf, kisbfp+kisbfpp*CLB2, Jasbf, Jisbf); MCM1 = GK(kamcm*CLB2, kimcm, Jamcm, Jimcm); %% CLB2T=CLB2+C2+F2+C2P+F2P; %aux CLB2T=CLB2+C2+F2+C2P+F2P CLB5T=CLB5+C5+F5+C5P+F5P; %aux CLB5T=CLB5+C5+F5+C5P+F5P CKIT=SIC1T+CDC6T;%aux CKIT=SIC1T+CDC6T CLBT=CLB2+CLB5; %% The differential equations dydt(1) = kg*MASS; dydt(2) = (ksn2p+ksn2pp*SBF)*MASS-kdn2*CLN2; dydt(3) =(ksb2p+ksb2pp*MCM1)*MASS+(kd3c1*C2P+kd3f6*F2P)+(kdib2*C2+kdif2*F2)-(Vdb2+kasb2*SIC1+kasf2*CDC6)*CLB2; dydt(4) = (ksb5p+ksb5pp*SBF)*MASS+(kd3c1*C5P+kd3f6*F5P)+(kdib5*C5+kdif5*F5) -(Vdb5+kasb5*SIC1+kasf5*CDC6)*CLB5; dydt(5) =(ksc1p+ksc1pp*SWI5)+(Vdb2*C2+Vdb5*C5)+(kdib2*C2+kdib5*C5)+Vppc1*SIC1P-(kasb2*CLB2+kasb5*CLB5+Vkpc1)*SIC1; dydt(6) =(ksf6p+ksf6pp*SWI5+ksf6ppp*SBF)+(Vdb2*F2+Vdb5*F5)+(kdif2*F2+kdif5*F5)+Vppf6*CDC6P -(kasf2*CLB2+kasf5*CLB5+Vkpf6)*CDC6; dydt(7) = kasb2*CLB2*SIC1+Vppc1*C2P-(kdib2+Vdb2+Vkpc1)*C2; dydt(8) = kasb5*CLB5*SIC1+Vppc1*C5P-(kdib5+Vdb5+Vkpc1)*C5; dydt(9) = kasf2*CLB2*CDC6+Vppf6*F2P-(kdif2+Vdb2+Vkpf6)*F2; dydt(10) = kasf5*CLB5*CDC6+Vppf6*F5P-(kdif5+Vdb5+Vkpf6)*F5; dydt(11)=Vkpc1*SIC1-(Vppc1+kd3c1)*SIC1P+Vdb2*C2P+Vdb5*C5P; dydt(12) =Vkpc1*C2-(Vppc1+kd3c1+Vdb2)*C2P; dydt(13) =Vkpc1*C5-(Vppc1+kd3c1+Vdb5)*C5P; dydt(14)=Vkpf6*CDC6-(Vppf6+kd3f6)*CDC6P+Vdb2*F2P+Vdb5*F5P; dydt(15) =Vkpf6*F2-(Vppf6+kd3f6+Vdb2)*F2P; dydt(16) =Vkpf6*F5-(Vppf6+kd3f6+Vdb5)*F5P; dydt(17) = ksswip+ksswipp*MCM1-kdswi*SWI5T; dydt(18) = ksswip+ksswipp*MCM1+kaswi*CDC14*(SWI5T-SWI5)-(kiswi*CLB2+kdswi)*SWI5; dydt(19) = Vaiep*(1-IEP)/(Jaiep+1-IEP)-kiiep*IEP/(Jiiep+IEP); dydt(20)= (ks20p+ks20pp*MCM1)-kd20*CDC20T; dydt(21) = (ka20p+ka20pp*IEP)*(CDC20T-CDC20)-(Vi20+kd20)*CDC20; dydt(22) = kscdh - kdcdh*CDH1T; dydt(23) =kscdh-kdcdh*CDH1+Vacdh*(CDH1T-CDH1)/(Jacdh+CDH1T-CDH1)-Vicdh*CDH1/(Jicdh+CDH1); dydt(24) =ks14 - kd14*CDC14T; dydt(25) =(kdirent*RENT+kdirentp*RENTP)-(kasrent*NET1+kasrentp*NET1P)*CDC14+ks14-kd14*CDC14+kdnet*(RENT+RENTP); dydt(26) = ksnet - kdnet*NET1T; dydt(27) = kdirent*RENT-kasrent*NET1*CDC14+Vppnet*NET1P-Vkpnet*NET1+ksnet-kdnet*NET1+kd14*RENT; dydt(28) =-kdirent*RENT+kasrent*NET1*CDC14+Vppnet*RENTP-Vkpnet*RENT-(kd14+kdnet)*RENT; dydt(29) = lte1*(Tem1T-TEM1)/(jatem+Tem1T-TEM1)-BUB2*TEM1/(Jitem+TEM1);% changed Jatem to jatem dydt(30)= (ka15p*(Tem1T-TEM1)+ka15pp*TEM1+ka15P*CDC14)*(Cdc15T-CDC15)-ki15*CDC15; dydt(31) = ksppx-Vdppx*PPX; dydt(32) = (kspdsp+ks1pdspp*SBF+ks2pdspp*MCM1)+kdiesp*PE-(Vdpds+kasesp*ESP1)*PDS1; dydt(33) = -kasesp*PDS1*ESP1+(kdiesp+Vdpds)*PE; dydt(34) = ksori*(eorib5*CLB5+eorib2*CLB2)-kdori*ORI; dydt(35) = ksbud*(ebudn2*CLN2+ebudn3*CLN3+ebudb5*CLB5)-kdbud*BUD; dydt(36) = ksspn*CLB2/(Jspn+CLB2)-kdspn*SPN; dydt(37) = 0; dydt(38) = 0; dydt(39) = 0;