Testing U-L2 model

by Evgenii Kovrigin, 6/2/2011

Contents

close all
clear all

Here you will find all figures

figures_folder='U_L2_testing_figures';

Equilbrium concentrations

Set some meaningful parameters

Rtotal=1e-3; % Receptor concentration, M
LRratio_array=[0 : 0.02 : 1.75]; % Array of L/R
K_a_A=1e6;  % Binding affinity constant
K_a_B=1e4;  % Dimerization constant

% Set appropriate options for the model (see model file for details)
model_numeric_solver='fminbnd'  ;

model_numeric_options=optimset('Diagnostics','off', ...
                    'Display','off',...
                    'TolX',1e-9,...
                    'MaxFunEvals', 1e9);

Important option here is TolX that sets termination tolerance on free ligand concentation in molar units. With our solution concentrations in 1e-3 range TolX should be set to some 1e-9.

Compute arrays for populations and plot

concentrations_array=[];
for counter=1:length(LRratio_array)
    % compute
    [concentrations species_names] = equilibrium_thermodynamic_equations.U_L2_model(...
        Rtotal, LRratio_array(counter), K_a_A, K_a_B,...
        model_numeric_solver, model_numeric_options);
    % collect
    concentrations_array = [concentrations_array ; concentrations];
end

Plot

Figure_title= 'U-L2 model';
X_range=[0 max(LRratio_array)+0.1 ]; % extend X just a bit past last point
Y_range=[ ]; % keep automatic scaling for Y
% display figure
figure_handle=equilibrium_thermodynamic_equations.plot_populations(...
    LRratio_array, concentrations_array, species_names, Figure_title, X_range, Y_range);
% save it
results_output.output_figure(figure_handle, figures_folder, 'Concentrations_plot');

Observations The result is exactly what we expect from this model. Upon addition of a ligand the RL forms. As saturation is achieved - the free ligand accumulates and begins dimerizing when total free L concentration becomes appreciable

Test influence of very strong dimerization

K_a_B=1e7;  % Dimerization constant

concentrations_array=[];
for counter=1:length(LRratio_array)
    % compute
    [concentrations species_names] = equilibrium_thermodynamic_equations.U_L2_model(...
        Rtotal, LRratio_array(counter), K_a_A, K_a_B,...
        model_numeric_solver, model_numeric_options);
    % collect
    concentrations_array = [concentrations_array ; concentrations];
end
% Plot
Figure_title= 'U-L2:strong KB';
X_range=[0 max(LRratio_array)+0.1 ]; % extend X just a bit past last point
Y_range=[ ]; % keep automatic scaling for Y
% display figure
figure_handle=equilibrium_thermodynamic_equations.plot_populations(...
    LRratio_array, concentrations_array, species_names, Figure_title, X_range, Y_range);
% save it
results_output.output_figure(figure_handle, figures_folder, 'Concentrations_plot2');

By increasing dimerization constant we cause reduction in apparent affinity of binding. In addition, it will be difficult to achieve saturation because upon increasing L concentration, free L accumulates progressively slower. See examples below:

Strong dimerization, strong binding

K_a_B=1e7;  % Dimerization constant
LRratio_array=[0 : 0.02 : 10]; % Array of L/R

concentrations_array=[];
for counter=1:length(LRratio_array)
    % compute
    [concentrations species_names] = equilibrium_thermodynamic_equations.U_L2_model(...
        Rtotal, LRratio_array(counter), K_a_A, K_a_B,...
        model_numeric_solver, model_numeric_options);
    % collect
    concentrations_array = [concentrations_array ; concentrations];
end
% Plot
Figure_title= 'U-L2:strong KB';
X_range=[0 max(LRratio_array)+0.1 ]; % extend X just a bit past last point
Y_range=[0 1e-3 ]; % keep automatic scaling for Y
% display figure
figure_handle=equilibrium_thermodynamic_equations.plot_populations(...
    LRratio_array, concentrations_array, species_names, Figure_title, X_range, Y_range);
% save it
results_output.output_figure(figure_handle, figures_folder, 'Concentrations_plot3');

We see that with strong binding and dimerization we readily bind initial amount of receptor and cannot force binding of the remaining portion because high concentration of free L drives formation of a dimer removing binding-competent L from reaction.

This is in contrast with simple weak binding where we gradually achieve high degree of saturation upon addition of excess L (below):

Comparison: weak Ka for binding, no dimerization

K_a_A=1e4;  % Binding constant
K_a_B=1e-3;  % Dimerization constant

concentrations_array=[];
for counter=1:length(LRratio_array)
    % compute
    [concentrations species_names] = equilibrium_thermodynamic_equations.U_L2_model(...
        Rtotal, LRratio_array(counter), K_a_A, K_a_B,...
        model_numeric_solver, model_numeric_options);
    % collect
    concentrations_array = [concentrations_array ; concentrations];
end
% Plot
Figure_title= 'U: weak KA';
X_range=[0 max(LRratio_array)+0.1 ]; % extend X just a bit past last point
Y_range=[0 1e-3 ]; % keep automatic scaling for Y
% display figure
figure_handle=equilibrium_thermodynamic_equations.plot_populations(...
    LRratio_array, concentrations_array, species_names, Figure_title, X_range, Y_range);
% save it
results_output.output_figure(figure_handle, figures_folder, 'Concentrations_plot4');

Here we eventually saturate the receptor

Conclusion

The model equilibrium_thermodynamic_equations.U_L2_model() works well.