%------------------------------------------- % Text S4. Simulate and plot Figure 6-B and C. %------------------------------------------- %------------------------------------------- % File name: plot_figure6_BC.m %------------------------------------------- % author: Sohyoung Kim % last updated: Jul-30-2009 % matlab 7.2.0.232 (R2006a) was used. % Description: this script generates figure 6-B,C %------------------------------------------- %------------------------------------------- % requirement to run this script. %------------------------------------------- % - need function definition file under current working directory: % mdmx_p53_mdm2_model.m %------------------------------------------- % generate data to draw image plot. params=[ 0.5 0.0008 0.02345 0.02365 0.002 0.0015 0.0005 0.2 0.02 5e-005 1 0.0175 2.5 0.1 0 0.03425 0.02 0.02 0.03425 0.00415 0.0008 0.04825 0.25 0.35 0.1211 0.0183 0.0005 0.0005 2.5e-005 0.0005 2.5e-005 0.0005 0.1]; k1as=logspace(-5,1,50); % various phosphorylation rate ki1s=logspace(-4,1,50); % various p53 basal production rate x0=zeros(14,1); x0(13)=1; params(15)=0; % no MdmX in the system. oparams=params; yswomdmx_max=[]; options=[]; for i=1:length(k1as), params=oparams; params(3)=k1as(i); % 3: phosphorylation index for j=25:length(ki1s), params(1)= ki1s(j); % p53 basal expression [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); xhalf_ind=min(find(x1>=50000)); ymax2=max(y1(xhalf_ind:length(x1),14)); % find 50000 point approximately. yswomdmx_max=[yswomdmx_max; ymax2]; save yswomdmx_max; end; end; oparams(15)=10; %set MdmX ys_max=[]; for i=1:length(k1as), params=oparams; params(3)=k1as(i); % 3: phosphorylation index for j=25:length(ki1s), params(1)= ki1s(j); % p53 basal expression [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); xhalf_ind=min(find(x1>=50000)); ymax2=max(y1(xhalf_ind:length(x1),14)); % find 50000 point approximately. ys_max=[ys_max; ymax2]; save ys_max; end; end; %------------------------ % plot image: Figure 6B %------------------------ load yswomdmx_max; yswomx_m1a2=reshape(yswomdmx_max,26,50); load ys_max; ys_m1a2=reshape(ys_max,26,50); I=sort(1:26,'descend'); figure(1); c=colormap; II=sort(1:64,'descend'); colormap(c(II,:)); imagesc(yswomx_m1a2(I,:)-ys_m1a2(I,:)); %----------------------- % plot examples cases: Figure 6C %----------------------- params=oparams; x0=zeros(14,1); x0(13)=1; MdmXlevel=10; i=25; j=14+24; params(3)=k1as(i); % phospho params(1)=ki1s(j); % basal expression params(15)=0; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); params(15)=MdmXlevel; figure(2) subplot(2,3,3); plot(x1, y1(:,14),'-'); hold; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); plot(x1, y1(:,14),'r-'); figure(1) text(i-0.7, 27-j+24, '(3)') %-------------------- i=17; j=17+24; params(3)=k1as(i); % phospho params(1)=ki1s(j); % basal expression params(15)=0; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); params(15)=MdmXlevel; figure(2) subplot(2,3,2); plot(x1, y1(:,14),'-'); hold; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); plot(x1, y1(:,14),'r-'); figure(1) text(i-0.7, 27-j+24, '(2)') %-------------------- i=32; j=12+24; params(3)=k1as(i); % phospho params(1)=ki1s(j); % basal expression params(15)=0; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); params(15)=MdmXlevel; figure(2) subplot(2,3,4); plot(x1, y1(:,14),'-'); hold; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); plot(x1, y1(:,14),'r-'); figure(1) text(i-0.7, 27-j+24, '(4)') %-------------------- i=40; j=13+24; params(3)=k1as(i); % phospho params(1)=ki1s(j); % basal expression params(15)=0; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); params(15)=MdmXlevel; figure(2) subplot(2,3,5); plot(x1, y1(:,14),'-'); hold; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); plot(x1, y1(:,14),'r-'); figure(1) text(i-0.7, 27-j+24, '(5)') %-------------------- i=9; j=23+24; params(3)=k1as(i); % phospho params(1)=ki1s(j); % basal expression params(15)=0; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); params(15)=MdmXlevel; figure(2) subplot(2,3,1); plot(x1, y1(:,14),'-'); hold; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); plot(x1, y1(:,14),'r-'); figure(1) text(i-0.7, 27-j+24, '(1)') %-------------------- i=48; j=14+24; params(3)=k1as(i); % phospho params(1)=ki1s(j); % basal expression params(15)=0; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); params(15)=MdmXlevel; figure(2) subplot(2,3,6); plot(x1, y1(:,14),'-'); hold; [x1, y1]=ode15s('mdmx_p53_mdm2_model',[0 100000],x0, options, params); plot(x1, y1(:,14),'r-'); figure(1) text(i-0.7, 27-j+24, '(6)') %-------------------- figure(2) for i=1:6, subplot(2,3,i); axis([0 100000 0 1]); title(strcat('(',num2str(i), ')')); end; legend('MdmX: 0', 'MdmX: 10') figure(1) xlabel('Rate constant of p53 phosphorylation (k3)'); ylabel('Rate of p53 basal production (k1)');