next up previous
Next: get.protein Up: CHNOSZ examples Previous: protein

ionize

ionize>   ## Don't show:
ionize> data(thermo)
thermo: loaded 1997 aqueous, 3089 total species to thermo$obigt
thermo: loaded 5264 proteins to thermo$ECO
thermo: loaded 6717 proteins to thermo$SGD
thermo: loaded 4155 localizations and 3570 abundances to thermo$yeastgfp

ionize> ## End Don't show
ionize>   ### Direct Interaction with 'ionize'
ionize>
ionize>   ## Charge of LYSC_CHICK as a function of pH and T
ionize>   # After Fig. 10 of Dick et al., 2006
ionize>   basis(c("CO2","H2O","NH3","H2S","O2","H+"),rep(999,6))
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69    999    aq
H2O 0 2 0 1 0 0        1    999   liq
NH3 0 3 1 0 0 0       68    999    aq
H2S 0 2 0 0 1 0       70    999    aq
O2  0 0 0 2 0 0     2852    999   gas
H+  0 1 0 0 0 1        3    999    aq

ionize>   species("LYSC_CHICK")
protein: found LYSC_CHICK (C613H959N193O185S10, 129 residues)

ionize>   # add the ionizable groups
ionize>   ionize()
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18

ionize>   # get the affinities and charges (along equal temperature increments)
ionize>   T <- c(25,150,6); pH <- c(0,14,50)

ionize>   x <- affinity(pH=pH,T=T)
energy.args: pressure is Psat
energy.args: variable 1 is pH at 50 increments from 0 to 14
energy.args: variable 2 is T at 6 increments from 298.15 to 423.15
affinity: loading ionizable protein groups
subcrt: 24 species at 6 values of T and P (wet)

ionize>   z <- ionize(x$values,x$values)

ionize>   # plot charges at the temperatures we're interested in
ionize>   plot(z[[1]][1,],x=seq(0,14,length.out=50),type="l",xlab="pH",
ionize+     ylab="net charge (Z)")  # 25  deg C

ionize>   lines(z[[1]][4,],x=seq(0,14,length.out=50),col="red")    # 100 deg C

ionize>   lines(z[[1]][6,],x=seq(0,14,length.out=50),col="orange") # 150 deg C

ionize>   text(x=c(12,10,9),y=c(-15,-16,-18),labels=paste("T=",c(25,100,150),sep=""))

ionize>   # if cysteine is oxidized (to cystine disulfide bonds) it may not ionize.
ionize>   # suppress its ionization by upping energy of the ionized group
ionize>   mod.obigt("[Cys-]",G=999999)
mod.obigt: updating [Cys-] aq (1655).

ionize>   x <- affinity(pH=pH,T=25)
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is pH at 50 increments from 0 to 14
affinity: loading ionizable protein groups
subcrt: 24 species at 298.15 K and 1 bar (wet)

ionize>   z <- ionize(x$values,x$values)

ionize>   lines(z[[1]][1,],x=seq(0,14,length.out=50),lty=2)

ionize>   text(x=12,y=-7,"T=25, oxidized")

ionize>   # add experimental points
ionize>   points(thermo$expt$RT71$pH,thermo$expt$RT71$Z)

ionize>   title(main=paste("Ionization of unfolded LYSC_CHICK\n",
ionize+     "Experimental points at 25 degC from Roxby and Tanford, 1971"),
ionize+      cex.main=0.9)

\begin{figure}\par
\includegraphics{pictures/ionize1}
\par
\par
 
\end{figure}

ionize>   # forget our changes to thermo$obigt for next examples
ionize>   data(thermo)
thermo: loaded 1997 aqueous, 3089 total species to thermo$obigt
thermo: loaded 5264 proteins to thermo$ECO
thermo: loaded 6717 proteins to thermo$SGD
thermo: loaded 4155 localizations and 3570 abundances to thermo$yeastgfp

ionize>   ## Heat capacity of LYSC_CHICK as a function of T
ionize>   basis("CHNOS+"); species("LYSC_CHICK")
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69     -3    aq
H2O 0 2 0 1 0 0        1      0   liq
NH3 0 3 1 0 0 0       68     -4    aq
H2S 0 2 0 0 1 0       70     -7    aq
O2  0 0 0 2 0 0     2852    -80   gas
H+  0 1 0 0 0 1        3     -7    aq
protein: found LYSC_CHICK (C613H959N193O185S10, 129 residues)

