In part 2 of this project, you assayed how long it takes for amylase to hydrolyse a certain amount of starch at different pH.
pH.dat.plot() command, you can either say plot(dat$x, dat$y) where x and y are your variables, or you can say plot(x=dat$x, y=dat$y) to explicitly say which variable should go on which axis. In the first form, the computer knows which is which because it expects the first to be the x variable and the second to be the y variable, so you have to make sure you keep it straight. It is usually better to use the second form because it is very explicit and you are less likely to mess up!xlab="myXLabel", ylab=myYLabel") and a title (main="myTitle"). These are all arguments to the plot() command.type='b'. Again, this is an argument to the plot() command and tells R to use both lines and points. You could use type='l' for lines and type='p' for points.eval=FALSE to eval=TRUEpH.dat <-
plot()
In this section, we will measure how fast the reaction goes according to the concentration of the substrate (starch).
dat.eval=FALSE to eval=TRUE.dat <-
We are now going to use the data we have to estimate a theoretical maximum reaction rate. This is done by what is known as a Michaelis-Menten curve that was specifically designed to describe enzyme kinetics. It is given by the equation \[ v = {V_{max}[S] \over {K_m + [S]}}\]
In this equation \(v\) is the reaction rate, \([S]\) is the concentration of the substrate, \(V_{max}\) is the maximum reaction rate, and \(K_m\) is the substrate concentration at half of the maximum reaction speed. You don’t need to memorize these details (or the equation), except to be aware that scientists have used their understanding of how enzymes work in order to describe it mathematically.
We now want to fit this type of Michaelis-Menten graph to your own data.
eval=FALSE to eval=TRUE.MMcurve <- formula(v~(Vmax*S)/(Km+S))
maxS <- max(dat$S)*5
bestfit <- nls(MMcurve, dat, start=list(Vmax=1500,Km=5), algorithm='port', lower=c(0,0.1))
SconcRange <- seq(0, maxS, 0.1)
theorLine <- predict(bestfit, list(S=SconcRange))
bestFitVals <- coef(bestfit)
plot() command below. You will need to add axis labels and a main title. To do so, you can add the arguments xlab="my x-axis label" and main="Plot title".xlim=c(min, max) and ylim=c(min, max) commands. These give the minimum and maximum extent of the plot, and may not work for your data. If you can’t figure out how to do this, ask.eval=FALSE to eval=TRUE.plot(dat$S,
dat$v,
xlim=c(0,maxS),
ylim=c(0,bestFitVals[[1]]))
## the next line adds the curve to the graph
lines(SconcRange,theorLine)
## ... and plot the theoretical Vmax
abline(h=bestFitVals[[1]], col='red')
## ... and finally you can get the value for Vmax
bestFitVals
(some of this R code has been modified from http://rforbiochemists.blogspot.com/2015/05/plotting-and-fitting-enzymology-data.html)