Page 244 - Thermodynamics of Biochemical Reactions
P. 244
244 Matheinatica Solutions to Problems
CalCpK[SpeCieSmat-, no-, is-] := Module [ {lnkzero, sigmanuzsg, InK) ,
(*Calculates pKa for a weak acid at 298.15 K at specified ionic strengths
(is)when the number no of the pK is specified. pKs are numbered 1,
2, 3,. ..from the highest pK to the lowest pK,
but the highest pK for a weak acid may be omitted if it is outside of the
physiological range pH 5 to 9. For H3P04, gK1=CalCgK[giSp,l,(O}] = 7.22*)
lnkzero = (speciesmat [ [no + 1, 13 ] - speciesmat [ [no, 11 ] ) / (8.31451 * .29815) ;
sigmanuzsg = speciesmat [ [no, 31 ] A 2 - speciesmat [ [no + 1, 31 ] A 2 + 1;
lnK=lnkzero+ (1.17582*isA .5) *sigmanuzsg/ (1+1.6*isA.5);
N [ - 1nK / Log [ 101 ]
1
As a check on this program, pKl(I=O) for ATP is 7.60. sigmanusq is 16+1-9=8. pK1(1=0.25) can be calculated outside the
program using
-(Log[1OA-7.6O1+(1.17582*isA.5)*8/(l+l.6*isA.5~~/Log~lOl/.is-~.25
6.46522
names = { "acetatepKl", 'lacetylphospK1", n1acetylphospK211, "adeninepKl", "adenosinepK1" ,
"adppKl", "adppK2". "ammoniapK1ml, lmamppK1l*, 11amppK21*, "atppK1". 1EatppK21r, "bpgpK1".
"CitrateRKl", "citratepKZ", "citrateisopKl", 11citrateisopK2", "carbondioxidepKl",
11carbondioxidepK2", "coApK1 "cysteineLpK1 n, "dihydroxyacetonephospK1" ,
n,
"
" f ructose6pho~pKl"~ fructosel6phospK1", "fructosel6phospK2 I-, "fumaratepK1 'I,
'1fumaratepK211, "galactoselphospKl", "glucose6phospK1", l'glucoselphospK1i~,
"glutathioneredpK1 'gglyceraldehydephospKl~l, ~1glycero13phospK1~~,
'I,
"malatepKl', lloxalatepK1lm,
"phosphoeno1pyruvateKl1', 1~phosphoglycerate2pKl'1,
"~hos~hoglycerate3~K1", "phosphatepKlml, "gyrophosghategK1". mmpyrophosphatepK2't,
"~yrophosphatepK3"~ "riboselphospKl", "ribose5ghospKln, llsuccinatepK1ls,
;
"succinatepK2", "succinylcoApK1ll, "thioredoxinredpKl", v1thioredoxinredpK2q1)
acetatepK1 = NUmberForm[calcpK[acetatesp, 1, (0, .05, .l, .15, -2, .25}], 31 ;
adenosinepKl=~erForm[calcpK[adenosinesp, 1, {O, -05, .1, .15, .2, .25)], 31;
adppKl = NunberForm[calcpK[adpsp, 1, {O, -05, .I, .15, .2, .25}], 31 2
adppK2 =NumberForm[calcpK[adgsp, 2, {O, .05, .1, .15, .2, .25}], 31;
aImOniapK1 = NumberForm[calcpK[ammoniasp, 1, (0, .05, .1, .15, .2, .25}], 31;
amppKl =NbmberForm[calcpK[ampsp, 1, {O, .05, -1, .15, .2, .25}], 31;
dlIlppK2 = NumberForm[calcpK[ampsp, 2, {o, .05, .I, .15, .2, .25}], 31;
atPpK1 = NumberForm[calcpK[atpsp, 1, {o, .05, .1, .IS, .2, .25)], 31 ;
atppK21 NumberForm[calcpK[atpsp, 2, {0, .05, .l, .15, .2, .25}], 31 ;