# MMFIT: help and advice

Consult the reference manual (w_manual.pdf) and tutorials (w_examples.pdf) for further details and worked examples.
W.G.Bardsley, University of Manchester, U.K.

Note: sv_mmfit only fits models for rate increasing as a function of substrate concentration
Program MMFIT is designed to fit enzyme kinetic models models to situations like

- one simple Michaelis-Menten enzyme:
- one enzyme with several independent kinetically distinct active sites: or
- a mixture of non-interacting Michaelis-Menten isoenzymes.

Program HLFIT fits similar models, but with association constants instead of dissociation constants, program SFFIT fits cooperative binding models, program RFFIT fits positive rational function models if features like substrate inhibition are present, while program QNFIT allows individual parameters to be constrained, and also supports using the best-fit model as a standard curve for calibration.

The simple Michaelis-Menten equation

The initial rate version of this quasi steady state enyme kinetic model in irreversible mode, i.e. when [P] = 0, is encountered in three main situations.

1. Substrate mode: rate increases as a function of [S]
   When substrate is acting as an activator with no other effectors present the equation is

   v(S) = Vmax[S]/(Km + [S])

   so that two parameters, such as Vmax and Km, can be estimated and the half saturation point, i.e. median effective concentration (or dose, ED50) is given by

   EC50 = ED50 = Km.

2. Inhibitor mode (1): rate decreases as a function of [I]
   When substrate is fixed and a classical reversible type inhibitor [I] is varied the most general equation is

   v(I) = Vmax[S]/(Km{1 + [I]/Ki1} + [S]{1 + [I]/Ki2})

   so that only two independent two parameters can be estimated, e.g.
   Vmax[S]/{Km/Ki1 + [S]/Ki2} and (Km + [S])/{Km/Ki1 + [S]/Ki2}.
   The half inhibition point is given by

   IC50 = Ki1*Ki2(Km + [S])/{Km*Ki2 + [S]*Ki1}

   where it is understood that Ki2 is infinite for competitive inhibition, Ki1 is infinite for uncompetitive inhibition, Ki1 and Ki2 are both finite for mixed inhibition, and Ki1 = Ki2 for noncompetitive inhibition. Note that, when [S] is comparable to Km, IC50 is comparable to the inhibition contants.

3. Inhibitor mode (2): rate decreases as a function of unlabeled substrate
   From the point of view of curve fitting, the only difference between this mode and the inhibitor mode with [I] varied is in the definition of reactants and apparent kinetic constants. Here unlabelled substrate [Cold] is used as an ihibitor of the flux of isotopically labelled substrate [Hot]. That is, the labelled substrate [S] = [Hot] is fixed and unlabelled substrate [I] = [Cold] is added in isotope displacement mode when the equation is

   v([Cold]) = Vmax[Hot]/({Km + [Hot]} + [Cold])

   so that two parameters, such as Vmax[Hot] and {Km + [Hot]}, can be estimated and the half saturation point is given by

   IC50 = Km + [Hot].

Advice concerning muliple active sites

If the enzyme has multiple but independent sites, or else there is a mixture of isoenzymes with differing kinetic constants, the curve fitting is much more difficult, and comparable simple explicit expressions are not available for the apparent kinetic constants. However, at solution points, the apparent Vmax and Km values can easily be estimated numerically from the best-fit parameters. The extension of this model to two or more sites is considered next but, in reality, it is seldom possible to justify more than two sites by goodness of fit, graphical, or statistical techniques.

Note that n multiple independent sites on 1 enzyme, a mixture of n kinetically distinct independent isoenzymes, or 1 enzyme with n negatively cooperatively linked sites cannot be differentiated by fitting this multi-Michaelis-Menten model, as all give non-sigmoidal saturation curves and uniformly concave down double reciprocal plots. Program RFFIT must be used to fit sigmoid curves, substrate inhibition, or similar deviations from Michaelis-Menten kinetics.

A further point is that the pairwise parameters have no unambigious order, as the model is a sum of independent sub-models. So, in order to facilitate the comparison of parameters estimates with different data sets, the parameters are sorted on output into increasing order of amplitude parameters. In other words, in the sequence

