MLAB (Modeling LABoratory) is a mathematical modeling program designed to fit data to curves, solve differential equations, apply many mathematical and statistical functions, and create graphs. MLAB is similar to other mathematically-based computer programs in its ability to perform extensive mathematical and statistical operations. Most of these programs are designed for solving problems in the physical sciences, whereas MLAB is designed to solve problems in the biological sciences.

On the surface, the type of scientific environment in which a mathematical program was developed should not be important to the user; but users usually adapt previously-solved examples to solve their own problems. The examples demonstrate ways to solve particular problems special to the user's field. The biomedical examples used to demonstrate MLAB's capabilities make MLAB unique.

The MLAB Applications Manual begins with a discussion of how curve fitting minimizes the weighted sums of squares. Ideally, the model can be either linear or nonlinear; the data points are weighted to achieve the best fit to the desired model.

A model and a function are not the same thing. A function relates one variable (*y*, the dependent variable) to another variable (*x*, the independent variable) in the form
*y =f(x)*. A model is a combination of functions that describes some natural phenomenon, whether physical or biological. Thus, a model, *M*, may be composed of several functions, *M=f(x)/g(x)*, for example.

A linear model is one in which the parameters (*b0*, ..., *bj*) are first-order power multipliers of terms (functions of *x*, such as *x*, *x^2*, *sin(x)*, etc.), and these terms contain no other multipliers. The function *f(x)=b0+b1*x* is a linear function and also a linear model because *b0* and *b1* are raised only to the first-order power, and the terms of *x* have no other multipliers. The parameters *b0* and *b1* can be found by linear regression analysis because the model is a linear combination of a *b0* and *b1*x*. The advantage of linear models is that the parameters *b0* and *b1* can be exactly solved for from the equation

(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . *b=(X^T * X)^(-1) * X^T * y*

as long as the inverse of *(X^T * X)* exists, where *b* represents the parameters, *X* represents the terms of the model for each value of *xi*, *X^T* represents the transpose of *X*, and *y* represents each value of *yi*.

A linear model may be composed from both linear and nonlinear functions as long as the composition is in the form of a linear combination of terms. Thus, *g(x)=b0+b1*x+b2*x^2* is a linear model because it is a linear combination of the terms of *x*. The parameters or coefficients are all first-order power and the terms *x* and *x^2* are without other multipliers. One can solve directly for the parameters *b0*, *b1*, *b2*, by Eq. 1. Other functions can be linearly combined to form a linear model, such as *h(x)=b0+b1*x+b2*x^2+b3*sin(x)+b4*log(x)*, and one can find the parameters *b0*, *b1*, *b2*, *b3*, and *b4* by linear regression analysis. The advantage of linear models is that one can solve the equations with one or two iterations. Many programs can perform linear regression analysis with ease.

Many models in biology are nonlinear and the parameters cannot be found by linear regression analysis. *f(x)=b1*x/(b0+b1*x)* is a nonlinear combination of the functions *b1*x* and *b0+b1*x*. One cannot find the parameters by linear regression analysis without linearization of the equation. To find the parameters, one must perform repeated iterations with different values of the parameters for all values of *x* and *y* to minimize the equation *SS=sum[yi-(b1*xi/(b0+b1*xi))]^2*. Performance of such nonlinear regression analysis requires special programming, and one has no guarantee that one will minimize the sum of squares *(SS)* or that this will not take an inordinate number of iterations. Where programming for linear regression analysis was relatively easy, programming for nonlinear regression analysis is not. MLAB was specifically designed to perform nonlinear regression analysis efficiently and accurately.

In biological problems, one often turns to nonlinear models because linear models are insufficient models for studying the binding of ligands to large molecules, as occurs with immunoassays and receptor studies. Nonlinear models are necessary for these complex biological studies and offer a better estimate of binding constants than do linear models. Many modeling programs can fit the equation for a single binding site for a ligand, which MLAB does with ease. In addition, MLAB is designed to perform simultaneous curve-fitting, such as occurs with multiple site binding, a much more complex curve-fitting problem.

MLAB provides many other examples of biochemical and biological problems. Ultracentrifuge analysis depends on parameters in exponential equations. Second-order binding involves the interaction of two chemical species to form one bound product, as used in enzyme kinetics. Linear and nonlinear models may be used, but the linear transformations result in biased values for the equilibrium or saturation constants. MLAB allows the use of nonlinear models to find more accurate values for these constants. The nonlinear model becomes more important as one investigates more sophisticated problems, such as those with cooperative binding or step-wise multiple-site binding. MLAB can also deal with complex physiological models, such as the Hodgkin-Huxley nerve axon model, as well as compartmental-pharmacological models with delays.

MLAB provides the ability to produce many different types of graphs, from *x-y* pairs with several different curves appearing simultaneously to contour plots and vector fields, from polar graphs to dendrogram (tree) plots. MLAB allows one to control point size and shape as well as fonts. The graphs can be saved in PostScript format, allowing one to place them in other programs.

MLAB is a mathematical and statistical modeling program offering a broad range of functions and tools. It has been designed especially to deal with biochemical, physiological, pharmacological, and other biomedical problems. Its emphasis on biological problems makes it unique among mathematical and statistically oriented programs. One can learn much about biological modeling from the numerous examples offered with the program. Its long development (over 25 years) and use at the National Institutes of Health has helped make its use both smooth and easy. It is available in several formats: Windows, DOS, Intel-NeXT, Motorola NeXT, Macintosh, and Unix. I ran it under the DOS format on a 486 IBM-clone, 66Hz, with 16 MB of RAM, and found the program to run fast (results appeared almost instantly). Furthermore, the program occupies less than 2.5 MB on the hard disk. It is a great asset for any biological or medical worker dealing with mathematical or statistical modeling, whether curve-fitting or performing differential equations. It is especially good for dealing with immunoassay or receptor assays.

Martin H. Kroll The Johns Hopkins Medical Institutions 600 North Wolfe St., Meyer B-125 Baltimore, MD 21287

Copyright 1994, Clinical Chemistry, All rights reserved. Reprinted without permission.

Send comments to: webmaster@civilized.com