ionize>   pH <- c(5,9,3); T <- c(0,100,25)

ionize>   T.values <- seq(T[1],T[2],length.out=T[3])

ionize>   # add the ionizable groups
ionize>   ionize()
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18

ionize>   a <- affinity(pH=pH,T=T)
energy.args: pressure is Psat
energy.args: variable 1 is pH at 3 increments from 5 to 9
energy.args: variable 2 is T at 25 increments from 273.15 to 373.15
affinity: loading ionizable protein groups
subcrt: 24 species at 25 values of T and P (wet)

ionize>   # values for non-ionized protein
ionize>   c <- affinity(pH=pH,T=T,property="Cp.species")
energy.args: pressure is Psat
energy.args: variable 1 is pH at 3 increments from 5 to 9
energy.args: variable 2 is T at 25 increments from 273.15 to 373.15
subcrt: 24 species at 25 values of T and P (wet)

ionize>   plot(T.values,c$values[[1]][,1],
ionize+     xlab=axis.label("T"),ylab=axis.label("Cp"),
ionize+     ylim=c(5000,8000),type="l",mgp=c(2.2,0.2,0))

ionize>   # values for ionized protein
ionize>   cp <- ionize(a$values,c$values)

ionize>   for(i in 1:3) {
ionize+     lines(seq(T[1],T[2],length.out=T[3]),cp[[1]][,i],lty=2)
ionize+     text(80,cp[[1]][,i][21],paste("pH=",pH[i],sep=""))
ionize+   }

ionize>   # Makhatadze and Privalov's group contributions
ionize>   T.MP <- c(5,25,50,75,100,125)

ionize>   points(T.MP,convert(MP90.cp(T.MP,"LYSC_CHICK"),"cal"))

ionize>   # Privalov and Makhatadze's experimental values
ionize>   e <- thermo$expt$PM90

ionize>   e <- e[e$protein=="LYSC_CHICK",]

ionize>   points(e$T,convert(e$Cp,"cal"),pch=16)

ionize>   title(main=paste("Calc\"d heat capacity of LYSC_CHICK:",
ionize+     "non/ionized(solid/dashed);\n",
ionize+     "Makhatadze+Privalov 1990 (open, calc; filled, expt)"),
ionize+     cex.main=0.9)

\begin{figure}\par
\includegraphics{pictures/ionize2}
\par
\par
 
\end{figure}

ionize>   ### Metastability calculations using 'ionize'
ionize>
ionize>   ## Eh-pH diagrams for intra/extracellular proteins
ionize>   organism <- c("PYRFU","ECOLI","YEAST")

ionize>   intracellular <- c("AMPM","AMPM","AMPM1")

ionize>   extracellular <- c("O08452","AMY1","PST1")

ionize>   basis("CHNOSe")  # for Eh we need electrons
    C H N O S  Z ispecies logact state
CO2 1 0 0 2 0  0       69     -3    aq
H2O 0 2 0 1 0  0        1      0   liq
NH3 0 3 1 0 0  0       68     -4    aq
H2S 0 2 0 0 1  0       70     -7    aq
e-  0 0 0 0 0 -1        2     -7    aq
H+  0 1 0 0 0  1        3     -7    aq

ionize>   mycol <- c("red","green","blue")

ionize>   for(i in 1:3) {
ionize+     species(delete=TRUE)
ionize+     species(c(intracellular[i],extracellular[i]),organism[i])
ionize+     if(i == 1) add <- FALSE else add <- TRUE
ionize+     t <- affinity(pH=c(0,14),Eh=c(-1,0))
ionize+     diagram(t,add=add,color=NULL,names=species()$name,
ionize+       col=mycol[i],col.names=mycol[i])
ionize+   }
protein: found AMPM_PYRFU (C1490H2408N390O423S9, 295 residues)
protein: found O08452_PYRFU (C2338H3307N573O649S9, 434 residues)
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is pH at 128 increments from 0 to 14
energy.args: variable 2 is Eh at 128 increments from -1 to 0
affinity: loading ionizable protein groups
subcrt: 25 species at 298.15 K and 1 bar (wet)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 295 434
diagram: using residue equivalents
protein: found AMPM_ECOLI (C1291H2079N353O392S16, 264 residues)
protein: found AMY1_ECOLI (C3316H4962N900O995S19, 659 residues)
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is pH at 128 increments from 0 to 14
energy.args: variable 2 is Eh at 128 increments from -1 to 0
affinity: loading ionizable protein groups
subcrt: 25 species at 298.15 K and 1 bar (wet)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 264 659
diagram: using residue equivalents
protein: found AMPM1_YEAST (C1870H2926N518O565S21, 377 residues)
protein: found PST1_YEAST (C1789H2923N489O620S4, 400 residues)
affinity: temperature is 25 C
energy.args: pressure is Psat
energy.args: variable 1 is pH at 128 increments from 0 to 14
energy.args: variable 2 is Eh at 128 increments from -1 to 0
affinity: loading ionizable protein groups
subcrt: 25 species at 298.15 K and 1 bar (wet)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 377 400
diagram: using residue equivalents

