Team:DTU-Denmark/Matlab
From 2011.igem.org
Matlab
Steady-state
For the steady-state analysis the following script calls a function that calculates the steady-state solution.
% Call file % Model ver. 7 % The model contains the analytical solution in regard to m*max/m for the 3 coupled differential equations, one for ChiXR (r), % ChiX (s), and ChiP (m) % This solution is only valid for p_s = 0! % In regard to Model ver. 5, now only alfa_s and alfa_r (and not the % relative amount in regard to alfa_m) are used as the axis. clc clear close all %% %% Steady state solution for ChiP %% Model Parameter % TRANSCRIPTION RATES: alfa_m= 2.57; % transcription rate of m (ChiP) From Overgaard fig1; alpha_m = beta_m * m' [nmol/time] alfa_s= 2.57; % transcription rate of m (ChiX) guess! % Degradation and dilution rates: beta_m= 0.0257; % background rate of degradation and dilution of m (ChiP mRNA) From Overgaard [1/min] beta_s= 0.0257; % background rate of degradation and dilution of s (ChiX sRNA) From Overgaard [1/min] beta_r= 0.0257; % background rate of degradation and dilution of r (ChiXR sRNA), guess - no data [1/min] % Constants: k_s= 0.000820; % From Overgaard [1/(nmol*min)] k_r= 0.00820; % Guess - no data [1/(nmol*min)] lambda_s = beta_s*beta_m/k_s; lambda_r = beta_s*beta_r/k_r; m_ss_max = alfa_m/beta_m; % the maximum steady state level of m [nmol] % Probability of co-degradation: p_r= 1; % Probability that r is codegraded with s %% Simulation N_s = 201; % Number of x values (s). N_r = 201; % Number of y values (r). parameter =[lambda_s lambda_r p_r]; [X, Y, SS_cat SS_stoch] = ss_simu_ver7(parameter, N_s, N_r); %% Plotting figure_no =1; % Figure number for easy naming of the figures. figure name=[' catalytic: \lambda_s=', num2str(lambda_s), ' \lambda_r=', num2str(lambda_r), ' p_r=', num2str(p_r)]; % part of the title ss_plot_single_ver7( X, Y, SS_cat, name ); saveas(gcf,['Figure',int2str(figure_no),'_SS_1_subplot.jpg']) figure name=[' stochiometric: \lambda_s=', num2str(lambda_s), ' \lambda_r=', num2str(lambda_r)]; % part of the title ss_plot_single_ver7( X, Y, SS_stoch, name ); saveas(gcf,['Figure',int2str(figure_no),'_SS_1_subplot.jpg'])
The following function calculates the steady-state given a set of parameter inputs.
function [ X, Y, SS_cat SS_stoch] = ss_simu_ver7( par, N_s, N_r )
%SIMU Simulates model_ver7 based on input parameters and N_s*N_r inputs
% This model was made by the DTU 2011 iGEM team, consult our wiki for info
% regarding deriving the model: http://2011.igem.org/Team:DTU-Denmark
%% Parameters.
lambda_s= par(1);
lambda_r= par(2);
p_r= par(3);
alpha_s_min = 0.01;
alpha_r_min = 0.0001;
alpha_s_max = 10000;
alpha_r_max = 100;
alpha_s_no = N_s;
alpha_r_no = N_r;
SS_cat=zeros(alpha_r_no,alpha_s_no);
SS_stoch=zeros(alpha_r_no,alpha_s_no);
i=1;
j=1;
vector_s=logspace(log10(alpha_s_min), log10(alpha_s_max), alpha_s_no);
vector_r=logspace(log10(alpha_r_min), log10(alpha_r_max), alpha_r_no);
%% Calculate the steady state for the catalytical and stochiometric model
for X_s = vector_s
for X_r=vector_r
alfa_s= X_s;
alfa_r= X_r;
SS_stoch(i,j)= 1/( (alfa_s*p_r - alfa_r - lambda_r + 2*p_r*lambda_s + sqrt((alfa_s*p_r - alfa_r - lambda_r)^2 + 4*p_r*alfa_s*lambda_r ))/(2*p_r*lambda_s) );
SS_cat(i,j)= 1/( 1 + alfa_s/lambda_s/(1 + alfa_r/lambda_r) );
i=i+1;
end;
i=1;
j=j+1;
end;
[X,Y]= meshgrid(vector_s, vector_r);
end
The following function plots steady-state values.
function ss_plot_single_ver7( X, Y, SS,name)
%% Plots the output from call_model_ver7.
% This model was made by the DTU 2011 iGEM team, consult our wiki for info
% regarding deriving the model: http://2011.igem.org/Team:DTU-Denmark
%% Various functions for plotting
%SS_PLOT Plots steady-states as
%surfc(X, Y, SS); % surface plot with contours
%surf(X, Y, SS); % surface plot without contours
%contourf(X,Y,SS,100)
%meshc(X, Y, SS); % surface plot with contours
pcolor(X, Y, SS); %
shading flat %[interp, flat or faceted]
%contour(X, Y, SS, 3) % contour plot, with 3 contours
%% color map
map = 1/255*[225 204 0; % DTU colormap with the 14 colors
225 153 0;
255 102 0 ;
255 0 0;
153 0 0;
255 0 153;
204 51 153;
153 0 102;
102 0 102;
102 0 153;
51 102 204;
51 204 255;
153 204 51;
102 204 0];
map2 = 1/255*[225 204 0; % DTU colormap with in-between colors
225 153 0; %
240 125 0;
255 102 0 ; %
255 50 0;
255 0 0; %
200 0 0;
153 0 0; %
200 0 75;
255 0 153;%
230 25 153
204 51 153;%
175 25 130;
153 0 102;%
130 0 102;
102 0 102;%
102 0 130;
102 0 153;%
75 50 175;
51 102 204;%
51 150 230;
51 204 255;%
102 204 153;
153 204 51;%
130 204 25;
102 204 0];%
%colormap(map2)
caxis ([0 1]); % specify the min and max value for the colorbar
colorbar % add the color bar
%% Add contours
hold on
contour(X, Y, SS, [0.05 0.05], '-.','LineColor', [0.2 0.2 0.2] ,'LineWidth',3) % contour plot, 5% of max value
contour(X, Y, SS, [0.25 0.25], '-.', 'LineColor',[0.5 0.5 0.5] ,'LineWidth',3) % contour plot, 25% of max value
contour(X, Y, SS, [0.5 0.5], '--k' ,'LineWidth',3) % contour plot, 50% maximum value
contour(X, Y, SS, [0.75 0.75], '-.','LineColor', [0.5 0.5 0.5] ,'LineWidth',3) % contour plot, 75% of max value
contour(X, Y, SS, [0.95 0.95], '-.','LineColor', [0.2 0.2 0.2] ,'LineWidth',3) % contour plot, 95% of max value
%% Set axes, legends and titles.
xlabel('\alpha_s','FontSize',30,'FontWeight','bold')
ylabel('\alpha_r','FontSize',30,'FontWeight','bold')
zlabel('1/\phi','FontSize',30,'FontWeight','bold')
title([name],'FontSize',24,'FontWeight','bold')
set(gca,'xscale', 'log','yscale', 'log')
set(gca,'LineWidth',2,'FontSize',24,'FontWeight','bold')
x_min = min(X(1, :));
x_max = max(X(1, :));
y_min = min(Y(:,1));
y_max = max(Y(:,1));
axis([x_min x_max y_min y_max])
saveas(gcf,['Figure_XX''_SS.jpg'])
end
Simulation
Temporal simulation is performed using the Systems Biology Toolbox 2 www.sbtoolbox.org environment with numerical integration using ode45. The catalytical model is specified by
********** MODEL NAME Dimensionless form. Catalytical. ********** MODEL NOTES Kinetic model of trap-RNA system. Parameters are estimated from literature. ********** MODEL STATES d/dt(m) = 1 - m - k_s*alpha_m*m*s/(beta_m*beta_s) d/dt(s) = (beta_s/beta_m)*(alpha_s/alpha_m - s - k_r*alpha_m * s * r /(beta_s*beta_r)) d/dt(r) = (beta_r/beta_m)*(alpha_r/alpha_m - r) m(0) = 1 s(0) = 0 r(0) = 0 ********** MODEL PARAMETERS alpha_m = 10 alpha_s = 0 alpha_r = 0 beta_m = 0.0257 beta_s = 0.0257 beta_r = 0.0257 k_s = 0.00082 k_r = 0.0082 ********** MODEL VARIABLES ********** MODEL REACTIONS ********** MODEL FUNCTIONS ********** MODEL EVENTS event = gt(time,1), alpha_s, 40 event = gt(time,3), alpha_r, 200 event = gt(time,6), alpha_r, 0 ********** MODEL MATLAB FUNCTIONS
The partly stoichiometric model is specified by
********** MODEL NAME Dimensionless form. Stoichiometric. ********** MODEL NOTES Kinetic model of trap-RNA system. Parameters are estimated from literature. ********** MODEL STATES d/dt(m) = 1 - m - k_s*alpha_m*m*s/(beta_m*beta_s) d/dt(s) = (beta_s/beta_m)*(alpha_s/alpha_m - s - k_r*alpha_m * s * r /(beta_s*beta_r)) d/dt(r) = (beta_r/beta_m)*(alpha_r/alpha_m - r - k_r*alpha_m * s * r /(beta_s*beta_r)) m(0) = 1 s(0) = 0 r(0) = 0 ********** MODEL PARAMETERS alpha_m = 1 alpha_s = 0 alpha_r = 0 beta_m = 0.0257 beta_s = 0.0257 beta_r = 0.0257 k_s = 0.00082 k_r = 0.0082 ********** MODEL VARIABLES ********** MODEL REACTIONS ********** MODEL FUNCTIONS ********** MODEL EVENTS event = gt(time,1), alpha_s, 40 event = gt(time,3), alpha_r, 200 event = gt(time,6), alpha_r, 0 ********** MODEL MATLAB FUNCTIONS
The script running simulation and generating figures.
%ksim runs a dynamic simulation using Systems Biology Toolbox 2 and plots
clear;
model = SBmodel('model7.txt'); %initialize model
%parameters
alpha_m = 1;
alpha_s = 40; %at induced
alpha_r = 200; %at induced
%%Simulation
time = 6; %running time. Glucose event at t = 6
[out] = SBsimulate(model,time);
%%PLot
t = out.time;
m = out.statevalues(:,1); %m
s = out.statevalues(:,2);
r = out.statevalues(:,3);
%scale to max steady_state at induced levels
s = s .* (alpha_m/alpha_s);
r = r .* (alpha_m/alpha_r);
%ss_r = alpha_r/beta_r;
%r = r ./ss_r;
%Binary on off of s and r
%s = gt(t, 1); %Check model for event time
%r = gt(t, 3);
width = 4; %Line width
subplot(3,1,1)
h1 = plot(t,m); %handle
set(h1, 'color', [51/255, 102/255, 204/255], 'LineWidth',width)
set(gca, 'XTickLabel',[])
subplot(3,1,2)
h2 = plot(t,s);
set(h2, 'color', [237/255, 28/255, 36/255],'LineWidth',width)
set(gca, 'XTickLabel',[])
subplot(3,1,3)
h3 = plot(t,r,'g-');
set(h3, 'color', [102/255, 204/255, 0], 'LineWidth',width)
"