Vmax(1), Km(1), Vmax(2),Km(2), ..., Vmax(n),Km(n), ...

the parameters have been sorted so that

Vmax(1) =< Vmax(2) =< ... =< Vmax(n)

Program MMFIT will probably be able to automatically locate starting estimates for n =< 3 but, in the unlikely event of requiring n > 3, you may have to supply starting estimates, or use program QNFIT, with starting estimates and limits appended to the data file using the begin{limits} ... end{limits} technique, or provided as a parameter limits file. Using program QNFIT in this way, the ordering of parameters can be arranged to be unique.

The multi-Michaelis-Menten model

In multi-activation mode this program fits the enzyme kinetic model

y = Vmax(1)x/(Km(1) + x) + Vmax(2)x/(Km(2) + x) + ... + Vmax(n)x/(Km(n) + x)

where y = initial rate of enzyme catalysed reaction (d[P]/dt), Vmax (i) >= 0, Km(i) >= 0 and n is the model order. Note that n is the number of kinetically distinct independent Michaelis-Menten isoenzymes and x = [total substrate]. The apparent Vmax (Vmax(1) + Vmax(2) + ... + Vmax(n)) and half saturation point (apparent Km) are calculated numerically. Alternatively the Vmax(i) can be interpreted as proportional to numbers of distinct binding sites, when x would be ligand concentration and Km(i) would be dissociation constants. Normally you would only require order n = 1 but if your data are good then you can see if order n = 2 gives statistically significant improvement. Only if the data are very extensive and of high quality is there any point in trying n >= 3 as model-discrimination/parameter-estimates will be unreliable. Data for analysis must be in a formatted file which you can prepare/edit-weight using programs MAKFIL/EDITFL.

In multi-inhibition mode this program fits the reversible inhibitor model

y = V(1)/(K(1) + x) + V(2)/(K(2) + x) + ... + V(n)/(K(n) + x)

which is, of course, formally equivalent to the isotope-displacement model to be discussed next, except that x is the inhibitor concentration.

In multi-isotope displacement mode this program fits the isotope displacement model

y = V(1)/(K(1) + x) + V(2)/(K(2) + x) + ... + V(n)/(K(n) + x)

where y = initial rate of uptake of label (i.e. d[Hot]/dt), V(i) and K(i) are now apparent constants and n is the model order. Note that n is the number of kinetically distinct independent Michaelis-Menten transporters and x = [Cold], i.e. unlabelled. The max. rate (V(1)/K(1) + V(2)/K(2) +...+ V(n)/K(n)) and half saturation point (apparent Km) are calculated numerically. You have to use conc. of isotope ([Hot]) for kinetic constants since V(i) = {[Hot]*Vmax(i)} and K(i) = {Km(i) + [Hot]}. Note that y is a decreasing function of x = [Cold]. Normally you would only require order n = 1 but if your data are good then you can see if order n = 2 gives statistically significant improvement. Only if the data are very extensive and of high quality is there any point in trying n >= 3 as model-discrimination/parameter-estimates will be unreliable.

To summarise:
isotope inhibition mode is used when rate of uptake of [Hot] substrate is estimated as a decreasing function of [Cold] substrate.

Checking the data before analysis

Program MMFIT first checks to make sure that the data provided are consistent, i.e. x >= 0 and in increasing order, y >= 0 and std. errors s >= the lowest limit allowed for weighting. You will be warned if the data do not satisfy these criteria or if the units of measurement are too large or too small. You should always choose units such that x and y are of order unity. The program then checks the data to identify replicates and so avoid unneccessary repeat function evaluation before scaling to order unity internally.

Choosing starting estimates

Program MMFIT then does a number of calculations with the data in order to estimate the parameters by algebraic procedures. Then a global random search is carried out to see if better estimates can be located, and finally a local directed random search is done to seek further improvement. However, you can input your own starting estimates if required. From the final starting estimates a diagonal parameter scaling matrix is constructed so that internal parameters are of order unity. Random searching for starting estimates is unlikely to succeed with higher order models, so manual input may be necessary, say with more than two isoenzymes. However, in this situation, using program QNFIT in expert mode is a much better technique.

