Thanks for confirming, yes I should have noticed glycine is there. Was wondering a couple other things:
(1) If I add a reagent, am I right in thinking the Ka values should be entered in order of deprotonation so e.g. for lysine, Ka1 is H
3Lys
2+ to H
2Lys
+, Ka2 H
2Lys
+ to HLys, Ka3 is HLys to Lys
-. Therefore the order is always strictly Ka1>Ka2>Ka3 (?). So we rearrange equilibria in descending order of K's magnitude. Rather than as
here for example, where Ka3>Ka2 for aspartic acid or hystidine. If unclear what I mean, let me know, I can just calculate some examples and see if they agree with Buffer Maker (I can't seem to get lysine, aspartic acid etc working on it):
For example, 0.048 M of lysine + 0.022 M of aspartic acid + 0.065 M of histidine, using pKa values in the link ( 2.18, 8.95, 10.53 for lysine; 1.88, 9.60, 3.65 for aspartic acid; 1.82, 9.17, 6.00 for histidine), should give pH=8.50(7) following this method (w/o activity correction). Or just 0.065 M histidine gives pH=7.58(5), or 0.048 M lysine gives pH=9.73(8 ), or 0.022 M aspartic acid gives pH=2.88(8 ). Are these correct?
(2) How does Buffer Maker extract the [H
+]. If it solves the root of the system of equations, it would find a large number of roots, is it sufficient to select real positive root or does it have/need a protocol for choosing out of multiple real positive roots? (If this can ever happen chemically...) If it follows some other procedure it's clearly fast so am curious about that.
-----
Equation system for lysine (or histidine):
a=[Lys-], b = [HLys], c = [H2Lys+], d = [H3Lys 2+]
10^(-2.18) = c*h/d
10^(-8.95) = b*h/c
10^(-10.53) = a*h/b
0.048 = a+b+c+d
h+c+2d = 10^(-14)/h + a
Solve for: h, a,b,c,d
For aspartic acid:
a=[Asp 2-], b = [HAsp-], c = [H2Asp], d = [H3Asp+]
10^(-1.88) = c*h/d
10^(-3.65) = b*h/c
10^(-9.60) = a*h/b
0.022 = a+b+c+d
h+d = 10^(-14)/h + b + 2a
Solve for: h, a,b,c,d