Michaelis–Menten kinetics (fit Vmax and Km)
This calculator estimates the Michaelis–Menten parameters from paired data:
substrate concentration [S] and initial rate v. You can paste data or load a CSV.
If you have replicates at the same [S], the calculator can either use the replicate mean
(recommended) or fit all replicate points.
Model
The Michaelis–Menten model relates v to [S] as:
\[
\begin{aligned}
v &= \frac{V_{\max}[S]}{K_m + [S]}
\end{aligned}
\]
Vmax is the maximum rate approached at high substrate concentration.
Km is the substrate concentration at which the rate is half-maximal:
when [S] = Km, then v = 0.5 \cdot Vmax.
The main plot highlights this idea visually.
What the calculator fits (least squares)
A “best fit” means the parameters are chosen to make predicted rates as close as possible to the observed rates,
using a least-squares criterion:
\[
\begin{aligned}
v_{\text{fit},i} &= \frac{V_{\max}[S]_i}{K_m + [S]_i} \\
r_i &= v_{\text{obs},i} - v_{\text{fit},i} \\
\text{SSE} &= \sum_{i=1}^{n} r_i^2
\end{aligned}
\]
The calculator reports:
- RMSE (root mean square error): a typical size of the residuals, in the same unit as v.
-
R2: shown as a descriptive summary. For nonlinear models it is not a perfect “goodness” guarantee,
so always inspect the residual plot.
Replicates at the same [S]
If you have repeated measurements at the same substrate concentration, there are two common ways to use them:
-
Use replicate means (recommended): each unique [S] contributes one averaged point.
This avoids giving extra weight to concentrations that were measured more times.
-
Use all points: every replicate enters the fit separately, which effectively weights that [S] more.
Fit methods in this calculator
1) Nonlinear fit (recommended)
This method fits the original Michaelis–Menten equation directly (no transformation).
It is generally preferred because it keeps the data in their natural scale and avoids the distortions that can appear
with linearization.
2) Linearized check (Lineweaver–Burk)
For learning and comparison, the calculator can also show a linearized approach:
\[
\begin{aligned}
\frac{1}{v} &= \frac{K_m}{V_{\max}}\cdot \frac{1}{[S]} + \frac{1}{V_{\max}}
\end{aligned}
\]
A straight-line fit is done on 1/v vs 1/[S].
The slope and intercept then give:
\[
\begin{aligned}
\text{slope} &= \frac{K_m}{V_{\max}} \\
\text{intercept} &= \frac{1}{V_{\max}} \\
V_{\max} &= \frac{1}{\text{intercept}} \\
K_m &= \frac{\text{slope}}{\text{intercept}}
\end{aligned}
\]
Important: linearization changes the error structure (small rates become very influential after inversion),
so this is best treated as a teaching/diagnostic view rather than the primary estimator.
Residual plot (why it matters)
Residuals are:
\[
\begin{aligned}
r_i = v_{\text{obs},i} - v_{\text{fit},i}
\end{aligned}
\]
If the model is appropriate, residuals should look like random scatter around zero.
Patterns (curvature, increasing spread, clusters) can suggest issues such as:
poor initial-rate measurements, substrate inhibition, allosteric behavior, or changing experimental error across [S].
Optional enzyme-normalized outputs
If you provide total enzyme concentration [E]T, the calculator can compute:
\[
\begin{aligned}
k_{\text{cat}} &= \frac{V_{\max}}{[E]_T} \\
\frac{k_{\text{cat}}}{K_m} &= \frac{k_{\text{cat}}}{K_m}
\end{aligned}
\]
Units depend on how you expressed v. To interpret kcat as a turnover number (1/time),
v should be in concentration/time and use the same concentration basis as [E]T.
Practical tips
- Use a wide range of [S] values, including values below and above Km.
- If you have replicates, using means usually gives a more balanced fit.
- Check the residual plot before trusting the parameters.
- Be consistent with units (especially if you want kcat and kcat/Km).