ionize>   title(main=paste("Intracellular (AMPM) and extracellular proteins\n",
ionize+     describe(thermo$basis[1:4,])))

\begin{figure}\par
\includegraphics{pictures/ionize3}
\par
\par
 
\end{figure}

ionize>   ## Buffer + ionization: Metastablilities of
ionize>   ## thiol peroxidases from model bactera
ionize>   ## (ECOLI, BACSU mesophile; AQUAE thermophile,
ionize>   ## THIDA acidophile, BACHD alkaliphile)
ionize>   basis("CHNOS+")
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69     -3    aq
H2O 0 2 0 1 0 0        1      0   liq
NH3 0 3 1 0 0 0       68     -4    aq
H2S 0 2 0 0 1 0       70     -7    aq
O2  0 0 0 2 0 0     2852    -80   gas
H+  0 1 0 0 0 1        3     -7    aq

ionize>   organisms <- c("ECOLI","AQUAE","BACSU","BACHD","THIDA")

ionize>   species("TPX",organisms)
protein: found TPX_ECOLI (C789H1260N210O245S3, 167 residues)
protein: found TPX_AQUAE (C830H1353N213O252S7, 169 residues)
protein: found TPX_BACSU (C805H1276N212O252S4, 166 residues)
protein: found TPX_BACHD (C794H1270N212O251S4, 166 residues)
protein: found TPX_THIDA (C762H1239N197O230S6, 163 residues)

ionize>   # create a buffer with our proteins in it
ionize>   mod.buffer("TPX",paste("TPX",organisms,sep="_"))
mod.buffer: added TPX.

ionize>   # set up the buffered activities
ionize>   basis(c("CO2","H2O","NH3","O2"),"TPX")
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69    TPX    aq
H2O 0 2 0 1 0 0        1    TPX   liq
NH3 0 3 1 0 0 0       68    TPX    aq
H2S 0 2 0 0 1 0       70     -7    aq
O2  0 0 0 2 0 0     2852    TPX   gas
H+  0 1 0 0 0 1        3     -7    aq

ionize>   t <- affinity(return.buffer=TRUE,T=50)
affinity: temperature is 50 C
energy.args: pressure is Psat
affinity: loading buffer species
affinity: loading ionizable protein groups
subcrt: 28 species at 323.15 K and 1 bar (wet)
buffer: ( TPX ) for activity of CO2 H2O NH3 O2 (active), PBB (conserved).

ionize>   basis(c("CO2","H2O","NH3","O2"),as.numeric(t[1:4]))
    C H N O S Z ispecies            logact state
CO2 1 0 0 2 0 0       69 -29.2184054642911    aq
H2O 0 2 0 1 0 0        1 -21.9555747357632   liq
NH3 0 3 1 0 0 0       68  23.7999632531769    aq
H2S 0 2 0 0 1 0       70                -7    aq
O2  0 0 0 2 0 0     2852 -99.6336589708723   gas
H+  0 1 0 0 0 1        3                -7    aq

ionize>   t <- affinity(pH=c(0,14,200),T=c(25,80,200))
energy.args: pressure is Psat
energy.args: variable 1 is pH at 200 increments from 0 to 14
energy.args: variable 2 is T at 200 increments from 298.15 to 353.15
affinity: loading ionizable protein groups
subcrt: 28 species at 200 values of T and P (wet)

ionize>   diagram(t,color=NULL)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 167 169 166 166 163
diagram: using residue equivalents

ionize>   title(main=paste("Thiol peroxidases from bacteria\n",
ionize+     describe(thermo$basis[-6,],T=NULL)),cex.main=0.9)

