10.07.2015 Views

Fitting Michaelis-Menten directly to substrate concentration data

Fitting Michaelis-Menten directly to substrate concentration data

Fitting Michaelis-Menten directly to substrate concentration data

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Fitting</strong> <strong>Michaelis</strong>-<strong>Menten</strong> <strong>directly</strong> <strong>to</strong><strong>substrate</strong> <strong>concentration</strong> <strong>data</strong>Murray Hannah & Peter Moate


OutlineEnzyme Kinetics


OutlineEnzyme Kinetics<strong>Michaelis</strong>−<strong>Menten</strong> equation


OutlineEnzyme Kinetics<strong>Michaelis</strong>−<strong>Menten</strong> equationTraditional parameter estimation methods


OutlineEnzyme Kinetics<strong>Michaelis</strong>−<strong>Menten</strong> equationTraditional parameter estimation methodsMore direct estimation strategiesDirect fit <strong>to</strong> rate <strong>data</strong>Numerical solutionsSemi-parametric


OutlineEnzyme Kinetics<strong>Michaelis</strong>−<strong>Menten</strong> equationTraditional parameter estimation methodsMore direct estimation strategiesDirect fit <strong>to</strong> rate <strong>data</strong>Numerical solutionsSemi-parametricA GenStat procedure, MICHAELIS


Enzymes‘Little’ molecular machines that catalize biochemical reactions


An enzyme reactionk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1


An enzyme reactionk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1◮ Substrate S


An enzyme reactionk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1◮ Substrate S◮ Empty Enzyme E 0


An enzyme reactionk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1◮ Substrate S◮ Empty Enzyme E 0◮ Occupied Enzyme E 1


An enzyme reactionk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1◮ Substrate S◮ Empty Enzyme E 0◮ Occupied Enzyme E 1◮ Product P


Enzyme kineticsScientists wish <strong>to</strong>◮ predict reaction rate as a function of <strong>substrate</strong><strong>concentration</strong>


Enzyme kineticsScientists wish <strong>to</strong>◮ predict reaction rate as a function of <strong>substrate</strong><strong>concentration</strong>◮ predict <strong>concentration</strong> as function of time


Enzyme kineticsScientists wish <strong>to</strong>◮ predict reaction rate as a function of <strong>substrate</strong><strong>concentration</strong>◮ predict <strong>concentration</strong> as function of time◮ predict reaction rate as a function of time


k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1


Reaction rates . . .k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1


Reaction rates . . .dSdt= −k 1 SE 0 + k −1 E 1k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1


k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1Reaction rates . . .dSdt= −k 1 SE 0 + k −1 E 1dE 0dt= −k 1 SE 0 + k −1 E 1 + k 2 E 1


k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1Reaction rates . . .dSdt= −k 1 SE 0 + k −1 E 1dE 0dt= −k 1 SE 0 + k −1 E 1 + k 2 E 1dE 1dt= k 1 SE 0 − k −1 E 1 − k 2 E 1


k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1Reaction rates . . .dSdt= −k 1 SE 0 + k −1 E 1dE 0dt= −k 1 SE 0 + k −1 E 1 + k 2 E 1dE 1dt= k 1 SE 0 − k −1 E 1 − k 2 E 1dPdt= k 2 E 1


Reaction rates . . .dSdt= −k 1 SE 0 + k −1 E 1dE 0dt= −k 1 SE 0 + k −1 E 1 + k 2 E 1dE 1dt= k 1 SE 0 − k −1 E 1 − k 2 E 1dPdt= k 2 E 1Constraints . . .E T = E 0 + E 1 ⇒ dE Tdtk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1= 0,


Reaction rates . . .dSdt= −k 1 SE 0 + k −1 E 1dE 0dt= −k 1 SE 0 + k −1 E 1 + k 2 E 1dE 1dt= k 1 SE 0 − k −1 E 1 − k 2 E 1dPdt= k 2 E 1Constraints . . .E T = E 0 + E 1 ⇒ dE TdtdE 1dt≃ 0k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1= 0,


