data(thermo)
### Direct Interaction with 'ionize'
## Charge of LYSC_CHICK as a function of pH and T
# After Fig. 10 of Dick et al., 2006
basis(c("CO2","H2O","NH3","H2S","O2","H+"),rep(999,6))
species("LYSC_CHICK")
# add the ionizable groups
ionize()
# get the affinities and charges (along equal temperature increments)
T <- c(25,150,6); pH <- c(0,14,50)
x <- affinity(pH=pH,T=T)
z <- ionize(x$values,x$values)
# plot charges at the temperatures we're interested in
plot(z[[1]][,1],x=seq(0,14,length.out=50),type="l",xlab="pH",
ylab="net charge (Z)") # 25 deg C
lines(z[[1]][,4],x=seq(0,14,length.out=50),col="red") # 100 deg C
lines(z[[1]][,6],x=seq(0,14,length.out=50),col="orange") # 150 deg C
text(x=c(12,10,9),y=c(-15,-16,-18),labels=paste("T=",c(25,100,150),sep=""))
# if cysteine is oxidized (to cystine disulfide bonds) it may not ionize.
# suppress its ionization by upping energy of the ionized group
mod.obigt("[Cys-]",G=999999)
x <- affinity(pH=pH,T=25)
z <- ionize(x$values,x$values)
lines(z[[1]],x=seq(0,14,length.out=50),lty=2)
text(x=12,y=-7,"T=25, oxidized")
# add experimental points
RT71 <- read.csv(system.file("extdata/cpetc/RT71.csv",package="CHNOSZ"))
points(RT71$pH,RT71$Z)
title(main=paste("Ionization of unfolded LYSC_CHICK
",
"Experimental points at 25 degC from Roxby and Tanford, 1971"),
cex.main=0.9)
# forget our changes to thermo$obigt for next examples
data(thermo)
## Heat capacity of LYSC_CHICK as a function of T
basis("CHNOS+"); species("LYSC_CHICK")
pH <- c(5,9,3); T <- c(0,100,25)
T.values <- seq(T[1],T[2],length.out=T[3])
# add the ionizable groups
ionize()
a <- affinity(pH=pH,T=T)
# values for non-ionized protein
c <- affinity(pH=pH,T=T,property="Cp.species")
plot(T.values,c$values[[1]][1,],
xlab=axis.label("T"),ylab=axis.label("Cp"),
ylim=c(5000,8000),type="l",mgp=c(2.2,0.2,0))
# values for ionized protein
cp <- ionize(a$values,c$values)
for(i in 1:3) {
lines(seq(T[1],T[2],length.out=T[3]),cp[[1]][i,],lty=2)
text(80,cp[[1]][i,][21],paste("pH=",pH[i],sep=""))
}
# Makhatadze and Privalov's group contributions
T.MP <- c(5,25,50,75,100,125)
points(T.MP,convert(MP90.cp(T.MP,"LYSC_CHICK"),"cal"))
# Privalov and Makhatadze's experimental values
e <- read.csv(system.file("extdata/cpetc/PM90.csv",package="CHNOSZ"))
e <- e[e$protein=="LYSC_CHICK",]
points(e$T,convert(e$Cp,"cal"),pch=16)
title(main=paste("Calc'd heat capacity of LYSC_CHICK:",
"non/ionized(solid/dashed);\n",
"Makhatadze+Privalov 1990 (open, calc; filled, expt)"),
cex.main=0.9)
### Metastability calculations using 'ionize'
## Eh-pH diagrams for intra/extracellular proteins
organism <- c("PYRFU","ECOLI","YEAST")
intracellular <- c("AMPM","AMPM","AMPM1")
extracellular <- c("O08452","AMY1","PST1")
basis("CHNOSe") # for Eh we need electrons
mycol <- c("red","green","blue")
for(i in 1:3) {
species(delete=TRUE)
species(c(intracellular[i],extracellular[i]),organism[i])
if(i == 1) add <- FALSE else add <- TRUE
a <- affinity(pH=c(0,14),Eh=c(-1,0))
diagram(a,add=add,color=NULL,names=species()$name,
col=mycol[i],col.names=mycol[i])
}
title(main=paste("Intracellular (AMPM) and extracellular proteins\n",
describe(thermo$basis[1:4,])))
## Buffer + ionization: Metastablilities of
## thiol peroxidases from model bactera
## (ECOLI, BACSU mesophile; AQUAE thermophile,
## THIDA acidophile, BACHD alkaliphile)
basis("CHNOS+")
organisms <- c("ECOLI","AQUAE","BACSU","BACHD","THIDA")
species("TPX",organisms)
# create a buffer with our proteins in it
mod.buffer("TPX",paste("TPX",organisms,sep="_"))
# set up the buffered activities
basis(c("CO2","H2O","NH3","O2"),"TPX")
a <- affinity(return.buffer=TRUE,T=50)
basis(c("CO2","H2O","NH3","O2"),as.numeric(a[1:4]))
a <- affinity(pH=c(0,14,200),T=c(25,80,200))
diagram(a,color=NULL)
title(main=paste("Thiol peroxidases from bacteria\n",
describe(thermo$basis[-6,],T=NULL)),cex.main=0.9)
## Buffer + ionization: Metastable assemblage
## for E. coli sigma factors on a T-pH diagram
# (sigma factors 24, 32, 38, 54, 70, i.e.
# RpoE, RpoH, RpoS, RpoN, RpoD)
proteins <- c("RPOE","RP32","RPOS","RP54","RPOD")
basis("CHNOS+")
basis("pH",7.4)
# define and set the buffer
change("_sigma",paste(proteins,"ECOLI",sep="_"))
basis(c("CO2","NH3","H2S","O2"),"sigma")
logact <- affinity(return.buffer=TRUE,T=25)
# Set the activities of the basis species to constants
# corresponding to the buffer, and diagram the relative
# stabilities as a function of T and pH
basis(c("CO2","NH3","H2S","O2"),as.numeric(logact))
species(paste(proteins,"ECOLI",sep="_"))
a <- affinity(pH=c(5,10),T=c(10,40))
diagram(a,balance="PBB",residue=FALSE)
title(main=paste("Sigma factors in E. coli\n",
describe(thermo$basis[-6,],T=NULL)),cex.main=0.95)
Run the code above in your browser using DataLab