enzyme kinetics in R

Viewed 94

I am trying to perform enzyme kinetics in R instead of graph Pad I had used in the past but I did not come across any suitable R script that I could use to calculate Vmax and Km parameters using Michaelis Menton equation. Below I am posting my data and code that I have tried to use but this code is giving me errors and is not exactly what I am looking for. Also, I am wanting to fill the nls model per replicate per treatment (instead of treatment average) because I need the per replicate info for Vmax and Km that I would use later to calculate other parameters. So, in nutshell, I would like to find out the Vmax and Km value for each replicate for these two treatments (A & B) on activity of enzyme (v) in a data frame form that I would be able to use for later calculation/analysis. Any help would be excellent given I am relatively new to R.

Is there any tidyverse/dplyr function to get this done?

df<- data.frame(Treatment = c("A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A","A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A","B", "B", "B", "B", "B","B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B","B", "B"),
            Concentration = c(0,0,0,0,0,10,10,10,10,10,50,50,50,50,50,100,100,100,100,100,200,200,200,200,200,0,0,0,0,0,10,10,10,10,10,50,50,50,50,50,100,100,100,100,100,200,200,200,200,200), 
            v = c(0,0,0,0,0,13,14,15,12,14,59,53,57,54,56,110,115,108,101,110,221,228,229,221,221,0,0,0,0,0,20,21,21,24,26,90,96,98,93,91, 179,175,176,179,170, 290,298,291,290,298))


p<- ggplot(data, aes(x=Concentration, y = Activity, color=Treatment)) +
geom_point() +
theme_bw() +
xlab("Substrate (mM)") +
ylab("Velocity (nmol/s)")+
geom_smooth(method = "nls", 
          formula = y ~ Vmax * x / (Km + x), 
          start = list(Vmax = 60, Km = 5),
          se = F, size = 1, 
          data = subset(data, Treatment=="A")) +
geom_smooth(method = "nls", 
          formula = y ~ Vmax * x / (Km + x), 
          start = list(Vmax = 60, Km = 5),
          se = F, size = 1, 
          data = subset(data, Treatment=="B"))

 
0 Answers
Related