... which give...dSdt= (k 2E T S( )k−1 +k 2k 1+ S= V maxSK m + S


... which give...dSdt= (k 2E T S( )k−1 +k 2k 1+ S= V maxSK m + Sk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1


... which give...dSdt= (k 2E T S( )k−1 +k 2k 1+ S= V maxSK m + SK m = k −1+k 2k 1k 1S + E 0 ⇋ E 1k−→2E0 + Pk −1= <strong>substrate</strong>-enzyme "affinity"


... which give...dSdt= (k 2E T S( )k−1 +k 2k 1+ S= V maxSK m + Sk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1K m = k −1+k 2k 1= <strong>substrate</strong>-enzyme "affinity"V max = k 2 E T = maximal reaction rate


... which give...dSdt= (k 2E T S( )k−1 +k 2k 1+ S= V maxSK m + Sk 1S + E 0 ⇋ E 1k−→2E0 + Pk −1K m = k −1+k 2k 1= <strong>substrate</strong>-enzyme "affinity"V max = k 2 E T = maximal reaction ratedSdt→ V max , S → ∞,S = K m ⇔ dSdt= V max2


The <strong>Michaelis</strong>-<strong>Menten</strong> equation.v = V maxSK m + SMaud <strong>Menten</strong> and Leonor <strong>Michaelis</strong>, 1913


How good is the steady-state approximation?


How good is the steady-state approximation?http://online.redwoods.cc.ca.us/...


How good is the steady-state approximation?MM approx compared <strong>to</strong> actual DE


Traditional estimation of V maxand K mLinearize v = V maxS, Linear regression, or graphicalK m + S


Traditional estimation of V maxand K mLinearize v = V maxS, Linear regression, or graphicalK m + S◮ 1v = 1V max+ KmV max1SLineweaver Burk, 1939


Traditional estimation of V maxand K mLinearize v = V maxS, Linear regression, or graphicalK m + S◮ 1v = 1V max+ KmV max1SLineweaver Burk, 1939◮vS = VmaxK m− 1K mv Scatchard, 1949


Traditional estimation of V maxand K mLinearize v = V maxS, Linear regression, or graphicalK m + S◮ 1v = 1V max+ KmV max1SLineweaver Burk, 1939◮◮vS = VmaxK m− 1K mv Scatchard, 1949Sv = KmV max+ 1V maxS Woolf (Haldane, 1957)


Traditional estimation of V maxand K mLinearize v = V maxS, Linear regression, or graphicalK m + S◮ 1v = 1V max+ KmV max1SLineweaver Burk, 1939◮◮vS = VmaxK m− 1K mv Scatchard, 1949Sv = KmV max+ 1V maxS Woolf (Haldane, 1957)◮ or by non-linear regression. (e.g. FITCURVE [CURVE=ldl])


Traditional estimation of V maxand K mLinearize v = V maxS, Linear regression, or graphicalK m + S◮ 1v = 1V max+ KmV max1SLineweaver Burk, 1939◮◮vS = VmaxK m− 1K mv Scatchard, 1949Sv = KmV max+ 1V maxS Woolf (Haldane, 1957)◮ or by non-linear regression. (e.g. FITCURVE [CURVE=ldl])v i and S i derived from experiment i = 1 . . . k


Fit <strong>directly</strong> <strong>to</strong> <strong>concentration</strong> <strong>data</strong>, S vs t?


Fit <strong>directly</strong> <strong>to</strong> <strong>concentration</strong> <strong>data</strong>, S vs t?Require S(t), the solution <strong>to</strong> dSdt= V maxSK m + S


Fit <strong>directly</strong> <strong>to</strong> <strong>concentration</strong> <strong>data</strong>, S vs t?Require S(t), the solution <strong>to</strong> dSdt= V maxSK m + SBut no closed form solution for S(t) exists!


Solution <strong>to</strong> S(t){ ( )}S0 S0 − V max tS(t) = K m W expK m K m


Solution <strong>to</strong> S(t){ ( )}S0 S0 − V max tS(t) = K m W expK m K mwhere Lambert’s W : y = W (x) such that ye y = x


Solution <strong>to</strong> S(t){ ( )}S0 S0 − V max tS(t) = K m W expK m K mwhere Lambert’s W : y = W (x) such that ye y = x(Fig. from Barry et al., Math Comp Sim, 2000.)


Estimation strategies using (S, t) <strong>data</strong>:◮ Transform (S, t) <strong>to</strong> rate <strong>data</strong>, (v, S)


Estimation strategies using (S, t) <strong>data</strong>:◮ Transform (S, t) <strong>to</strong> rate <strong>data</strong>, (v, S)◮ Purely numeric solution <strong>to</strong> S(t)


Estimation strategies using (S, t) <strong>data</strong>:◮ Transform (S, t) <strong>to</strong> rate <strong>data</strong>, (v, S)◮ Purely numeric solution <strong>to</strong> S(t)◮ Analytic expansion for Lamberts W


Estimation strategies using (S, t) <strong>data</strong>:◮ Transform (S, t) <strong>to</strong> rate <strong>data</strong>, (v, S)◮ Purely numeric solution <strong>to</strong> S(t)◮ Analytic expansion for Lamberts W◮ A semi-parametric method


Transform (S, t) <strong>to</strong> (v, S ∗ )?v i = − S i+1 − S iand Si ∗ = S i + S i+1t i+1 − t i 2


Transform (S, t) <strong>to</strong> (v, S ∗ )?v i = − S i+1 − S iand Si ∗ = S i + S i+1t i+1 − t i 2


Note that{ }Si+1 − S iVar(V i ) = Vart i+1 − t i= 2σ2δi2 , where δ i = t i+1 − t i


Note that{ }Si+1 − S iVar(V i ) = Vart i+1 − t i= 2σ2δi2 , where δ i = t i+1 − t iUnequal time intervals δ i ⇒ unequal variance.


<strong>Fitting</strong> v = V maxS ∗K m +S ∗ , with weights = δ 2 i


Transforming (S, t) <strong>to</strong> (v, S ∗ ) <strong>data</strong>:Allows us <strong>to</strong> fit MM <strong>directly</strong>, but ...◮ Heteroscedasticity, due <strong>to</strong> unequal δ i .


Transforming (S, t) <strong>to</strong> (v, S ∗ ) <strong>data</strong>:Allows us <strong>to</strong> fit MM <strong>directly</strong>, but ...◮ Heteroscedasticity, due <strong>to</strong> unequal δ i .◮ Correlated errors, MA(1), induced by differencing:V i = − S i+1 − S iδ i, ⇒ Cov(V i , V i+1 ) = − σ2δ i δ i+1


Transforming (S, t) <strong>to</strong> (v, S ∗ ) <strong>data</strong>:Allows us <strong>to</strong> fit MM <strong>directly</strong>, but ...◮ Heteroscedasticity, due <strong>to</strong> unequal δ i .◮ Correlated errors, MA(1), induced by differencing:V i = − S i+1 − S iδ i, ⇒ Cov(V i , V i+1 ) = − σ2δ i δ i+1◮ Errors in variables:Var(S ∗ ) = σ22


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:◮ Note, the slope at t isv(t) = − V maxS(t)K m + S(t)


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:◮ Note, the slope at t is◮v(t) = − V maxS(t)K m + S(t)Estimate S(t +h) ≃ S(t) + v(t) × h


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:◮ Note, the slope at t is◮◮v(t) = − V maxS(t)K m + S(t)Estimate S(t +h) ≃ S(t) + v(t) × hStart with initial value, S(0)


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:◮ Note, the slope at t isv(t) = − V maxS(t)K m + S(t)◮ Estimate S(t +h) ≃ S(t) + v(t) × h◮ Start with initial value, S(0)◮ Iterate, gives ˜S(t) for t = 0, h, 2h, ...


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:◮ Note, the slope at t isv(t) = − V maxS(t)K m + S(t)◮ Estimate S(t +h) ≃ S(t) + v(t) × h◮ Start with initial value, S(0)◮ Iterate, gives ˜S(t) for t = 0, h, 2h, ...◮ interpolate ˜S(ti )


Direct fit <strong>to</strong> (S, t) <strong>data</strong>: S(t) numeric solution?◮ E.g., S(t) by Euler’s method:◮ Note, the slope at t isv(t) = − V maxS(t)K m + S(t)◮ Estimate S(t +h) ≃ S(t) + v(t) × h◮ Start with initial value, S(0)◮ Iterate, gives ˜S(t) for t = 0, h, 2h, ...◮ interpolate ˜S(ti )Minimizen∑i=1[S i − ˜S(t i ; V max , K m )] 2w.r.t V max , K m


Euler’s solution <strong>to</strong> S(t)Simple <strong>to</strong> program, fits MM <strong>directly</strong> <strong>to</strong> (S, t), but ...◮ Computationally intensive


Euler’s solution <strong>to</strong> S(t)Simple <strong>to</strong> program, fits MM <strong>directly</strong> <strong>to</strong> (S, t), but ...◮ Computationally intensive◮ Uncertain accuracy


Euler’s solution <strong>to</strong> S(t)Simple <strong>to</strong> program, fits MM <strong>directly</strong> <strong>to</strong> (S, t), but ...◮ Computationally intensive◮ Uncertain accuracy◮ Runge-Kutta methods


Analytic numeric solution for S(t)?◮{ ( )}S0 S0 − V max tS(t) = K m W expK m K mwhere Lambert’s W : y = W (x) such that ye y = x


Analytic numeric solution for S(t)?◮{ ( )}S0 S0 − V max tS(t) = K m W expK m K mwhere Lambert’s W : y = W (x) such that ye y = x◮ Expansion <strong>to</strong> give (approximate) Lambert’s W :


Analytic numeric solution for S(t)?◮{ ( )}S0 S0 − V max tS(t) = K m W expK m K mwhere Lambert’s W : y = W (x) such that ye y = x◮ Expansion <strong>to</strong> give (approximate) Lambert’s W :◮ See Golicnik, Analytic Biochemistry (2010), andreferences therein.maximum error < 0.02% (Barry et al., 2000)


Analytic numeric solution for S(t)?◮{ ( )}S0 S0 − V max tS(t) = K m W expK m K mwhere Lambert’s W : y = W (x) such that ye y = x◮ Expansion <strong>to</strong> give (approximate) Lambert’s W :◮ See Golicnik, Analytic Biochemistry (2010), andreferences therein.maximum error < 0.02% (Barry et al., 2000)Minimizen∑i=1[S i − Š(t i; V max , K m )] 2w.r.t V max , K m


"Fit Michealis-<strong>Menten</strong> (following Golicnik)"SCALAR Vm,Km,K1,W0SCALAR epsilon; VAL=0.4586887CALC d1=12/5EXPRESSION mm[1]; VALUE=!e(x=(W0-K1-Vm*TIME)/Km)& mm[2]; VALUE=!e(x=(W0-K1)*exp(x)/Km)& mm[3]; VALUE=!e(d2=x/log(1+d1*x))& mm[4]; VALUE=!e(d2=5*log(d1*d2))& mm[5]; VALUE=!e(d3=(1+epsilon)*log(6*x/d2))& mm[6]; VALUE=!e(d4=log(1+2*x))& mm[7]; VALUE=!e(d4=epsilon*log(2*x/d4))& mm[8]; VALUE=!e(W=Km*(d3-d4)+K1)


Semi-parametric method?Represent S(t) by f (t) = Φ(t)β,e.g. beta spline


Semi-parametric method?Represent S(t) by f (t) = Φ(t)β,Requiref ′ (t) ≃ V maxf (t)K m + f (t) .e.g. beta spline


Semi-parametric method?Represent S(t) by f (t) = Φ(t)β,RequireMinimizen∑{s i − f (t i )} 2 + λi=1f ′ (t) ≃ V maxf (t)K m + f (t) .n∑i=1e.g. beta spline{f ′ (t i ) − V }maxf (t i ) 2K m + f (t i )


Semi-parametric method?Represent S(t) by f (t) = Φ(t)β,RequireMinimizeorn∑{s i − f (t i )} 2 + λi=1i=1f ′ (t) ≃ V maxf (t)K m + f (t) .n∑i=1e.g. beta spline{f ′ (t i ) − V }maxf (t i ) 2K m + f (t i )n∑∫ {{s i − f (t i )} 2 + λ f ′ (t) − V }maxf (t) 2dtK m + f (t)


Nested minimization[ n∑ ∫ {min min {s i −f (t i )} 2 +λ f ′ (t)− V }maxf (t) 2dt]{V max ,K m} βK m + f (t)i=1where f (t) = Φ(t)β, B-spline(Cao et al., Biometrics, 2011)


Semi-parametric methodFit spline <strong>to</strong> (S, t) <strong>data</strong>, conforming <strong>to</strong> MM, but ...◮ Large number of non-linear parameters.


Semi-parametric methodFit spline <strong>to</strong> (S, t) <strong>data</strong>, conforming <strong>to</strong> MM, but ...◮ Large number of non-linear parameters.◮ Need expressions for gradients (Ramsay et al., JRSS,2007.)


Semi-parametric methodFit spline <strong>to</strong> (S, t) <strong>data</strong>, conforming <strong>to</strong> MM, but ...◮ Large number of non-linear parameters.◮ Need expressions for gradients (Ramsay et al., JRSS,2007.)◮ Arbitrary tuning parameter, λ,


Semi-parametric methodFit spline <strong>to</strong> (S, t) <strong>data</strong>, conforming <strong>to</strong> MM, but ...◮ Large number of non-linear parameters.◮ Need expressions for gradients (Ramsay et al., JRSS,2007.)◮ Arbitrary tuning parameter, λ,◮ Estimate λ by cross-validation


Semi-parametric methodFit spline <strong>to</strong> (S, t) <strong>data</strong>, conforming <strong>to</strong> MM, but ...◮ Large number of non-linear parameters.◮ Need expressions for gradients (Ramsay et al., JRSS,2007.)◮ Arbitrary tuning parameter, λ,◮ Estimate λ by cross-validation◮ Programming


A GenStat procedureProcedure MICHAELISM.C. Hannah (May, 2011)1. PurposeFits <strong>Michaelis</strong>-<strong>Menten</strong> curve <strong>to</strong> <strong>substrate</strong> <strong>concentration</strong> vs time <strong>data</strong>2. DescriptionThe <strong>Michaelis</strong>-<strong>Menten</strong> non-linear curve, for biochemical reaction rate versus <strong>substrate</strong><strong>concentration</strong>,dS(t)VmaxS(t)v( t)= =dt K + ,mS(t)can be fitted in GenStat using FITCURVE [CURVE=ldl]. However, in practice, <strong>data</strong> areavailable only for <strong>substrate</strong> <strong>concentration</strong>, S, at time t, and not for the reaction rate, v. Thefunction S(t), that is the solution <strong>to</strong> this differential equation, has no closed form expression.The procedure MICHAELIS fits the curve S (t)versus t, obtaining parameter estimates forV max , K m and, if required, S 0 (the initial <strong>substrate</strong>) and, also if required, an additive constantK 1 representing the quantity of non-reactive <strong>substrate</strong>. This generalized <strong>Michaelis</strong>-<strong>Menten</strong>curve is thus,dS(t)Vmax[ S(t)− K1]= .dt K + S(t)− Km1


4. OptionsPRINT = stringPLOT = stringWINDOW = scalarTITLE = textXTITLE = textYTITLE = textWEIGHTS = variateI: strings {model, deviance, summary, estimates,correlations, fittedvalues, moni<strong>to</strong>ring;default mode, summ, esti printed output (same as forFITNONLINEAR)I: requests graphs, strings {fitted, rate }; defaultfitted.I: scalarI: Title of S vs t graph; default, ‘Fitted <strong>Michaelis</strong>-<strong>Menten</strong> solution’I: Title for x-axis; default the TIME identifierI: Title for y-axis; default the CONCENTRATION identifierI: weights for use in FITNONLINEAR5. ParametersCONCENTRATION = variate I: Substrate <strong>concentration</strong> <strong>data</strong>TIME = variate I: Times at which <strong>substrate</strong> <strong>concentration</strong> <strong>data</strong> were measuredINITIAL = variate I: optional initial values for parameters !(Vm, Km, K1, W0).Generally not required, but must be in correct order, if supplied.STEP = variate I: optional step lengths for parameters (see GenStat directivesRCYCLE and FITNONLINEAR). If supplied, these must be incorrect order, !(Vm, Km, K1, W0). A zero will hold thecorresponding parameter at its initial value.FINAL = variate O: Final parameter estimates; !(Vm, Km, K1, W0)VCOV = symmetric O: matrix, vcov for estimatesFITTED = variate O: Fitted <strong>concentration</strong>FRATE = variate O: Fitted reaction rate


MICHAELIS CONC=S; TIME=ElapsDays


MICHAELIS CONC=S; TIME=ElapsDays357 MICHAELIS CONC=S; TIME=ElapsDaysInitial parameter valuesVm_i Km_i K1_i S0_i4.511 447.5 34.88 2627Nonlinear regression analysisResponse variate: SWeight variate: WtsNonlinear parameters: Vm, Km, K1, S0Model calculations: mm[1], mm[2], mm[3], mm[4], mm[5], mm[6], mm[7], mm[8]Summary of analysisSource d.f. s.s. m.s. v.r.Regression 4 137399158. 34349789.5 111690.71Residual 48 14762. 307.5Total 52 137413920. 2642575.4Percentage variance accounted for 100.0Standard error of observations is estimated <strong>to</strong> be 17.5.Message: the following units have large standardized residuals.Unit Response Residual1 2589.4 -2.41Estimates of parametersParameter estimate s.e.Vm 5.1627 0.0980Km 293.2 28.3K1 200.7 10.6S0 2635.97 5.48


MICHAELIS CONC=S; TIME=ElapsDays


MICHAELIS CONC=S; TIME=ElapsDaysRGRAPH INDEX=ElapsDays


MICHAELIS CONC=S; TIME=ElapsDaysRGRAPH INDEX=ElapsDaysRCHECK


MICHAELIS CONC=S; TIME=ElapsDaysRGRAPH INDEX=ElapsDaysRCHECKMICHAELIS [PLOT=#,Rate] CONC=SubConc; \TIME=ElapsDays


Fix K 1 = 0 (original <strong>Michaelis</strong>-<strong>Menten</strong>.)MICHAELIS CONC=SubConc; TIME=ElapsDays; \INITIAL=!(*,*,0,*); STEP=!(*,*,0,*)


Fix K 1 = 0 (original <strong>Michaelis</strong>-<strong>Menten</strong>.)MICHAELIS CONC=SubConc; TIME=ElapsDays; \INITIAL=!(*,*,0,*); STEP=!(*,*,0,*)Estimates of parametersParameter estimate s.e.Vm 6.550 0.322Km 850.3 99.7K1 0 *S0 2648.2 12.7


Leonor <strong>Michaelis</strong> Maud <strong>Menten</strong>, 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!