ionize {CHNOSZ} | R Documentation |
Calculate the charges of proteins and contributions of ionization to their chemical affinities of formation reactions or other thermodynamic properties.
ionize(affinity = NULL, other = NULL)
affinity |
affinities of formation of ionizable groups and nonionized proteins. |
other |
other properties of ionizable groups and nonionized proteins. |
This function is called by affinity
if proteins are among the species of interest, H+ is in the basis, and thermo$opt$ionize
is TRUE. This function can also be used from the top level to calculate the ionization state and ionization contributions to thermodynamic properties other than the chemical affinity (see examples below). The ionization model used by this function takes account of the ionization constants of amino acid sidechain groups and the terminal groups in proteins as a function of temperature and pressure calculated using the properties and parameters taken from Dick et al., 2006.
ionize
responds to different argument configurations. affinity
and property
both refer to the list contained in the values
element of the output of affinity
. If both these arguments are missing, species
is called to load the ionizable sidechain and backbone groups of proteins into the global species list. If other
is missing, the function outputs updated values of the affinities of formation of the proteins in the current species. If other
is present, it represents the values of other properties, for example Cp, for which ionization values are calculated. Finally, if other
is identical to affinity
, the function outputs the calculated net charges (overall ionization states) of the proteins. Note that ionize
only alters values for proteins; those for other species are returned unaltered in the output.
List, each element of which corresponds to the affinity of the formation reaction or other property of a protein.
Dick, J. M., LaRowe, D. E. and Helgeson, H. C., 2006. Temperature, pressure, and electrochemical constraints on protein speciation: Group additivity calculation of the standard molal thermodynamic properties of ionized unfolded proteins. Biogeosciences, 3, 311-336.
Makhatadze, G. I. and Privalov, P. L., 1990. Heat capacity of proteins. I. Partial molar heat capacity of individual amino acid residues in aqueous solution: Hydration efect. J. Mol. Biol., 213, 375-384.
Privalov, P. L. and Makhatadze, G. I., 1990. Heat capacity of proteins. II. Partial molar heat capacity of the unfolded polypeptide chain of proteins: Protein unfolding effects. J. Mol. Biol., 213, 385-391.
### 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]][1,],x=seq(0,14,length.out=50),lty=2) text(x=12,y=-7,'T=25, oxidized') # add experimental points points(thermo$expt$RT71$pH,thermo$expt$RT71$Z) title(main=paste('Ionization of unfolded LYSC_CHICK\n', 'Experimental points at 25 degC from Roxby and Tanford, 1971'), cex.main=0.9) # forget our changes to 'thermo' 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 <- thermo$expt$PM90 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' ## fO2-pH diagram for methionine aminopeptidases organism <- c('PYRFU','ECOLI','YEAST') intracellular <- c('AMPM','AMPM','AMPM1') basis('CHNOS+') basis('H2O',-10) species(intracellular,organism) diagram(affinity(pH=c(0,14),O2=c(-80,-75)),cex.axis=1.5) title(main=paste('Methionine aminopeptidases\n', describe(thermo$basis[1:4,]))) ## 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 t <- affinity(pH=c(0,14),Eh=c(-1,0)) diagram(t,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') t <- affinity(return.buffer=TRUE,T=50) basis(c('CO2','H2O','NH3','O2'),as.numeric(t[1:4])) t <- affinity(pH=c(0,14),T=c(0,100)) diagram(t,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, or # 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') title(main=paste('Sigma factors in E. coli\n', describe(thermo$basis[-6,],T=NULL)))