Goodness of fit and model discrimination

Before accepting a higher order model, the goodness of fit and model discrimination statistics should be consulted. In particular, graphical deconvolution to show the contributions of individual component functions to the overall sum should be inspected, to make sure all components are making an appreciable contribution. Only if a higher order model is both suggested by the statistical tests and supported by a convincing graphical deconvolution should a higher order model be preferred over a lower order one.

An important note about pairwise parameter indices

With more than one Michaelis-Menten function it is arbitrary which is Vmax(1) and which is Vmax(2), etc. since this depends on starting estimates. However Vmax(i)/Km(i) pairs are linked. This must be remembered if tests are carried using the Simfit procedures to store parameters and covariance matrices for retrospective testing on the same model fitted to different data sets. To aid this, the indices for best fit parameters are rearranged after fitting so that parameter pairs are output in order of increasing amplitudes, i.e. Vmax values.

Data file format and test files

The data file must have columns of x, y (and s?) where x is the substrate concentration, y is the rate and s the standard error of y (s can be omitted or set = 1 for no weighting). Replicates must be provided, not means of replicates, and x, y and s must be nonnegative. Also x must be in nondecreasing order. Try the test file mmfit.tf4 in substrate mode for an example of data for two kinetically distinct isoenzymes with the same substrate, or the test file hotcold.tf1 for isotope displacement mode.

Precision

MMFIT terminates when either the relative change in objective function (wssq/ndof) or infinity norm of the projected gradient vector are less than tolerance values (set by factr and pgtol). Finite differences and default tolerance should be used unless you have a special need for the longer run time but more precise results from using analytic gradients and high precision.

Explanations for the run-time options provided by this program

1. Choose the sequence of functions required
   - Lowest order (>= 1)
   - Highest order (=< 2)
   You can fit just one model if required by setting Lowest order = Highest order. Or, if the data are extensive (i.e. approaching the final horizontal aymptote) and of high quality, you can also try fitting the next model in the series in sequence to see if the better fit can be justified. Only in exceptional circumstances would order >= 3 be justified by the statistical tests employed by this program.

2. Choose the method to use for parameter starting estimates
   - Short Random search
   - Medium Random search
   - Extensive Random search
   - You input starting estimates
   This program scales the data internally to order unity by estimating the slope at the origin from the first few data points and the final asymptote from the last few data points. To improve upon the starting estimates obtained by this process a short random search can be used to seek for better starting estimates. When trying to fit higher order models a medium or extensive search can be used but, with order >= 3, it will normally be required to input your own starting estimates obtained by previous experimentation. In such cases it would probably be better to add the starting estimates to the data file using the {begin limits} ... {end limits} construction and use program QNFIT in the expert mode.

3. Choose the procedures required for this analysis
   - Display the goodness of fit analysis
   - Display values of starting estimates
   - Display details of any random search
   - Plot the best fit curves and data
   - Provide options to plot residuals
   - Display tables of (wtd.) residuals
   - Write residuals to results log file
   - Use analytic-gradient/high-precision
   - Store/test parameters/covariance-matrix
   - Display graphical deconvolution for order > 1

   If all these options are switched off, the program will simply calculate the fit then display a table of parameter estimates. However the default options also output goodness of fit criteria and plots of the data with best-fit curves. It is possible to use an explicitly calculated gradient vector rather than a finite difference estimation for the iterations, but this can slow the fitting down and is only ever required when investigating the convergence with higher order models. There is also an option to store the estimated parameters and covariance matrices for retrospective invesigation concerning model discrimination. Note that, when fitting models in sequence of increasing order, statistical tests are output for model discrimination. However, the most convincing argument for accepting a higher order model is to plot the contribution of the independent sub-models to the fit, which is loosely described as graphical deconvolution. Note that SIMFIT provides a facility to extract tables from the results log files to import into LaTeX documents or word processing programs.