Para cierta enzima, se ha medido en laboratorio la velocidad de reaciónV en función de la concentración de sustrato [S]. El siguiente gráfico muestra la distribución de esos datos

La forma de esa nube de puntos recuerda poderosamente a la gráfica de una hipérbola, que se corresponde con una curva de forma genérica \[\begin{equation}\label{fun} V = \dfrac{a[S]}{1+b[S]} \end{equation}\]

y cuya gráfica para, por ejemplo, a = 20 y b = 5 es

hiperb = function(x, a, b){
  a*x/(1+b*x)  
}
x = seq(from = 0, to = 10, by = 0.001)
y = hiperb(x, 20, 5)
plot(x,y,pch = 19, cex = .4, xlim = c(0,10), ylim =c(0,5))

En el contexto de la cinética enzimática hay dos cantidades (parámetros) importantes que caracterizan la reacción:

En el lenguaje de las funciones \(V_{max}\) es la asíntota horizontal de la función \(V([S])=a[S]/(1+b[S])\), es decir, \[V_{max}=\lim_{[S]\to\infty} \dfrac{a[S]}{1+b[S]}=\dfrac{a}{b}\] La constante cinética \(K_M\) se obtiene resolviendo la ecuación \[V_{max}/2=\dfrac{a[S]}{1+b[S]}\] que, gráficamente, se visualiza como

Como \(V_{max}=a/b\), si resuelves la ecuación anterior obtendrás que \(K_M=1/b\).

Es decir, si, conseguimos estimar valores apropiados a y bpara obtener una hipérbola que proxime bien los valores de [S] y V obtenidos experimentalmente podremos obtener (de forma aproximada) los valores que caracterizan la reacción enzimática: \(V_{max}\) y \(K_M\).

Transformar los datos para que se dispongan conforme a una recta:

Resulta que si en la expresión \[\begin{equation} V = \dfrac{a[S]}{1+b[S]} \end{equation}\] sustituimos las variables \([S]\) y \(V\) por las nuevas variables \(1/[S]_{inv}\) y \(1/V_{inv}\) (este cambio de variable se llama doble recíproco) es decir, \[\begin{equation} \frac{1}{V_{inv}} = \dfrac{a\frac{1}{[S]_{inv}}}{1+b\frac{1}{[S]_{inv}}} \end{equation}\] y simplicamos la expresión (te animamos a reordenar los términos en el castillo de fracciones), se obtiene \[\begin{equation} V_{inv} = \dfrac{1}{a}[S]_{inv} + \frac{b}{a} \end{equation}\]

Este hecho sugiere que si en lugar de trabajar con
[S] y V lo hacemos con 1/[S] y 1/V, la nueva serie de datos estará distribuida aproximadamente como una recta, y podremos usar las técnicas de recta de regresión para calcular la reca \(y = b_1x+b_0\) que mejor aproxima los datos transformados. Vamos a ello:

Partimos de los valores experimentales:

df = data.frame(S, V)
library(knitr)
kable(head(df))
S V
9.250002 4.928917
5.418046 5.181942
4.745037 4.447790
2.957399 4.585522
7.723873 4.364000
7.750410 5.152153

invertimos esos datos

S_inv = 1/S
V_inv =  1/V
df_inv = data.frame(S_inv, V_inv)
kable(head(df_inv))
S_inv V_inv
0.1081081 0.2028843
0.1845684 0.1929778
0.2107465 0.2248307
0.3381349 0.2180777
0.1294687 0.2291476
0.1290254 0.1940936

Visualizamos la nube de puntos de los datos transformados

plot(S_inv, V_inv, pch=19, cex = .7)

que, efectivamente, parecen estar dispuestos conforme a una linea recta. Pordemos calular los coeficientes delarecta de regresión de los datos transformados

lmInv = lm(V_inv ~ S_inv)
lmInv$coefficients
## (Intercept)       S_inv 
##  0.19287284  0.08437565
plot(S_inv, V_inv, pch=19, cex = .7)
abline(a = lmInv$coefficients[1], b = lmInv$coefficients[2], col = "red")

Finalmente, como \[ K_M = \frac{1}{b} = 0.1928728 \] y \[ V_{max} = \frac{a}{b} = 5.1847631 \]

se despeja y se obtiene que

(a = 1/lmInv$coefficients[2])
##    S_inv 
## 11.85176
(b = a*lmInv$coefficients[1])
##    S_inv 
## 2.285883
Vmax = a/b
Km = 1/b

A continuación representamos la nube de puntos obtenidos experimentalmente y gráfica de la hipérbola cuyos coeficientes hemos aproximado mediante la técnica de regresión.

# puntos de la hiperbola
x = seq(from = 0, to = 10, by = 0.001)
y = hiperb(x, a, b)

plot(S, V, xlim = c(0,10), ylim =c(0,6), pch = 19, col = "red", xlab="[S]", ylab = "V")
par(new=TRUE)
plot(x,y, pch = 19, cex = .4, xlim = c(0,10), ylim =c(0,6), xlab = "", ylab = "")