| |
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.
- Demo script -- LIBRARY:matlab/lib1/titrationscript.htm or NmrTitration
- 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)
- assumes multiple equal steps. Can be altered to use none equal volumes.
- 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
in.ns = 20;
in.ra = 0.2;
in.kd = 1e-2;
in.tp = 1e-4;
global TOTALPROTEIN VOLUME0 DELTAVOL
TOTALPROTEIN = in.tp;
VOLUME0=500;
in.vs = 10;
in.ml = 1e-3;
DELTAVOL = 20;
[zsim, fm] = simshifttitr(in);
zs2 = zsim;
plot(zs2);
xdata = in.ml.*[1:in.vs] ;
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:
| 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" |
|