Analysis of B_R2_R2L2

 

Receptor dimerization coupled with binding of one ligand per receptor monomer

 

 

Contents

 

Goals

 

1. Load equations

 

2. Simulation

 

3. Summary of test results

 

 

Conclusions

 

 

 

Back to Contents

 

 

Goals

 

In this notebook I will analyze B_R2_R2L2 model using numeric solutions from 

EKM16.Analysis_of_multistep_kinetic_mechanisms/

Equilibria/B_R2_R2L2_model/B_R2_R2L2_derivation.mn

 

 

 

 

image

image

image

image

 

 

 

 

Back to Contents

 

 

 

1. Load equations

 

clean up workspace

reset()

 

 

Set path to save results into:

ProjectName:="B_R2_R2L2";

CurrentPath:="/Users/kovrigin/Documents/Workspace/Data/Data.XV/EKM16.Analysis_of_multistep_kinetic_mechanisms/Equilibria/B_R2_R2L2_model/";

 

math

math

 

 

Read results of derivations

filename:=CurrentPath.ProjectName.".mb";

fread(filename,Quiet):

anames(User);

 

math

math

 

 

Assume some constant values for testing

Total_R:=1e-3:

Ka1:=1e7:

Kb1:=2e3:

Ka2:=1e5:

Ka3:=1e5:

LR_Ratio_max:=2.5:

LR_Ratio:=0.8:

Test procedures

pnLeq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) ;

pnReq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) ;

pnRLeq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) ;

pnR2eq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) ;

pnR2Leq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) ;

pnR2L2eq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) ;

 

math

math

math

math

math

math

functions loaded OK.

 

Make wrapper functions for plotting

// Make wrapper functions dependent on LRratio

fnLeq:=LR_Ratio -> pnLeq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) : 

fnReq:=LR_Ratio -> pnReq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) : 

fnRLeq:=LR_Ratio -> pnRLeq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) : 

fnR2eq:=LR_Ratio -> pnR2eq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) : 

fnR2Leq:=LR_Ratio -> pnR2Leq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) : 

fnR2L2eq:=LR_Ratio -> pnR2L2eq_B_R2_R2L2(Total_R, LR_Ratio, Ka1, Kb1, Ka2, Ka3) :

// control function for performance of the numeric solver

fnRtot:=LR_Ratio -> fRtot_B_R2_R2L2(Total_R, LR_Ratio, fnLeq(LR_Ratio), Ka1, Kb1, Ka2, Ka3):

 

 

Test plotting

Total_R:=1e-3:

Ka1:=10:

Kb1:=1e3:

Ka2:=1e6:

Ka3:=1e4:

LR_Ratio_min:=1e-16:

LR_Ratio_max:=1.2:

pnR2L2eq_B_R2_R2L2(Total_R, LR_Ratio_min, Ka1, Kb1, Ka2, Ka3);

pnR2L2eq_B_R2_R2L2(Total_R, LR_Ratio_max, Ka1, Kb1, Ka2, Ka3);

 

 

 

 

print(Unquoted,"Leq  ",fnLeq(LR_Ratio_min),fnLeq(LR_Ratio_max));

print(Unquoted,"Req  ",fnReq(LR_Ratio_min),fnReq(LR_Ratio_max));

print(Unquoted,"RLeq  ",fnLeq(LR_Ratio_min),fnRLeq(LR_Ratio_max));

print(Unquoted,"R2eq  ",fnR2eq(LR_Ratio_min),fnR2eq(LR_Ratio_max));

print(Unquoted,"R2Leq  ",fnR2Leq(LR_Ratio_min),fnR2Leq(LR_Ratio_max));

print(Unquoted,"R2L2eq  ",fnR2L2eq(LR_Ratio_min),fnR2L2eq(LR_Ratio_max));

 

LW:=1.5:

