You are viewing a version of a model that has been updated. To access the latest version, and a more detailed display please go here.


  public model
Short description
Signal transduction and motor switch model of the phototaxis of Halobacterium salinarum, Nutsch et al, Biophys. J. 2005 and del Rosario et al, IET Syst. Biol. 2007. This is the non-cyclic model for spontaneous simulations used in creating Figure 5C of del Rosario 2007. The value plotted in the figure is ks*A_43(t)/max(ks*A_43(t)), where ks is a model parameter. In the figure, the asymmetric model with 10% and 50% increase in parameter R_cw are compared with data for spontaneous, repellent and attractant stimuli. There are 5 SBML models provided: spontaneous simulations (all light parameters Iuv, Ibl and Ior are zero) repellent dark (sensor via SRII but with Ibl = 0) repellent light (sensor via SRII) attractant dark (sensor via SRI but with Iuv=Ior=0) attractant light (sensor via SRI) The 5 SBML files are "symmetric" models since the parameters in the clockwise and counter-clockwise directions are equal. For the asymmetric simulations in Figure 5c, parameter R_cw must be increased 10% and 50%. We provide the following Matlab code to plot figure 5c using the Systems Biology Toolbox: ---- begining of Matlab code myodeoptions = odeset('AbsTol', 1e-10, 'RelTol', 1e-8); dark1 = linspace(0, 2, 1000); lighton = linspace(2, 2+0.02, 100); dark2 = linspace(2+0.02, 60, 1000); %for spontaneous, no need to separate since all dark tspan = [dark1,lighton(2:end),dark2(2:end)]; sbmodspont = SBmodel('Nutsch2005_phototaxis_noncyc_spont.xml'); sbmodrepdark = SBmodel('Nutsch2005_phototaxis_noncyc_rep_dark.xml'); sbmodreplight = SBmodel('Nutsch2005_phototaxis_noncyc_rep_light.xml'); sbmodattdark = SBmodel('Nutsch2005_phototaxis_noncyc_att_dark.xml'); sbmodattlight = SBmodel('Nutsch2005_phototaxis_noncyc_att_light.xml'); R_cw_nominal = SBparameters(sbmodspont, 'R_cw'); R_cw_10inc = R_cw_nominal + 0.1*R_cw_nominal; R_cw_50inc = R_cw_nominal + 0.5*R_cw_nominal; sbmodspont10 = SBparameters(sbmodspont, 'R_cw', R_cw_10inc); sbmodspont50 = SBparameters(sbmodspont, 'R_cw', R_cw_50inc); clear sbmodspont sbmodrepdark10 = SBparameters(sbmodrepdark, 'R_cw', R_cw_10inc); sbmodreplight10 = SBparameters(sbmodreplight, 'R_cw', R_cw_10inc); sbmodrepdark50 = SBparameters(sbmodrepdark, 'R_cw', R_cw_50inc); sbmodreplight50 = SBparameters(sbmodreplight, 'R_cw', R_cw_50inc); clear sbmodrepdark sbmodreplight sbmodattdark10 = SBparameters(sbmodattdark, 'R_cw', R_cw_10inc); sbmodattlight10 = SBparameters(sbmodattlight, 'R_cw', R_cw_10inc); sbmodattdark50 = SBparameters(sbmodattdark, 'R_cw', R_cw_50inc); sbmodattlight50 = SBparameters(sbmodattlight, 'R_cw', R_cw_50inc); clear sbmodattdark sbmodattlight %Asymmetric Spontaneous Simulations, 10% increase in parameter R_cw sboutput_spont_Rcw10 = SBsimulate(sbmodspont10, 'ode15s', tspan, [], myodeoptions); %Asymmetric Spontaneous Simulations, 50% increase in parameter R_cw sboutput_spont_Rcw50 = SBsimulate(sbmodspont50, 'ode15s', tspan, [], myodeoptions); %Asymmetric Repellent Simulations, 10% increase in parameter R_cw sboutput_rep_dark1_Rcw10 = SBsimulate(sbmodrepdark10, 'ode15s', dark1, [], myodeoptions); initcondafterdark1 = sboutput_rep_dark1_Rcw10.statevalues(end,:); sboutput_rep_light_Rcw10 = SBsimulate(sbmodreplight10, 'ode15s', lighton, initcondafterdark1, myodeoptions); initcondafterlight = sboutput_rep_light_Rcw10.statevalues(end,:); sboutput_rep_dark2_Rcw10 = SBsimulate(sbmodrepdark10, 'ode15s', dark2, initcondafterlight, myodeoptions); %Asymmetric Repellent Simulations, 50% increase in parmaeter R_cw sboutput_rep_dark1_Rcw50 = SBsimulate(sbmodrepdark50, 'ode15s', dark1, [], myodeoptions); initcondafterdark1 = sboutput_rep_dark1_Rcw50.statevalues(end,:); sboutput_rep_light_Rcw50 = SBsimulate(sbmodreplight50, 'ode15s', lighton, initcondafterdark1, myodeoptions); initcondafterlight = sboutput_rep_light_Rcw50.statevalues(end,:); sboutput_rep_dark2_Rcw50 = SBsimulate(sbmodrepdark50, 'ode15s', dark2, initcondafterlight, myodeoptions); %Asymmetric Attractant Simulations, 10% increase in parameter R_cw sboutput_att_dark1_Rcw10 = SBsimulate(sbmodattdark10, 'ode15s', dark1, [], myodeoptions); initcondafterdark1 = sboutput_att_dark1_Rcw10.statevalues(end,:); sboutput_att_light_Rcw10 = SBsimulate(sbmodattlight10, 'ode15s', lighton, initcondafterdark1, myodeoptions); initcondafterlight = sboutput_att_light_Rcw10.statevalues(end,:); sboutput_att_dark2_Rcw10 = SBsimulate(sbmodattdark10, 'ode15s', dark2, initcondafterlight, myodeoptions); %Asymmetric Attractant Simulations, 50% increase in parameter R_cw sboutput_att_dark1_Rcw50 = SBsimulate(sbmodattdark50, 'ode15s', dark1, [], myodeoptions); initcondafterdark1 = sboutput_att_dark1_Rcw50.statevalues(end,:); sboutput_att_light_Rcw50 = SBsimulate(sbmodattlight50, 'ode15s', lighton, initcondafterdark1, myodeoptions); initcondafterlight = sboutput_att_light_Rcw50.statevalues(end,:); sboutput_att_dark2_Rcw50 = SBsimulate(sbmodattdark50, 'ode15s', dark2, initcondafterlight, myodeoptions); A44cwindex = stateindexSB(sbmodspont10, 'A_cw43'); A44ccwindex = stateindexSB(sbmodspont10, 'A_ccw43'); ks_cw = SBparameters(sbmodspont10, 'ks_cw'); ks_cc = SBparameters(sbmodspont10, 'ks_cc'); yfig5cspontRcw10 = (sboutput_spont_Rcw10.statevalues(:, A44cwindex)*ks_cw + sboutput_spont_Rcw10.statevalues(:, A44ccwindex)*ks_cc) / ... max(sboutput_spont_Rcw10.statevalues(:, A44cwindex)*ks_cw + sboutput_spont_Rcw10.statevalues(:, A44ccwindex)*ks_cc); yfig5cspontRcw50 = (sboutput_spont_Rcw50.statevalues(:, A44cwindex)*ks_cw + sboutput_spont_Rcw50.statevalues(:, A44ccwindex)*ks_cc) / ... max(sboutput_spont_Rcw50.statevalues(:, A44cwindex)*ks_cw + sboutput_spont_Rcw50.statevalues(:, A44ccwindex)*ks_cc); A44cwindex = stateindexSB(sbmodrepdark10, 'A_cw43'); A44ccwindex = stateindexSB(sbmodrepdark10, 'A_ccw43'); ks_cw = SBparameters(sbmodrepdark10, 'ks_cw'); ks_cc = SBparameters(sbmodrepdark10, 'ks_cc'); tfig5crepRcw10 = [sboutput_rep_dark1_Rcw10.time(:)', sboutput_rep_light_Rcw10.time(:)', sboutput_rep_dark2_Rcw10.time(:)']; A44cwrepRcw10 = [sboutput_rep_dark1_Rcw10.statevalues(:, A44cwindex); sboutput_rep_light_Rcw10.statevalues(:, A44cwindex); sboutput_rep_dark2_Rcw10.statevalues(:, A44cwindex)]; A44ccwrepRcw10 = [sboutput_rep_dark1_Rcw10.statevalues(:, A44ccwindex); sboutput_rep_light_Rcw10.statevalues(:, A44ccwindex); sboutput_rep_dark2_Rcw10.statevalues(:, A44ccwindex)]; yfig5crepRcw10 = (A44cwrepRcw10*ks_cw + A44ccwrepRcw10*ks_cc) / ... max(A44cwrepRcw10*ks_cw + A44ccwrepRcw10*ks_cc); tfig5crepRcw50 = [sboutput_rep_dark1_Rcw50.time(:)', sboutput_rep_light_Rcw50.time(:)', sboutput_rep_dark2_Rcw50.time(:)']; A44cwrepRcw50 = [sboutput_rep_dark1_Rcw50.statevalues(:, A44cwindex); sboutput_rep_light_Rcw50.statevalues(:, A44cwindex); sboutput_rep_dark2_Rcw50.statevalues(:, A44cwindex)]; A44ccwrepRcw50 = [sboutput_rep_dark1_Rcw50.statevalues(:, A44ccwindex); sboutput_rep_light_Rcw50.statevalues(:, A44ccwindex); sboutput_rep_dark2_Rcw50.statevalues(:, A44ccwindex)]; yfig5crepRcw50 = (A44cwrepRcw50*ks_cw + A44ccwrepRcw50*ks_cc) / ... max(A44cwrepRcw50*ks_cw + A44ccwrepRcw50*ks_cc); A44cwindex = stateindexSB(sbmodattdark10, 'A_cw43'); A44ccwindex = stateindexSB(sbmodattdark10, 'A_ccw43'); ks_cw = SBparameters(sbmodattdark10, 'ks_cw'); ks_cc = SBparameters(sbmodattdark10, 'ks_cc'); tfig5cattRcw10 = [sboutput_att_dark1_Rcw10.time(:)', sboutput_att_light_Rcw10.time(:)', sboutput_att_dark2_Rcw10.time(:)']; A44cwattRcw10 = [sboutput_att_dark1_Rcw10.statevalues(:, A44cwindex); sboutput_att_light_Rcw10.statevalues(:, A44cwindex); sboutput_att_dark2_Rcw10.statevalues(:, A44cwindex)]; A44ccwattRcw10 = [sboutput_att_dark1_Rcw10.statevalues(:, A44ccwindex); sboutput_att_light_Rcw10.statevalues(:, A44ccwindex); sboutput_att_dark2_Rcw10.statevalues(:, A44ccwindex)]; yfig5cattRcw10 = (A44cwattRcw10*ks_cw + A44ccwattRcw10*ks_cc) / ... max(A44cwattRcw10*ks_cw + A44ccwattRcw10*ks_cc); tfig5cattRcw50 = [sboutput_att_dark1_Rcw50.time(:)', sboutput_att_light_Rcw50.time(:)', sboutput_att_dark2_Rcw50.time(:)']; A44cwattRcw50 = [sboutput_att_dark1_Rcw50.statevalues(:, A44cwindex); sboutput_att_light_Rcw50.statevalues(:, A44cwindex); sboutput_att_dark2_Rcw50.statevalues(:, A44cwindex)]; A44ccwattRcw50 = [sboutput_att_dark1_Rcw50.statevalues(:, A44ccwindex); sboutput_att_light_Rcw50.statevalues(:, A44ccwindex); sboutput_att_dark2_Rcw50.statevalues(:, A44ccwindex)]; yfig5cattRcw50 = (A44cwattRcw50*ks_cw + A44ccwattRcw50*ks_cc) / ... max(A44cwattRcw50*ks_cw + A44ccwattRcw50*ks_cc); figure plot(tfig5crepRcw10, yfig5crepRcw10, 'y', 'linewidth', 2) hold on plot(tfig5crepRcw50, yfig5crepRcw50, 'k') legend('R_{cw} increased 10%', 'R_{cw} increased 50%') plot(sboutput_spont_Rcw10.time, yfig5cspontRcw10, 'y', 'linewidth', 2) plot(sboutput_spont_Rcw50.time, yfig5cspontRcw50, 'k') plot(tfig5cattRcw10, yfig5cattRcw10, 'y', 'linewidth', 2) plot(tfig5cattRcw50, yfig5cattRcw50, 'k') grid on myaxis = axis; axis([0 60 0 1.2]) text(1, 1.1, 'repellent'); text(10, 1.1, 'spontaneous'); text(25, 1.1, 'attractant') xlabel('time, s'); ylabel('reversals per time interval (1/s)') ---- end of Matlab code
Related Publication
  • Modelling the CheY(D10K,Yl00W) Halobacterium salinarum mutant: sensitivity analysis allows choice of parameter to be modified in the phototaxis model.
  • del Rosario RC, Staudinger WF, Streif S, Pfeiffer F, Mendoza E, Oesterhelt D
  • IET systems biology , 7/ 2007 , Volume 1 , pages: 207-221
  • Max Planck Institute of Biochemistry, Am Klopferspitz 18, 82152 Martinsried, Germany.
  • A recent phototaxis model of Halobacterium salinarum composed of the signalling pathway and the switch complex of the motor explained all considered experimental data on spontaneous switching and response time to repellent or attractant light stimuli. However, the model which considers symmetric processes in the clockwise and counter-clockwise rotations of the motor cannot explain the behaviour of a CheY(D10K,Yl00W) mutant which always moves forward and does not respond to light. We show that the introduction of asymmetry in the motor switch model can explain this behaviour. Sensitivity analysis allowed us to choose parameters for which the model is sensitive and whose values we then change in either direction to obtain an asymmetric model. We also demonstrate numerically that at low concentrations of CheYP, the symmetric and asymmetric models behave similarly, but at high concentrations, differences in the clockwise and counter-clockwise modes become apparent. Thus, those experimental data that could previously be explained only by ad hoc assumptions are now obtained 'naturally' from the revised model.
Ricardo del Rosario

Metadata information

Curation status
  • Model originally submitted by : Ricardo del Rosario
  • Submitted: Mar 17, 2008 10:31:42 AM
  • Last Modified: Jan 20, 2012 6:25:13 PM
  • Version: 2 public model Download this version
    • Submitted on: Jan 20, 2012 6:25:13 PM
    • Submitted by: Ricardo del Rosario
    • With comment: Current version of Nutsch2005_phototaxis_noncyc_repellent_dark
  • Version: 1 public model Download this version
    • Submitted on: Mar 17, 2008 10:31:42 AM
    • Submitted by: Ricardo del Rosario
    • With comment: Original import of Nutsch_phototaxis_noncyc_repellent_dark