resources
Nonlinear fitting of titration data using Sigma Plot
The “binding by two ligands” procedure part of the fitting tools of the software is here modified to accommodate simultaneous fitting of complexing capacities and the sensitivity S (SFIT). Titration data were directly imported to the software and fitted using the following equation:
f = (Bmax1*abs(x)/S/(Kd1 + abs(x)/S) + Bmax2*abs(x)/S/(Kd2 + abs(x)/S))+abs(x)/S (S2)
that respects the nomenclature of the “binding by two ligands” procedure included in the software to facilitate its adaptation by other users. Full step by step details to program this new procedure into the software package can be found in Table S1. From Eq. (6) complexing parameters can be obtained with the following expressions (if titration data in nM and nA respectively):
Bmax1=[LS] (S3)
Bmax2= [LW] (S4)
KS =1/Kd1· ·109 (S5)
KW=1/Kd2· ·109 (S6)
A convenient fact is that the output includes standard errors for all those parameters determined, including an error for S.
Programming of non-linear fitting of Eq. (S1) in Sigma Plot.
Once the titration data have been pasted in two different columns of a Sigma Plot spreadsheet, by pressing F5 (or locating Regression Wizard in the menu) the following menu opens:
Select Equation category:
Go to the option User-defined
Edit code and fill all the options with the following information before running the regression tool. The software allows saving this new procedure for future use.
Remember that here variable x is ip (in nA) and variable y is [Cu]TOT (in nM).
Please replace the contents of the different boxes in the code page with the following code:
Table S1
Equation:
f = (Bmax1*abs(x)/S/(Kd1 + abs(x)/S) + Bmax2*abs(x)/S/(Kd2 + abs(x)/S))+abs(x)/S
fit f to y
''fit f to y with weight reciprocal_y
''fit f to y with weight reciprocal_ysquare
Variables:
x = col(1)
y = col(2)
reciprocal_y=1/abs(y)
reciprocal_ysquare=1/y^2
Initial parameters:
Bmax1 = max(y)/2 ''Auto {{previous: 31.0214}}
Kd1 = if(x50(x,y)>0, 0.5*x50(x,y), if(mean(x)=0, 1, 0.5*abs(mean(x)))) ''Auto {{previous: 0.409331}}
Bmax2 = max(y)/2 ''Auto {{previous: 88.3188}}
Kd2 = if(x50(x,y)>0, 1.5*x50(x,y), if(mean(x)=0, 2, 1.5*abs(mean(x)))) ''Auto {{previous: 22.9404}}
S = max(y)/max(x) ' {{previous: 0.456565}}
Constraints:
Bmax1>0
Kd1>0
Bmax2>0
Kd2>0
S>0
Iterations:
2000
Step size:
1
Tolerance:
1e-010