Para cierta enzima, se ha medido en laboratorio la velocidad de
reaciónV
en función de la concentración de sustrato
[S]
. Puedes descargar los datos de aquí
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 = 5, by = 0.001)
y = hiperb(x, 20, 5)
plot(x,y,pch = 19, cex = .4, xlim = c(0,5), 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 b
para 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\).
Hay varias transformaciones (ver página de Angel Herráenz), aquí se explica una de ellas.
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)
## Warning: package 'knitr' was built under R version 4.1.3
kable(head(df))
S | V |
---|---|
4.636364 | 4.683321 |
2.778447 | 4.347691 |
2.452139 | 4.592657 |
1.585406 | 3.871038 |
3.896423 | 4.635586 |
3.909290 | 4.402209 |
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.2156862 | 0.2135237 |
0.3599133 | 0.2300071 |
0.4078072 | 0.2177389 |
0.6307534 | 0.2583286 |
0.2566456 | 0.2157224 |
0.2558009 | 0.2271587 |
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.19891571 0.06735554
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.1989157 \] y \[ V_{max} = \frac{a}{b} = 5.027255 \]
se despeja y se obtiene que
(a = 1/lmInv$coefficients[2])
## S_inv
## 14.84659
(b = a*lmInv$coefficients[1])
## S_inv
## 2.95322
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 = 5, by = 0.001)
y = hiperb(x, a, b)
plot(S, V, xlim = c(0,5), 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,5), ylim =c(0,6), xlab = "", ylab = "")
La técnica que hemos usado se llama transformación linealizante porque el cambio de variable (doble) lleva la hipérbola a una recta, sobre la que podemos hacer regresión lineal.
Hay otros métodos estadísticos más avanzados, llamados no lineales, que resuelven de forma más eficiente este problema. Puedes obtener algo más de información en estas páginas, cortasía de Angel Herráez: