Fitting the Michaelis–Menten Equation in SciDAVis
Enzyme kinetics lives on one curve: reaction rate v versus substrate concentration [S], rising steeply and flattening toward a maximum. The Michaelis–Menten model describes it:
v = Vmax · [S] / (Km + [S])
where Vmax is the maximum rate and Km (the Michaelis constant) is the substrate concentration at half-maximum rate. SciDAVis has no built-in Michaelis–Menten model, but its Fit Wizard accepts any custom formula — so you can fit this classic properly, with real parameter errors, instead of eyeballing it or linearizing it away. Back to all tutorials.
Version note: written for v2.9.x (SourceForge binaries are 2.8). The Fit Wizard and muParser formula language are identical in both. If you’re new to fitting in SciDAVis, read our general curve-fitting guide first — this tutorial builds on it.
Step 1 — Prepare and plot your data
- Put substrate concentrations in one table column (X) and measured initial rates in another (Y).
- Select both columns and create a Scatter plot from the Plot menu. Check the shape first: you should see a rising curve that levels off. If the highest [S] points are still climbing steeply, your data may not reach saturation — Km will be poorly determined, and no software can fix that.
- Click the curve in the graph so it is selected — the Fit Wizard operates on the active curve.
Step 2 — Enter the custom formula in the Fit Wizard
- Open Analysis → Fit Wizard (or press Ctrl+Y).
- Under the model category, choose User-defined.
- Type the formula in muParser syntax — the same expression language SciDAVis uses for column formulas. The independent variable is
x; declare your two fit parameters as names:
Vm*x/(Km+x)
- In the parameter list, enter
Vm, Km— every name in the formula must be declared as a parameter to fit. - Set sensible units in your head now: if your rates are in µmol/min and [S] in mM, then Vm comes out in µmol/min and Km in mM. SciDAVis doesn’t track units — you do.
Step 3 — Give good initial guesses (this is where fits fail)
Nonlinear fitting is iterative: the algorithm refines your guesses, and bad guesses converge to nonsense. This exact failure — fitting Michaelis–Menten and getting garbage — is a real, documented user struggle on the SciDAVis forums. The fix is always the same: read the starting values off the plot.
| Parameter | What it means on your plot | How to guess it |
|---|---|---|
| Vm (Vmax) | The plateau height — the rate your data levels off toward | Read the Y-value where the curve flattens. If no clear plateau, guess slightly above your highest point. |
| Km | The [S] at which the rate is half of Vmax | Halve your Vm guess, find that Y on the curve, and read the corresponding X. That’s your Km guess. |
Don’t skip this step. Defaults like 1.0 for both parameters routinely fail to converge or land in a wrong local minimum — the classic “SOS” fitting thread. Thirty seconds reading two numbers off the plot saves an hour of debugging.
Step 4 — Run the fit and read the results
- Click Fit in the wizard. SciDAVis draws the fitted curve on your graph in red.
- Open the Results Log (log window): you’ll see Vm and Km each with a standard error, plus chi-square and R².
- Judge the fit with your eyes first: zoom in and check that the red curve passes through the data with residuals scattering randomly around it. A systematic S-shaped miss means the simple model is wrong (cooperativity, substrate inhibition — beyond this tutorial).
Sanity checks before you trust the numbers:
- Parameter errors vs. values: if the Km error is larger than Km itself, your data doesn’t pin down Km — you need more points in the low-[S] rising region.
- Does Km sit inside your data range? A fitted Km far above your highest [S] is an extrapolation, not a measurement. Say so in your report.
- Reproducibility: save the project (
.sciprj) — it stores the formula, parameters, and results together.
Should you linearize instead (Lineweaver–Burk)?
The old textbook trick — plot 1/v vs 1/[S] and fit a straight line — exists because scientists in the 1930s had no computers. It distorts your error structure: small measurement errors at low [S] become enormous errors in 1/[S], and the linear fit weights them wrongly. Direct nonlinear fitting of the Michaelis–Menten equation, as above, is the statistically correct modern practice. Linearization is fine for a quick classroom illustration; it is not how you report Km in a thesis.
Next steps: for the general fitting workflow — fit ranges, fixing parameters, weighting by error bars — see nonlinear curve fitting. Plotting on log concentration axes? See logarithmic scale axes. Finished? Export the figure for publication.
This page is maintained by an independent community resource site and is not affiliated with the SciDAVis developers.
