Michaelis-Menten equation1 is a well-known model in biochemistry for enzyme kinetics. This takes the concentration of a certain substrate
$v=\frac{V_{max}[S]}{K_{M}\enspace+\enspace[S]}$
where
$v=\frac{V_{max}[S]}{\left(1\enspace+\enspace\frac{[I]}{K_I}\right)K_M\enspace+\enspace[S]}$
where
I made this R script to calculate the rate of the reaction via Michaelis-Menten and also with the possibility to use Lineweaver-Burk linearization:
$\frac{1}{v}=\frac{K_M}{V_{max}}\cdot\frac{1}{[S]}+\frac{1}{V_{max}}$
... and
$\frac{1}{v}=\left(1 + \frac{[I]}{K_I}\right)\frac{K_M}{V_{max}}\cdot\frac{1}{[S]}+\frac{1}{V_{max}}$
When given rate in presence of the inhibitor and its corresponding concetration
You can download michaelis_functions.R
and import to your project:
source('michaelis_functions.R')
This script has two functions: michaelis.eq()
and michaelisPredict()
.
Function | Usage |
---|---|
michaelis.eq() |
Calculate the rate of the reaction (or its inverse) given the substrate concentration, Vmax and Km. Calculate the rate in presence of an inhibitor if inhibition factor inh.factor is present. |
michaelisPredict() |
Predict Vmax and Km values given the substrate concentration and rate of the reaction. When an inhibitor is present (given rate in presence of the inhibitor rate.inh and inhibitor concentration inh.conc ), values for KI and inhibition factor are predicted besides type of inhibition. When inhibition is non-competitive, Vmax is divided into Vmax with no inhibition and Vmax with inhibition. |
michaelis.eq()
has five arguments:
- substrate: Substrate concentration
- Vmax: Maximum rate of the reaction
- Km: Michaelis constant
- inh.factor: Inhibition factor
- linear: Lineweaver-Burk linearization. Calculate the inverse of the reaction rate. Defaults to
FALSE
michaelisPredict()
has four arguments:
- substrate: Substrate concentration
- rate: Rate of the reaction
- rate.inh: Rate of the reaction in presence of an inhibitor
- inh.conc: Inhibitor concentration
NOTE: If you want to calculate parameters of inhibition and type of inhibition with michaelisPredict()
, you always need to specify rate, rate.inh and inh.conc because they are calculated by comparison.
Here I loaded an spreadsheet with values for substrate concentration and rate of the reaction. I predicted
I also predicted and plot rates for competitive and non-competitive types of inhibition.
You can see an example in enzyme_example.R.
I have created a Shiny app that opens in web browser. I made a .bat
file and tested it on Windows only (the same should work for Linux via shell script .sh
file if I could create the file).
To open this app, follow these instructions:
-
Donwload and install R (RStudio is not necessary). If you can't or don't want to install the program, you can donwload R Portable and unpackage it in
app
folder. NOTE: you will also need to installshiny
,ggplot2
andplotly
in order to the app to run. -
Open
executeApp.bat
and edit the third line containing the path to theRscript.exe
:
-
If you downloaded R from The R Project, this path is often
C:\Program Files\R\R-x.x.x\bin
. Check where you have installed R.@echo off C: PATH "C:\Program Files\R\R-x.x.x\bin" cd "%~dp0" Rscript "%~dp0enzymeApp.R" exit
-
If you downloaded R Portable and unpackaged it in
app
folder, the path is often%~dp0\R-Portable\App\R-Portable\bin
(%~dp0
calls dinamically for the path where the files are located).@echo off C: PATH "%~dp0\R-Portable\App\R-Portable\bin" cd "%~dp0" Rscript "%~dp0enzymeApp.R" exit
- Save the
.bat
file and run it. It should open a command line where you will see a port at the end likehttp://127.0.0.1:xxxx
. Copy this port and paste in a web browser.
- In the web browser, you will see an interface like this. You can visualize the plot as hyperbole or line and enter Michaelis constant, Vmax and substrate concentrations.
-
Srinivasan, B. (2021), A guide to the Michaelis–Menten equation: steady state and beyond. FEBS J. https://doi.org/10.1111/febs.16124
-
Lopina, O. D. (2017). Enzyme Inhibitors and Activators. IntechOpen. https://doi.org/10.5772/67248