Introduction to the Application Program.
The application program is designed to demonstrate the effects of changing independent
variables on the pH of plasma-like solutions containing albumin.
The following computer program, written in Visual Basic, will solve the function:
pH = fpH { SID, Pco2, [ Pitot ], [ Albumin ], [ Citratetot ] }
Default values for independent variables are SID = 38.9 mEq / L; PCO2 = 40 mmHg;
[ Pitot ] = 1.15 mmol / L; [ Albumin ] = 4.4 g /dL;
and [ Citratetot ] = 0.135 mmol / L.
Running the program with the default values will give the following output:
Figge-Fencl Model (28 December, 2008 update; www.Figge-Fencl.org; www.Acid-Base.org).
pH = f { SID, PCO2, [ Pi tot ], [ Albumin ], [ Citrate tot] }
pH = f { 38.9 , 40 , 1.15 , 4.4, 0.135 } = 7.4
Any combination of legitimate values for the independent variables can be entered into the program. For
example, SID = 25 mEq / L; PCO2 = 20 mmHg;
[ Pitot ] = 1.15 mmol / L; [ Albumin ] = 2.2 g /dL; and
[ Citratetot ] = 0.135 mmol / L.
Running the program with these values will give the following output:
Figge-Fencl Model (28 December, 2008 update; www.Figge-Fencl.org; www.Acid-Base.org).
pH = f { SID, PCO2, [ Pi tot ], [ Albumin ], [ Citrate tot] }
pH = f { 25 , 20 , 1.15 , 2.2, 0.135 } = 7.52
Notice:
The program may be downloaded free of charge for academic and educational use only.
This program is not intended for clinical use or for the care of human subjects in clinical trials.
The program applies to plasma-like solutions containing albumin. The program does not account for the
contribution of plasma globulins, hence is not suitable for clinical use.
The easiest way to use the program is to highlight and copy the program text below, and then paste
the program into a Visual Basic editor. The program can then be run from the editor. For example,
Microsoft Office Excel has a Visual Basic editor that can run this program. The editor can usually
be accessed from Excel by clicking on "Tools" or "View" and then "Macro" or "Macros".
It may be necessary to adjust security settings to enable macros.
Computer Program.
Sub CalcPH()
Rem: Figge-Fencl Quantitative Physicochemical Model
Rem: of Human Acid-Base Physiology (28 December, 2008 Update).
Rem:
Rem: Copyright 2003 - 2009 James J. Figge.
Rem: Published 15 January, 2009 on www.Figge-Fencl.org and www.Acid-Base.org.
Rem:
Rem: The program may be downloaded free of charge for academic and educational use only.
Rem: This program is not intended for clinical use or for the care of human subjects in clinical trials.
Rem: This program applies to plasma-like solutions containing albumin.
Rem: The program does not account for the contribution of plasma globulins, hence
Rem: the program is not suitable for clinical use.
Close #1
Rem: Kc1 is derived from the parameters in the Henderson-Hasselbalch
Rem: equation. pK = 6.1; a = 0.230 mM / kPa; 1 mmHg = 0.13332236842105 kPa
Rem: The value of Kc1 is 2.44E-11 (Eq / L)^2 / mmHg.
Rem: Kc2 is calculated from Harned and Scholes (1941) for 37 degrees C and ionic
Rem: strength 0.15 M. The value of Kc2 is 5.5E-11 mol / L x 2 = 1.1E-10 Eq / L.
Rem: K1, K2, and K3 for the phosphoric acid - phosphate system are from Sendroy and
Rem: Hastings (1927).
Rem: C1, C2, and C3 for the citric acid - citrate system are for 37 C and have been
Rem: adjusted to an ionic strength of 0.16 M.
Const kw = 0.000000000000044
Const Kc1 = 0.0000000000244
Const Kc2 = 0.00000000011
Const K1 = 0.0122
Const K2 = 0.000000219
Const K3 = 0.00000000000166
Const C1 = 0.00105
Const C2 = 0.0000427
Const C3 = 0.00000162
Rem: Enter desired values for SID, PCO2, [ Pi tot ], [ Albumin ] and [ Citrate tot] in the next five lines.
SID = 38.9
PCO2 = 40
Pi = 1.15
alb = 4.4
citrate = 0.135
Worksheets("Sheet1").Activate
High = 14
Low = 1
calculatepH:
pH = (High + Low) / 2
Rem: H is hydrogen ion activity (also used as an approximation of H+ concentration)
H = 10 ^ -pH
HCO3 = Kc1 * PCO2 / H
CO3 = Kc2 * HCO3 / H
FNX = K1 * H * H + 2 * K1 * K2 * H + 3 * K1 * K2 * K3
FNY = H * H * H + K1 * H * H + K1 * K2 * H + K1 * K2 * K3
FNZ = FNX / FNY
P = Pi * FNZ
FNQ = C1 * H * H + 2 * C1 * C2 * H + 3 * C1 * C2 * C3
FNR = H * H * H + C1 * H * H + C1 * C2 * H + C1 * C2 * C3
FNS = FNQ / FNR
cit = citrate * FNS
Netcharge = SID + 1000 * (H - kw / H - HCO3 - CO3) - P - cit
Rem: NB accounts for histidine pK shift due to the NB transition
NB = 0.4 * (1 - (1 / (1 + 10 ^ (pH - 6.9))))
Rem: Calculate charge on albumin
Rem: alb2 accumulates results
Rem: cysteine residue
alb2 = -1 * (1 / (1 + 10 ^ (-(pH - 8.5))))
Rem: glutamic acid and aspartic acid residues
alb2 = alb2 - 98 * (1 / (1 + 10 ^ (-(pH - 4))))
Rem: tyrosine residues
alb2 = alb2 - 18 * (1 / (1 + 10 ^ (-(pH - 11.7))))
Rem: arginine residues
alb2 = alb2 + 24 * (1 / (1 + 10 ^ (pH - 12.5)))
Rem: lysine residues
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 5.8)))
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 6)))
alb2 = alb2 + 1 * (1 / (1 + 10 ^ (pH - 7.6)))
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 7.8)))
alb2 = alb2 + 2 * (1 / (1 + 10 ^ (pH - 8)))
alb2 = alb2 + 50 * (1 / (1 + 10 ^ (pH - 10.3)))
Rem: 16 different histidine residues
Rem: Correction factor to convert HIS pKa from 25 deg C to 37 deg C is approx -0.2
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.19 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.29 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.17 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.56 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.08 + NB)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 7.38)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.82)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.43)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 4.92)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.83)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.24)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.8)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.89)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.2)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 6.8)))
alb2 = alb2 + 1 / (1 + (10 ^ (pH - 5.5)))
Rem: amino terminus
alb2 = alb2 + (1 / (1 + 10 ^ (pH - 8)))
Rem: carboxyl terminus
alb2 = alb2 - 1 * (1 / (1 + 10 ^ (-(pH - 3.1))))
alb2 = alb2 * 1000 * 10 * alb / 66500
Netcharge = Netcharge + alb2
If Abs(Netcharge) < 0.0000001 Then GoTo complete
If Netcharge < 0 Then High = pH
If Netcharge > 0 Then Low = pH
GoTo calculatepH
complete:
Rem: Enter output file name in next line.
Open "C:\Documents and Settings\James\My Documents\PH Calculation" For Output As #1
Print #1, "Figge-Fencl Model (28 December, 2008 update; www.Figge-Fencl.org; www.Acid-Base.org)."
Print #1, " "
Print #1, "pH = f { SID, PCO2, [ Pi tot ], [ Albumin ], [ Citrate tot] }"
Print #1, " "
Print #1, "pH = f {"; SID; ","; PCO2; ","; Pi; ","; alb; ","; citrate "} = "; Round(pH, 3)
Print #1, " "
Close #1
End Sub