pLeq:=  plot::Function2d(

          Function=(fnLeq),

          LegendText="[L]",

          Color = RGB::Blue,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pReq:=  plot::Function2d(

          Function=(fnReq),

          LegendText="[R]",

          Color = RGB::Black,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pR2L2eq:=  plot::Function2d(

          Function=(fnR2L2eq),

          LegendText="[R2L2]",

          Color = RGB::Red,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pRtot:=  plot::Function2d(

          Function=(fnRtot),

          LegendText="Total R",

          Color = RGB::Cyan,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

plot(pRtot,pR2L2eq,pReq,pLeq,LegendVisible=TRUE);

 

math

math

Leq  , 3.983981204e-22, 0.0003325264778

Req  , 0.0005000002003, 0.00001846519415

RLeq  , 3.983981204e-22, 0.00000006140165974

R2eq  , 0.0002500002003, 0.0000003409633952

R2Leq  , 9.959960989e-20, 0.0001133793568

R2L2eq  , 3.968029737e-37, 0.0003770163819

MuPAD graphics

OK

 

 

 

 

 

 

 

 

 

 

 

 

Back to Contents

 

 

 

 

2. Simulation

 

 

KB2_B_R2_R2L2; KB3_B_R2_R2L2

math

math

 

Assume some constant values and evaluate titrations for desired conditions.

delete LR_Ratio;

DIGITS:=10:

 

/*

// Using independent constants

Total_R:=0.001:

Ka1:=1000.0:

Ka2:=1e10:

Ka3:=1e10:

Kb1:=0.1:

*/

 

/*

// --- no dimerization of monomers -----

// Using dependent constants

Total_R:=0.001:

Ka1:=1e5:

Kb1:=1e-3:

Kb2:=1:

Kb3:=1e4:

// compute independent constants

Ka2:= Kb2*Ka1/Kb1;

Ka3:= Kb3*Ka1*Ka1/(Ka2*Kb1);

*/

 

// --- Monomer does not bind ligand -----

// Using dependent constants

Total_R:=0.001:

Ka1:=1:

Ka2:=1e6:

Kb1:=1:

Ka3:=1e6:

 

 

 

 

 

LR_Ratio_min:=1e-16:

LR_Ratio_max:=1.5:

 

// Compute dependent constants

Kb2:=KB2_B_R2_R2L2[2] | K_A_1=Ka1 | K_A_2=Ka2 | K_B_1=Kb1:

Kb3:=KB3_B_R2_R2L2[2] | K_A_1=Ka1 | K_A_2=Ka2 | K_A_3=Ka3 | K_B_1=Kb1:

 

 

pLeq:=  plot::Function2d(

          Function=(fnLeq),

          LegendText="[L]",

          Color = RGB::Yellow,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pReq:=  plot::Function2d(

          Function=(fnReq),

          LegendText="[R]",

          Color = RGB::Black,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pR2eq:=  plot::Function2d(

          Function=(fnR2eq),

          LegendText="[R2]",

          Color = RGB::Blue,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pRLeq:=  plot::Function2d(

          Function=(fnRLeq),

          LegendText="[RL]",

          Color = RGB::Green,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pR2Leq:=  plot::Function2d(

          Function=(fnR2Leq),

          LegendText="[R2L]",

          Color = RGB::Magenta,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pR2L2eq:=  plot::Function2d(

          Function=(fnR2L2eq),

          LegendText="[R2L2]",

          Color = RGB::Red,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

pRtot:=  plot::Function2d(

          Function=(fnRtot),

          LegendText="Total R",

          Color = RGB::Cyan,

          XMin=(LR_Ratio_min),

          XMax=(LR_Ratio_max),

          XName=(LR_Ratio),

          TitlePositionX=(0),

          LineWidth=LW):

 

// Report constants

print(Unquoted,"Model: ".ProjectName);

print(Unquoted,"Total_R:=".Total_R.":");

print(Unquoted,"Ka1:=".Ka1.":");

print(Unquoted,"Ka2:=".Ka2.":");

print(Unquoted,"Ka3:=".Ka3.":");

print(Unquoted,"Kb1:=".Kb1.":");

print(Unquoted,"//Kb2:=".Kb2.": (dep.)");

print(Unquoted,"//Kb3:=".Kb3.": (dep.)");

 

// plot all together

plot(pRtot, pLeq, pReq, pR2eq, pRLeq, pR2Leq, pR2L2eq,

   YAxisTitle="M", Header=("Model: ".ProjectName),

   Height=160, Width=100,TicksLabelFont=["Helvetica",12,[0,0,0],Left],

  AxesTitleFont=["Helvetica",14,[0,0,0],Left],

  XGridVisible=TRUE, YGridVisible=TRUE,

  LegendVisible=TRUE, LegendFont=["Helvetica",14,[0,0,0],Left]);

 

 

 

 

Model: B_R2_R2L2

Total_R:=0.001:

Ka1:=1:

Ka2:=1000000.0:

Ka3:=1000000.0:

Kb1:=1:

//Kb2:=1000000.0: (dep.)

//Kb3:=1.0e12: (dep.)

MuPAD graphics

 

Jump to beginning of simulation

 

 

Back to Contents

 

 

 

 

 

3. Summary of test results

 

 

Test some situations

Jump to beginning of simulation

 

 

 

 

 

 

 

 

 

 

 

 

 

Simple test case

 

 

 

 

 

 

 

No dimerizaion and affinity

for dimer and a monomer

is identical

 

 

 

 

 

 

 

Monomer does not bind ligand

No dimerization in R, only RL can dimerize

// Using dependent constants

Total_R:=0.001:

Ka1:=1e5:

Kb1:=1e-3:

Kb2:=1:

Kb3:=1e4:

// compute independent constants

Ka2:= Kb2*Ka1/Kb1;

Ka3:= Kb3*Ka1*Ka1/(Ka2*Kb1);

Model: B_R2_R2L2

Total_R:=0.001:

Ka1:=100000.0:

Ka2:=1000000.0:

Ka3:=100000.0:

Kb1:=1000.0:

//Kb2:=10000.0: (dep.)

//Kb3:=10000.0: (dep.)

MuPAD graphics

 

Model: B_R2_R2L2

Total_R:=0.001:

Ka1:=100000.0:

Ka2:=100000.0:

Ka3:=100000.0:

Kb1:=1:

//Kb2:=1.0: (dep.)

//Kb3:=1.0: (dep.)

MuPAD graphics

Model: B_R2_R2L2

Total_R:=0.001:

Ka1:=1:

Ka2:=1000000.0:

Ka3:=1000000.0:

Kb1:=1:

//Kb2:=1000000.0: (dep.)

//Kb3:=1.0e12: (dep.)

MuPAD graphics

 

Model: B_R2_R2L2

Total_R:=0.001:

Ka1:=100000.0:

Ka2:=100000000.0:

Ka3:=1000000000.0:

Kb1:=0.001:

//Kb2:=1.0: (dep.)

//Kb3:=10000.0: (dep.)

MuPAD graphics

 

 

 

 

 

Jump to beginning of simulation

 

Conclusion:

Equations behave as expected. To 'switch off' parts of the scheme : set the dependent constants and back-calculate independent ones

 

 

 

Back to Contents

 

 

 

Conclusions

 

1. The numeric solutions are tested and behave predictably. To 'switch off' parts of the scheme : set the dependent constants and back-calculate independent ones

 

 

 

Back to Contents