Calculate dP/dT and temperature of phase transitions, calculate heat capacities of unfolded proteins using an equation from the literature, calculate non-ideal contributions to apparent standard molal properties, identify a conserved basis species, scale logarithms of activity to a desired total activity, calculate Gibbs energy of transformation of a system.
1 2 3 4
numeric index of a mineral phase (
numeric, pressure (bar)
numeric, values of (dP/dT) of phase transitions (
dataframe, species definition such as that in
numeric, logarithms of activity
numeric, numbers of residues
numeric, logarithm of total activity
dPdTtr returns values of (dP/dT)Ttr, where Ttr represents the transition temperature, of the phase transition at the high-T stability limit of the
xth species in
thermo$obigt (no checking is done to verify that the species represents in fact one phase of a mineral with phase transitions).
dPdTtr takes account of the Clapeyron equation, (dP/dT)Ttr=DS/DV, where DS and DV represent the changes in entropy and volume of phase transition, and are calculated using
subcrt at Ttr from the standard molal entropies and volumes of the two phases involved. Using values of
dPdT calculated using
dPdTtr or supplied in the arguments,
Ttr returns as a function of
P values of the upper transition temperature of the mineral phase represented by the
nonideal takes a list of dataframes (in
proptable) containing the standard molal properties of the identified
The function bypasses (leaves unchanged) properties of the proton (H+), electron (e-), and all species whose charge (determined by the number of Z in their
makeup) is equal to zero.
The values of
IS are combined with Alberty's (2003) equation 3.6-1 (Debye-Huckel equation) and its derivatives, to calculate apparent molal properties at the specified ionic strength(s) and temperature(s).
The lengths of
T supplied in the arguments should be equal to the number of rows of each dataframe in
proptable, or one to use single values throughout.
The apparent molal properties that can be calculated include
Cp; any columns in the dataframes of
proptable with other names are left untouched.
A column named
loggam (logarithm of gamma, the activity coefficient) is appended to the output dataframe of species properties.
which.balance returns, in order, which column(s) of
species all have non-zero values. It is used by
transfer to determine a conservant (i.e. basis species that are conserved in transformation reactions) if none is supplied by the user.
spearman calculates Spearman's rank correlation coefficient for
unitize scales the logarithms of activities given in
logact so that the logarithm of total activity of residues is equal to zero (i.e. total activity of residues is one), or to some other value set in
length indicates the number of residues in each species. If
logact is NULL, the function takes the logarithms of activities from the current species definition. If any of those species are proteins, the function gets their lengths using
Numeric returns are made by
mod.obigt Functions with no (or unspecified) returns are
Alberty, R. A. (2003) Thermodynamics of Biochemical Reactions, John Wiley & Sons, Hoboken, New Jersey, 397 p. http://www.worldcat.org/oclc/51242181
For some of the functions on which these utilities depend or were modeled, see
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
## properties of phase transitions si <- info("enstatite") # (dP/dT) of transitions dPdTtr(si) # first transition dPdTtr(si+1) # second transition # temperature of transitions (Ttr) as a function of P Ttr(si,P=c(1,10,100,1000)) Ttr(si,P=c(1,10,100,1000)) ## scale logarithms of activity # suppose we have two proteins whose lengths are 100 and # 200; what are the logarithms of activity of the proteins # that are equal to each other and that give a total # activity of residues equal to unity? logact <- c(-3,-3) # could be any two equal numbers length <- c(100,200) logact.tot <- 0 loga <- unitize(logact,length,logact.tot) # the proteins have equal activity stopifnot(identical(loga,loga)) # the sum of activity of the residues is unity stopifnot(isTRUE(all.equal(sum(10^loga * length),1))) ## now, what if the activity of protein 2 is ten ## times that of protein 1? logact <- c(-3,-2) loga <- unitize(logact,length,logact.tot) # the proteins have unequal activity stopifnot(isTRUE(all.equal(loga-loga,1))) # but the activities of residues still add up to one stopifnot(isTRUE(all.equal(sum(10^loga * length),1)))