\begin{figure}\par
\includegraphics{pictures/ionize4}
\par
\par
 
\end{figure}

ionize>   ## Buffer + ionization: Metastable assemblage
ionize>   ## for E. coli sigma factors on a T-pH diagram
ionize>   # (sigma factors 24, 32, 38, 54, 70, i.e.
ionize>   # RpoE, RpoH, RpoS, RpoN, RpoD)
ionize>   proteins <- c("RPOE","RP32","RPOS","RP54","RPOD")

ionize>   basis("CHNOS+")
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69     -3    aq
H2O 0 2 0 1 0 0        1      0   liq
NH3 0 3 1 0 0 0       68     -4    aq
H2S 0 2 0 0 1 0       70     -7    aq
O2  0 0 0 2 0 0     2852    -80   gas
H+  0 1 0 0 0 1        3     -7    aq

ionize>   basis("pH",7.4)
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69   -3.0    aq
H2O 0 2 0 1 0 0        1    0.0   liq
NH3 0 3 1 0 0 0       68   -4.0    aq
H2S 0 2 0 0 1 0       70   -7.0    aq
O2  0 0 0 2 0 0     2852  -80.0   gas
H+  0 1 0 0 0 1        3   -7.4    aq

ionize>   # define and set the buffer
ionize>   change("_sigma",paste(proteins,"ECOLI",sep="_"))
mod.buffer: added sigma.

ionize>   basis(c("CO2","NH3","H2S","O2"),"sigma")
protein: found RPOE_ECOLI (C960H1541N271O291S5, 191 residues)
protein: found RP32_ECOLI (C1423H2264N414O434S11, 284 residues)
protein: found RPOS_ECOLI (C1661H2691N483O524S5, 330 residues)
protein: found RP54_ECOLI (C2365H3791N649O766S13, 477 residues)
protein: found RPOD_ECOLI (C3042H4912N856O993S28, 613 residues)
    C H N O S Z ispecies logact state
CO2 1 0 0 2 0 0       69  sigma    aq
H2O 0 2 0 1 0 0        1      0   liq
NH3 0 3 1 0 0 0       68  sigma    aq
H2S 0 2 0 0 1 0       70  sigma    aq
O2  0 0 0 2 0 0     2852  sigma   gas
H+  0 1 0 0 0 1        3   -7.4    aq

ionize>   logact <- affinity(return.buffer=TRUE,T=25)
affinity: temperature is 25 C
energy.args: pressure is Psat
affinity: loading buffer species
affinity: loading ionizable protein groups
subcrt: 28 species at 298.15 K and 1 bar (wet)
buffer: ( sigma ) for activity of CO2 NH3 H2S O2 (active), PBB (conserved).

ionize>   # Set the activities of the basis species to constants
ionize>   # corresponding to the buffer, and diagram the relative
ionize>   # stabilities as a function of T and pH
ionize>   basis(c("CO2","NH3","H2S","O2"),as.numeric(logact))
    C H N O S Z ispecies            logact state
CO2 1 0 0 2 0 0       69 -15.5818000547233    aq
H2O 0 2 0 1 0 0        1                 0   liq
NH3 0 3 1 0 0 0       68  1.98958524716816    aq
H2S 0 2 0 0 1 0       70 -30.6016890686327    aq
O2  0 0 0 2 0 0     2852 -81.3868680814187   gas
H+  0 1 0 0 0 1        3              -7.4    aq

ionize>   species(paste(proteins,"ECOLI",sep="_"))

ionize>   a <- affinity(pH=c(5,10),T=c(10,40))
energy.args: pressure is Psat
energy.args: variable 1 is pH at 128 increments from 5 to 10
energy.args: variable 2 is T at 128 increments from 283.15 to 313.15
affinity: loading ionizable protein groups
subcrt: 28 species at 128 values of T and P (wet)

ionize>   diagram(a,balance="PBB",residue=FALSE)
diagram: immobile component is protein backbone group
diagram: conservation coefficients are 191 284 330 477 613

ionize>   title(main=paste("Sigma factors in E. coli\n",
ionize+     describe(thermo$basis[-6,],T=NULL)),cex.main=0.95)

\begin{figure}\par
\includegraphics{pictures/ionize5}
\par
\par
 
\end{figure}


next up previous
Next: get.protein Up: CHNOSZ examples Previous: protein