Title: | R-Enzymology |
---|---|
Description: | Contains utilities for the analysis of Michaelian kinetic data. Beside the classical linearization methods (Lineweaver-Burk, Eadie-Hofstee, Hanes-Woolf and Eisenthal-Cornish-Bowden), features include the ability to carry out weighted regression analysis that, in most cases, substantially improves the estimation of kinetic parameters (Aledo (2021) <doi:10.1002/bmb.21522>). To avoid data transformation and the potential biases introduced by them, the package also offers functions to directly fitting data to the Michaelis-Menten equation, either using ([S], v) or (time, [S]) data. Utilities to simulate substrate progress-curves (making use of the Lambert W function) are also provided. The package is accompanied of vignettes that aim to orientate the user in the choice of the most suitable method to estimate the kinetic parameter of an Michaelian enzyme. |
Authors: | Juan Carlos Aledo |
Maintainer: | Juan Carlos Aledo <[email protected]> |
License: | GPL (>= 2) |
Version: | 0.2.1 |
Built: | 2025-01-21 03:09:38 UTC |
Source: | https://github.com/cran/renz |
Discriminates between sequential and ping-pong mechanisms and estimates the kinetic parameters.
bibi(data, unit_a = "mM", unit_b = "mM", unit_v = "ua", vice_versa = FALSE)
bibi(data, unit_a = "mM", unit_b = "mM", unit_v = "ua", vice_versa = FALSE)
data |
either a dataframe or the path to a text file containing the data (see details). |
unit_a |
concentration unit for substrate A. |
unit_b |
concentration unit for substrate B. |
unit_v |
velocity unit. |
vice_versa |
logical. When FALSE the variable substrate is A. If TRUE, then the variable substrate is B. |
Either the txt file or the dataframe containing the data must conform to the following format: a table with three columns and as many rows as conditions were assessed. The first and second columns are named 'a' and 'b' and they give the concentrations for substrate A and B, respectively. The third column, named 'rate', provides the assessed rates.
A list with three elements: (i) a character vector giving the kinetic parameters Vmax, KiA, Km_A and Km_B values; (ii) a numeric vector giving the apparent inverse of Vmax for each concentration of substrate B (intercepts of primary representation); and (iii) a numeric vector giving the apparent specificity constant for each concentration of substrate B (slopes from primary representations).
bibi(data = hk)
bibi(data = hk)
Non-linear least-squares fitting of the Michaelis-Menten equation.
dir.MM(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
dir.MM(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
data |
a dataframe with two columns. The first column contains the values of the independent variable (substrate concentration), and the second column contains the initial rates. |
unit_S |
concentration unit. |
unit_v |
time unit. |
plot |
logical. If true, the data and fitted curve are plotted. |
This function invokes nls() to carry out the fitting.
A list of two elements. The first one is a vector containing the enzyme kinetic parameters. The second one is a dataframe with the original data plus the fitted value of v.
dir.MM(ONPG[, c(1,2)])
dir.MM(ONPG[, c(1,2)])
Obtains Km and Vm using the Eisenthal & Cornish-Bowden method.
ecb(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
ecb(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
data |
a dataframe where the first column is the independent variable, [S], and the remaining columns (as many as experiment replicates) correspond to the dependent variable, v. |
unit_S |
concentration unit. |
unit_v |
time unit. |
plot |
logical. If TRUE data are plotted. |
For each experimental replicate the observations (S, v) are plotted as lines in the Km-Vm parameter space, instead of points in observation space. Afterwards, the lines tend to intersect at a common point, whose coordinates provide the kinetic parameters. Nevertheless, since the observations are subject to error, there is no unique intersection point for all the lines. In this case, the method computes all the pair-wise intersections. Then, the median value from each series is taken to be the best estimate of Km and Vm. This procedure is repeated as many times as replicates and finally the mean and sd is returned.
Returns a list with the estimated values of Km and Vm.
Biochem.J.(1974) 139:715-720 (10.1042/bj1390715)
lb(), hw(), eh()
ecb(ONPG[, c(1,2)])
ecb(ONPG[, c(1,2)])
Obtain Km and Vm using the Eadie-Hofstee transformation.
eh(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
eh(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
data |
a dataframe where the first column is the independent variable, [S], and the remaining columns (as many as experiment replicates) correspond to the dependent variable, v. |
unit_S |
concentration unit. |
unit_v |
time unit. |
plot |
logical. If TRUE the data and fitted line are plotted. |
A dataframe with the values of the transformed variables is returned. The fitted Km and Vm are given as attributes of this dataframe.
lb(), hw(), ecb()
eh(ONPG[, c(1,2)])
eh(ONPG[, c(1,2)])
Fits the progress curve of an enzyme-catalyzed reaction.
fE.progress(data, unit_S = 'mM', unit_t = 'min')
fE.progress(data, unit_S = 'mM', unit_t = 'min')
data |
a dataframe where the first column is the time and the second column is the substrate concentration. |
unit_S |
concentration unit. |
unit_t |
time unit. |
Returns a list with two elements. The first one contains the fitted kinetic parameters, the second one is a dataframe giving the fitted substrate concentration time course.
Biochem Mol Biol Educ.39:117-25 (10.1002/bmb.20479).
sEprogress(), int.MM()
data <- sE.progress(So = 10, time = 5, Km = 4, Vm = 50, plot = FALSE) fE.progress(data[, c(1,3)])
data <- sE.progress(So = 10, time = 5, Km = 4, Vm = 50, plot = FALSE) fE.progress(data[, c(1,3)])
The variable 'a' is the concentration of ATP-Mg2+ in mM. The variable 'b' is the glucose concentration in mM. 'rate' is given in arbitrary units.
hk
hk
A dataframe with 25 rows (conditions assayed) and 3 columns (variables).
Obtains Km and Vm using the Hanes-Woolf transformation.
hw(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
hw(data, unit_S = 'mM', unit_v = 'au', plot = TRUE)
data |
a dataframe where the first column is the independent variable, [S], and the remaining columns (as many as experiment replicates) correspond to the dependent variable, v. |
unit_S |
concentration unit. |
unit_v |
time unit. |
plot |
logical. If TRUE the data and fitted line are plotted. |
A dataframe with the values of the transformed variables is returned. The fitted Km and Vm are given as attributes of this dataframe.
lb(), eh(), ecb()
hw(ONPG[, c(1,2)])
hw(ONPG[, c(1,2)])
Estimates the kinetic parameters using an linearized form of the integrated Michaelis-Menten equation.
int.MM(data, unit_S = 'mM', unit_t = 'min')
int.MM(data, unit_S = 'mM', unit_t = 'min')
data |
a dataframe with two columns. The first column contains the values of the independent variable time, t, and the second column contains the substrate concentrations. |
unit_S |
concentration unit. |
unit_t |
time unit. |
The r-squared value of the model can be checked using attributes().
A list of two elements. The first element is named vector containing the Km and Vm. The second element is a dataframe where the first two columns are the original data and the last two columns are the transformed variables. Also a linear plot of the transformed variables together with the parameters values are provided.
int.MM(data = sE.progress(So = 10, time = 5, Km = 4, Vm = 50)[, c(1,3)])
int.MM(data = sE.progress(So = 10, time = 5, Km = 4, Vm = 50)[, c(1,3)])
Obtains Km and Vm using double reciprocal transformation
lb(data, unit_S = 'mM', unit_v = 'au', weighting = FALSE, plot = TRUE)
lb(data, unit_S = 'mM', unit_v = 'au', weighting = FALSE, plot = TRUE)
data |
a dataframe where the first column is the independent variable, [S], and the remaining columns (as many as experiment replicates) correspond to the dependent variable, v. |
unit_S |
concentration unit. |
unit_v |
time unit. |
weighting |
logical. When TRUE the weight v^4 is employed. |
plot |
logical. If TRUE the data and fitted line are plotted. |
A double reciprocal plot and the Km and Vm computed using averaged 1/v (when more than one replicate is provided). In addition, this function returns a list of five elements. The first and second ones are vectors with the Km and Vm, respectively, computed individually for each replicate. The third one provides the R-squared values of the fits. The fourth element of the list gives the fitted Km and Vm. The last element of the list is a dataframe with the values of the transformed variables.
J. Am. Chem. Soc.1934, 56, 3,658-666 (doi.org/10.1021/ja01318a036)
hw(), eh(), ecb()
lb(ONPG[, c(1,2)], weighting = TRUE)
lb(ONPG[, c(1,2)], weighting = TRUE)
In the University of Málaga, Enzymology is a second-year subject that all Biochemistry students must take. In the context of this subject, students carry out different experiments in the laboratory, using Beta-galactosidase (EC. 3.2.1.23) as an enzyme model, to illustrate the effect of different variables on the rate of the enzyme-catalyzed reaction (hydrolysis of o-nitrophenyl-Beta-d-galactopyranoside, ONPG). One of these experiments consists in assessing the effect of the substrate (ONPG) concentration on the initial rate. The current dataframe shows the results obtained by eight different student groups, as were presented in their reports.
ONPG
ONPG
A dataframe with 10 rows (one per substrate concentration) and 9 columns. The first column give the ONPG concentrations assayed (in mM). The remaining columns provide the determined initial rates. Please, note that rates are given using different units, which can be checked typing in the console: attributes(ONPG).
Simulates the evolution of the substrate concentration along time.
sE.progress(So, time, Km, Vm, unit_S = 'mM', unit_t = 'min', I = 0, Kic = Inf, Kiu = Inf, replicates = 3, error = 'a', sd = 0.005, plot = TRUE)
sE.progress(So, time, Km, Vm, unit_S = 'mM', unit_t = 'min', I = 0, Kic = Inf, Kiu = Inf, replicates = 3, error = 'a', sd = 0.005, plot = TRUE)
So |
initial substrate concentration. |
time |
reaction timespan. |
Km |
Michaelis constant. |
Vm |
maximal velocity. |
unit_S |
concentration unit. |
unit_t |
time unit. |
I |
inhibitor concentration. |
Kic |
competitive inhibition constant. |
Kiu |
uncompetitive inhibition constant. |
replicates |
number of replicates for the dependent variable |
error |
it should be one among c('absolute', 'relative'). |
sd |
standard deviation of the error. |
plot |
logical. If TRUE, the progress curve is plotted. |
When sd is different to 0, then an absolute error normally distributed is added to the variable St.
Returns a dataframe where the two first columns are time and St (without error). The two last columns are the mean and sd of the variable St.
fE.progress()
sE.progress(So = 10, time = 5, Km = 4, Vm = 50, plot = FALSE)
sE.progress(So = 10, time = 5, Km = 4, Vm = 50, plot = FALSE)
The variable 'a' is the concentration of p-nitrophenyl alpha-sialoside (as donor) in mM. The variable 'b' is the lactose (as acceptor) concentration in mM. 'rate' is given in mM/min. Biochemistry 2008, 47, 3507–3512 (https://pubmed.ncbi.nlm.nih.gov/18284211)
TcTS
TcTS
A dataframe with 16 rows (conditions assayed) and 3 columns (variables).