TK1                  package:ccems                  R Documentation

_T_h_y_m_i_d_i_n_e _K_i_n_a_s_e _1 _D_a_t_a

_D_e_s_c_r_i_p_t_i_o_n:

     Human thymidine kinase 1 (i.e. cytosolic) data.

_U_s_a_g_e:

     data(TK1)

_F_o_r_m_a_t:

     A data frame with the following columns.

     '_E' The total concentration of TK1 enzyme. 

     '_S' The total concentration of dT (the nucleoside substrate).

     '_X' The total concentration of ATP.

     '_v' The velocity of the kinase reaction.

     '_f_g' The figure number in the original paper.

     '_y_e_a_r' The year of the original paper.

     '_j_r_n_l' The journal of the data source:  'PEP' is Protein
          Expression and Purification,  'EJB' is  European Journal of
          Biochemistry,  'BBRC' is Biochem Biophys Res Commun,  'JBC'
          is Journal of Biological Chemistry.

     '_v_o_l' The volume number of the article.

     '_p_a_g_e' The page number of the article.

     '_f_r_s_t_A_u_t' The first author of the article. This is a factor.  

     '_i_n_d_e_x' The articles indexed as 1 through 5.  

     '_k' The measured/average activity in 1/sec per enzyme molecule
          present.  

_D_e_t_a_i_l_s:

     All concentrations are in micromolar.

_S_o_u_r_c_e:

     The figure number, year, first author, journal, volume and page
     number are all included in the dataframe.

_E_x_a_m_p_l_e_s:

     ## Note that two windows devices will end up exactly on top of each other. 
     ## Please move device 3 below device 2 to compare their residual plots. 
     library(ccems)
     ## Warning: the next line clears all existing figures!!
     if (!is.null(dev.list())) for (i in 2:max(dev.list())) dev.off(i);
     for (j in 1:2) {
       if (.Platform$OS.type=="windows") 
         windows(width = 10, height = 4,restoreConsole = TRUE,
         ypos=ifelse(j==2,-50,0)) else X11(width=10,height=4)
       par(mfcol=c(2,5),mar=c(4,4,2,1)+.1)
       for (i in 1:5) {
         d=subset(TK1,index==i,select=c(E,S,k,frstAut,year))
         if (j==1) 
           hillda<-nls(k~kmax*(S/S50)^h/(1+(S/S50)^h),d,start=list(kmax=5,S50=1,h=1))
         if (j==2) 
           hillda<-nls(k~kmax*(S/S50)^h/(1+(S/S50)^h),d,
                       start=list(kmax=5,S50=1,h=1),weights=1/k^2)
         print(hillda)
         plot(d$S,d$k,xlab="Total [dT]",log="xy", ylab="k (1/sec)", 
             main=paste(d[1,"frstAut"],d[1,"year"]))
         mtext(paste("N =",length(d$k)),line=-3,side=1,font=1,cex=0.7)
         mtext(paste("Hill Coeff = ",format(hillda$m$getPars()["h"],digits=3),sep="")
                ,line=-2,side=1,font=1,cex=0.7)
         ## Note that the specific activity is ~16 fold higher in non-Birringer data
         lgx=log(d$S)
         upr=range(lgx)[2]
         lwr=range(lgx)[1]
         del=(upr-lwr)/50
         fineX=exp(seq(lwr,upr,by=del))
         lines(fineX,predict(hillda,list(S=fineX)),col="black",lwd=1)
         plot(hillda$m$fitted(),hillda$m$resid(),xlab="Fitted Value",
             ylab="Residual",mar=c(2,2,0,1)+.1)
         ## Note that variance increases with the mean in non-Birringer data
         ## and that the 2000 and 1993 Hill fits are poor at low k (and [S])
       }
     }

     ## Not run: 
     if (.Platform$OS.type=="windows")  # now create a window for ccems fits 
      windows(width = 10, height = 4,restoreConsole = TRUE, ypos=50) else 
              X11(width=10,height=4)
     library(ccems)
     topology <- list(  
         heads=c("E1S0"), # E1S0 = substrate free E
         sites=list(                    
             c=list(    # c for catalytic site  
                 t=c("E1S1","E1S2","E1S3","E1S4")   
             ) # t for tetramer 
         )
     )   # in transform below, TK1 is 25kDa => 25mg/umole
     g <-mkg(topology, activity=TRUE,TCC=FALSE)

     getKk <- function(x) {t(x$report[c(paste("E1S",0:3,"_S",sep=""),
                            paste("kE1S",1:4,sep="")),"final",drop=FALSE])}
     getAIC <- function(x) { x$report["AIC","final"]}
     getSSE <- function(x) { x$report["SSE","final"]}
     outs=list(NULL)
     par(mfcol=c(2,5),mar=c(4,4,2,1)+.1)
     for (i in 1:5) {
     d=subset(TK1,index==i,select=c(E,S,k,frstAut,year))
     plot(d$S,d$k,xlab="Total [dT]",log="xy", ylab="k (1/sec)", 
              main=paste(d[1,"frstAut"],d[1,"year"]))
     names(d)[1:2]= c("ET","ST")
     tops=ems(d,g,maxTotalPs=3,doSpurs=FALSE)# takes ~15 sec for each dataset
     lgx=log(d$ST)
     upr=range(lgx)[2]
     lwr=range(lgx)[1]
     del=(upr-lwr)/50
     fineX=exp(seq(lwr,upr,by=del))
     predict <- data.frame(ET = rep(d$ET[1],length(fineX)), ST = fineX)
     df <- simulateData(tops[[1]],predict=predict,typeYP="k")$predict  
     lines(df$ST,df$EY) 
     Kk=lapply(tops,getKk)
     nms=names(Kk)
     rowList=data.frame(NULL)
     for (j in nms) {
         rowList=rbind(rowList,Kk[[j]])
       }
     rownames(rowList)<-nms
     aic=sapply(tops,getAIC)
     sse=sapply(tops,getSSE)
     eDelAIC=exp(-(aic-min(aic)))
     wgts=eDelAIC/sum(eDelAIC)
     print(sum(wgts))
     df=data.frame(aic,sse,wgts,rowList)
     M=as.matrix(rowList)
     ma=exp(wgts%*%log(M)) # average in space of gibbs free energy changes
     dataID=paste(d[1,"frstAut"],d[1,"year"],sep="")
     outs[[dataID]]$df=df
     outs[[dataID]]$ma=ma
     plot(tops[[1]]$d$EY,tops[[1]]$res,xlab="Fitted Value",
                    ylab="Residual",main=tops[[1]]$mid)
     ## Note that the 2000 and 1993 fits are now improved 
     }
     outs=outs[-1] # remove leading NULL
     print(outs)   # compare model averages across datasets
     par(mfrow=c(1,1))
     ## End(Not run)  

