Difference: NmrTitration (1 vs. 16)

Revision 1604 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"

Current function in Matlab - LIBRARY:matlab/lib1/titrateKD.m

function [out] = titrateKD ( shifts, nomcon, protein, other)
%
% shifts - a vs . ns matrix of shifts, unidentified other than index
% nomcon - the nominal concentration of ligand per titration step (not
%           corrected for dilution) vector of length vs  (uM typically) 
% protein - total protein concentration ( uM typically) 
% other - (optional) dilution calculation.  If omitted assumes a start vol
% of 300 ul and increment of 1 ul . Other wise, include these two data
% DC 2/10

out includes means, estimates of error (not of uniform type) and tag describing process in a structure.

The data is analyzed with the equation below, and Kd, and D values derived.

A second step obtains Kd from the sum of all shifts at each concentration

A third step tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.

Finally, the t-test is used to see whether there is any improvement in t-score (not just at 95% level) by omission(s) of specific peaks.

Caution This does assume the fast exchange limit. Moving into intermediate exchange is quite complex and would normally require a good estimate of the end states.


Changed:
<
<
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
>
>
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.html or NmrTitration ( from http://www.nysbc.net/library/matlab/lib1/titrationscript.m )
 
  1. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  2. assumes multiple equal steps. Can be altered to use none equal volumes.
  3. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Function

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 1504 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
Changed:
<
<

Current function in Matlab - LIBRARY:/Matlab/lib1/titrateKD.m

>
>

Current function in Matlab - LIBRARY:matlab/lib1/titrateKD.m

 
function [out] = titrateKD ( shifts, nomcon, protein, other)
%
% shifts - a vs . ns matrix of shifts, unidentified other than index
% nomcon - the nominal concentration of ligand per titration step (not
%           corrected for dilution) vector of length vs  (uM typically) 
% protein - total protein concentration ( uM typically) 
% other - (optional) dilution calculation.  If omitted assumes a start vol
% of 300 ul and increment of 1 ul . Other wise, include these two data
% DC 2/10

out includes means, estimates of error (not of uniform type) and tag describing process in a structure.

The data is analyzed with the equation below, and Kd, and D values derived.

A second step obtains Kd from the sum of all shifts at each concentration

A third step tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.

Finally, the t-test is used to see whether there is any improvement in t-score (not just at 95% level) by omission(s) of specific peaks.

Caution This does assume the fast exchange limit. Moving into intermediate exchange is quite complex and would normally require a good estimate of the end states.


  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  2. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  3. assumes multiple equal steps. Can be altered to use none equal volumes.
  4. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Function

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 1404 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"

Current function in Matlab - LIBRARY:/Matlab/lib1/titrateKD.m

function [out] = titrateKD ( shifts, nomcon, protein, other)
%
% shifts - a vs . ns matrix of shifts, unidentified other than index
% nomcon - the nominal concentration of ligand per titration step (not
%           corrected for dilution) vector of length vs  (uM typically) 
% protein - total protein concentration ( uM typically) 
Changed:
<
<
% other - (optional) dilution calculation. If ommitted assumes a start vol % of 300 ul and increment of 1 ul
>
>
% other - (optional) dilution calculation. If omitted assumes a start vol % of 300 ul and increment of 1 ul . Other wise, include these two data
 % DC 2/10

Changed:
<
<
out includes means, estimates of error (not of uniform type) and tag describing process.
>
>
out includes means, estimates of error (not of uniform type) and tag describing process in a structure.
 
Changed:
<
<
The data is analysed with the equation below, and Kd, and D values derived.
>
>
The data is analyzed with the equation below, and Kd, and D values derived.
 A second step obtains Kd from the sum of all shifts at each concentration
Changed:
<
<
A third steps tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.
>
>
A third step tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.
 Finally, the t-test is used to see whether there is any improvement in t-score (not just at 95% level) by omission(s) of specific peaks.

Caution This does assume the fast exchange limit. Moving into intermediate exchange is quite complex and would normally require a good estimate of the end states.


  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  2. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  3. assumes multiple equal steps. Can be altered to use none equal volumes.
  4. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Function

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 1304 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"

Current function in Matlab - LIBRARY:/Matlab/lib1/titrateKD.m

function [out] = titrateKD ( shifts, nomcon, protein, other)
%
% shifts - a vs . ns matrix of shifts, unidentified other than index
% nomcon - the nominal concentration of ligand per titration step (not
%           corrected for dilution) vector of length vs  (uM typically) 
% protein - total protein concentration ( uM typically) 
% other - (optional) dilution calculation.  If ommitted assumes a start vol
% of 300 ul and increment of 1 ul 
% DC 2/10

out includes means, estimates of error (not of uniform type) and tag describing process.

The data is analysed with the equation below, and Kd, and D values derived.

A second step obtains Kd from the sum of all shifts at each concentration

A third steps tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.

Finally, the t-test is used to see whether there is any improvement in t-score (not just at 95% level) by omission(s) of specific peaks.

Caution This does assume the fast exchange limit. Moving into intermediate exchange is quite complex and would normally require a good estimate of the end states.


Changed:
<
<
1 Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
>
>
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
 
  1. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  2. assumes multiple equal steps. Can be altered to use none equal volumes.
  3. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Function

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 1204 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
Changed:
<
<
---++ Current function in Matlab - LIBRARY:/Matlab/lib1/titrateKD.m
>
>

Current function in Matlab - LIBRARY:/Matlab/lib1/titrateKD.m

 
function [out] = titrateKD ( shifts, nomcon, protein, other)
%
% shifts - a vs . ns matrix of shifts, unidentified other than index
% nomcon - the nominal concentration of ligand per titration step (not
%           corrected for dilution) vector of length vs  (uM typically) 
% protein - total protein concentration ( uM typically) 
% other - (optional) dilution calculation.  If ommitted assumes a start vol
% of 300 ul and increment of 1 ul 
% DC 2/10

out includes means, estimates of error (not of uniform type) and tag describing process.

The data is analysed with the equation below, and Kd, and D values derived.

A second step obtains Kd from the sum of all shifts at each concentration

A third steps tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.

Finally, the t-test is used to see whether there is any improvement in t-score (not just at 95% level) by omission(s) of specific peaks.

Caution This does assume the fast exchange limit. Moving into intermediate exchange is quite complex and would normally require a good estimate of the end states.


1 Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  1. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  2. assumes multiple equal steps. Can be altered to use none equal volumes.
  3. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Function

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 1104 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
Changed:
<
<
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
>
>
---++ Current function in Matlab - LIBRARY:/Matlab/lib1/titrateKD.m
Added:
>
>
function [out] = titrateKD ( shifts, nomcon, protein, other)
%
% shifts - a vs . ns matrix of shifts, unidentified other than index
% nomcon - the nominal concentration of ligand per titration step (not
%           corrected for dilution) vector of length vs  (uM typically) 
% protein - total protein concentration ( uM typically) 
% other - (optional) dilution calculation.  If ommitted assumes a start vol
% of 300 ul and increment of 1 ul 
% DC 2/10

out includes means, estimates of error (not of uniform type) and tag describing process.

The data is analysed with the equation below, and Kd, and D values derived.

A second step obtains Kd from the sum of all shifts at each concentration

A third steps tests for serious outliers by comparison (using t-test) of each individual Kd with the rest of the distribution, at the 95% confidence limit. This should confirm whether or not there is a clearly different peak moving.

Finally, the t-test is used to see whether there is any improvement in t-score (not just at 95% level) by omission(s) of specific peaks.

Caution This does assume the fast exchange limit. Moving into intermediate exchange is quite complex and would normally require a good estimate of the end states.


1 Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
 
  1. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  2. assumes multiple equal steps. Can be altered to use none equal volumes.
  3. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Function

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 1002 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  2. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  3. assumes multiple equal steps. Can be altered to use none equal volumes.
  4. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Changed:
<
<
--++Function
>
>

Function

Deleted:
<
<
 The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 902 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  2. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  3. assumes multiple equal steps. Can be altered to use none equal volumes.
  4. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

--++Function

Added:
>
>
 The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 802 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  2. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  3. assumes multiple equal steps. Can be altered to use none equal volumes.
  4. Precision is limited by VS and VN and the relative Kd.


Equation

This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

Changed:
<
<
where P is the protein conc., L the ligand conc, K the Kd, D is a fitted constant for saturated shift - no ligand shift, and K is the primary fitted variable.
>
>
where P is the protein conc., L the ligand conc, K the Kd, D are fitted constants for (saturated shift - no ligand shift), and K is the primary fitted variable.
 The concentrations are adjusted for volumetric dilutions.

--++Function

Changed:
<
<
The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illusgtrated below.
>
>
The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illustrated below.
 

Input values

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 702 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
Added:
>
>
  1. Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
  2. Needed data - 1. protein concentration at start. 2. initial total volume, 3 concn of ligand in the added volumes , 4 incremental volume added , 5 number of increments (VS), 6 number of peaks logged (VN), 7 matrix of shifts (VS, VN)
  3. assumes multiple equal steps. Can be altered to use none equal volumes.
  4. Precision is limited by VS and VN and the relative Kd.


Equation

  This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D is a fitted constant for saturated shift - no ligand shift, and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Added:
>
>
--++Function
 The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illusgtrated below.
Changed:
<
<
>
>

Input values

 x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 602 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D is a fitted constant for saturated shift - no ligand shift, and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illusgtrated below.

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

Added:
>
>

Output

The principal output is a vector similar to x0 with Kd as the first value followed by the D's for each peak. Other outputs are described .
  titrationscript
% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 502 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
This documents the fitting procedure for the formula

d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D is a fitted constant for saturated shift - no ligand shift, and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

Added:
>
>
The lsqcurvefit matlab procedure is used, with the kdfuntitr function. The following is needed for [x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 ); as illusgtrated below.

x 0 - starting values of Kd and D's. Can be artibitarily set to 1's if needed.

xdata - the concentration of ligand nominally added , e.g. so if you added 10 µl of a 100 mM solution, and nominally diluted it 50 time, you have a 2 mM 'nominal' conc, and the increments are similar 4,6,8 .... The volumetric correction is internally calculated.

global variables, for TOTALPROTEIN , VOLUME0, and DELTAVOL for total protein concentration initially, the initial (no ligand) volume, and the delta volume of the additions during titration. It's assumed there's a constant vol addition. Alternate schemes could be handled.

zs2 - a matrix of numbers for each peak studied with the variation of shifts from the starting value. Dont include 0 for 0 ligand.

  titrationscript
% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 402 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"
Changed:
<
<
>
>
This documents the fitting procedure for the formula
Added:
>
>
d(obs: 1:vs, 1:vn)-d(0) = D(1:vn) * ( ( P + L (1:vs) + K ) - sqrt ( (P + L(1:vs) + K )^2 - 4( P L(1:VS) ) )) / ( 2 P )

where P is the protein conc., L the ligand conc, K the Kd, D is a fitted constant for saturated shift - no ligand shift, and K is the primary fitted variable.

The concentrations are adjusted for volumetric dilutions.

  titrationscript
% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"

Revision 302 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
Added:
>
>
* untitled.jpg:
untitled.jpg

META FILEATTACHMENT attachment="untitled.jpg" attr="" comment="" date="1265133369" name="untitled.jpg" path="untitled.jpg" size="48403" stream="untitled.jpg" user="Main.DavidCowburn" version="1"
 

Revision 202 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636

Revision 102 Feb 2010 - Main.DavidCowburn

 
META TOPICPARENT name="NmrIT"

titrationscript

% script to demonstrate simple protein binding curve fitting
% set up for simlulation by simshift, using titration formulism
in.ns = 20;     % number of peak positions in use
in.ra = 0.2;    % max range of shifts
in.kd = 1e-2;   % apparent Kd
in.tp = 1e-4;   % total protein conc

global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;     % number of steps of titration
in.ml = 1e-3;   % ligand added concn
DELTAVOL =  20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata =    in.ml.*[1:in.vs] ;    % range of concentrations
x0= [ 0,  2*max(zs2)];
[x,r] = lsqcurvefit(@kdfuntitr , x0 , xdata, zs2 );
disp('outputs');
disp( x);
disp('deviations');
disp(  x - [in.kd fm']);
Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to 
its initial value is less than the default value of the function tolerance.



outputs
  Columns 1 through 7
    0.0100    0.1671    0.1671    0.0100    0.1092    0.1886    0.0643
  Columns 8 through 14
    0.1613    0.1203    0.1579    0.1598    0.0099    0.0566    0.1307
  Columns 15 through 21
    0.0979    0.1946    0.1497    0.1136    0.0598    0.0512    0.1773
deviations
  1.0e-006 *
  Columns 1 through 7
   -0.0330   -0.3427   -0.3428   -0.0204   -0.2239   -0.3869   -0.1319
  Columns 8 through 14
   -0.3308   -0.2467   -0.3239   -0.3278   -0.0203   -0.1162   -0.2680
  Columns 15 through 21
   -0.2008   -0.3990   -0.3070   -0.2329   -0.1226   -0.1050   -0.3636
 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this intranet, Send feedback