Why Your Lineweaver-Burk Plot Is Lying To You
I spent three days last month trying to get enzyme kinetics data to fit a textbook curve, only to realize my substrate concentrations were all clustered in the wrong range. The Michaelis And Menten Equation is straightforward on paper, but applying it to real lab data is where things get messy. The equation itself is V = (Vmax × [S]) / (Km + [S]). That's it. V is reaction velocity, Vmax is maximum velocity, [S] is substrate concentration, and Km is the Michaelis constant. When velocity hits half of Vmax, the substrate concentration equals Km. That's the practical definition. Everything else is just rearrangement for linearization. The traditional way people learn to extract Km and Vmax is by taking initial rates at different substrate concentrations, then plotting those points on a double-reciprocal Lineweaver-Burk plot. 1/V versus 1/[S]. The y-intercept gives 1/Vmax and the x-intercept gives -1/Km. It's taught in every biochemistry class because it turns a hyperbola into a line, and lines are easier to fit by hand. But it's also the source of most errors.
Here's the thing nobody tells you: the double-reciprocal transformation weights your data badly. Points at low substrate concentrations get magnified enormously because you're taking reciprocals of small numbers. A tiny experimental error at [S] = 0.1 mM becomes a massive vertical displacement on the plot. I've seen Km values shift by 40% simply because one outlier point near the origin pulled the regression line with it. The nonlinear least-squares fit on the original hyperbolic equation is almost always more accurate, but it requires proper fitting software rather than a piece of graph paper and a ruler.
Fitting The Michaelis And Menten Equation Without Losing Your Mind
If you have access to any curve-fitting tool, Python with scipy.optimize.curve_fit, GraphPad Prism, or even a decent Excel Solver setup, just fit the raw velocity data directly to the hyperbolic equation. Don't transform it. Don't plot reciprocals. Feed the software the actual [S] and V pairs and let it minimize the sum of squared residuals on the original scale. For the nonlinear fit to converge reliably, your initial guesses matter more than you'd think. If you set Vmax_guess too low, the optimizer might stall. A reasonable starting point is the highest measured velocity in your dataset, and Km_guess should be roughly the substrate concentration where you first observe velocity approaching that maximum. I usually grab the [S] value nearest to half of Vmax_guess and use that as Km_guess. This cuts convergence time from several minutes down to a few seconds on typical datasets of 8 to 12 data points. I ran into a specific edge case recently that took me far too long to diagnose. I was measuring a phosphatase reaction where the substrate was fluorescent, and at high concentrations the inner filter effect was suppressing the signal. The velocity readings actually decreased after a certain [S] threshold, creating a false downturn in the curve that the fitting software interpreted as substrate inhibition rather than an artifact. The Michaelis And Menten Equation has no term for substrate inhibition, so the fit was garbage. Km came out absurdly low and Vmax was half of what it should have been.
Get the Full Details

The workaround was to measure absorbance at the excitation wavelength across all substrate concentrations first, calculate the fraction of light actually reaching the fluorophore, and correct the velocity readings before any fitting. Once corrected, the hyperbolic curve behaved normally. That inner filter correction added about twenty minutes of prep work but saved me from publishing a fundamentally wrong Km value. I'd rather spend twenty minutes on corrections than twenty days on recalculation after peer review. There are limitations to this approach that are worth stating plainly. The Michaelis-Menten model assumes steady-state conditions, meaning the enzyme-substrate complex concentration is constant over the measurement window. If your initial rate measurements are taken too late, product accumulation can drive reverse reactions or allosteric effects kick in, and the data will deviate from the model regardless of how well you fit it. It also assumes a single substrate binding site or non-cooperative multisite behavior. If your enzyme shows cooperativity, the hyperbolic equation is the wrong model and you need the Hill equation instead. Fitting cooperative data to Michaelis-Menten will give you a Km that means nothing and a curved residual plot that you'll ignore at your peril. Another practical issue is that Km is not a binding affinity constant in most cases. Beginners often treat it as the dissociation constant Kd, which is only true when the catalytic step is much slower than substrate dissociation. For most enzymes, kcat is comparable to or faster than koff, so Km reflects a combination of binding and catalytic rates. If you need actual binding affinity, run an independent equilibrium binding experiment like ITC or SPR. Don't confuse the two.
For quick estimation without software, the Eadie-Hofstee plot plots V versus V/[S]. It avoids the reciprocal distortion of Lineweaver-Burk, though it plots V on both axes which makes error analysis messier. It's better than double-reciprocal for rough work but still inferior to nonlinear regression. The Hanes-Woolf plot of [S]/V versus [S] is another option with less weighting distortion, but again, nonlinear fitting handles all of this correctly in a fraction of the time. If you're working with very tight substrate concentration ranges below Km, the curve is essentially linear and you can't reliably separate Km from Vmax. You need data spanning at least 0.1×Km to 10×Km for a stable fit. That means you need a rough prior estimate of Km before designing your experiment, or you run a broad screening set first and then refine with a targeted range. Skipping this step is the most common mistake I see in undergraduate and early graduate labs, and it produces Km values with confidence intervals wider than the values themselves. There's also a practical note about error structure. Enzyme kinetics data typically has heteroscedastic variance, meaning the error scales with the magnitude of the measurement. Standard nonlinear least squares assumes homoscedastic errors, so fitting without weighting can bias your parameters. Weighting by 1/V² or using a general linear model with appropriate variance structure corrects this, though for well-behaved data the difference is usually small enough to ignore. I only bother with weighting when I'm pushing for publication-quality parameter estimates or when the velocity range spans more than an order of magnitude.
The bottom line is that the Michaelis And Menten Equation itself is simple, but extracting reliable parameters from experimental data requires attention to substrate range, proper fitting method, and awareness of when the model doesn't apply. Most of the problems people encounter aren't mathematical, they're experimental design failures or model mismatch. Get the data right and the fitting is trivial. Get the data wrong and no amount of curve fitting will save you.
