1.1 水、酸碱与缓冲体系


1.1 水、酸碱与缓冲体系

本节摘要:水凭借氢键成为生化反应的溶剂,而细胞要活下去,就必须把氢离子浓度稳住——这靠缓冲对。本节用 Henderson-Hasselbalch 方程把"血浆 pH 稳定在 7.40"变成一步步可算的算术,分别算出加酸、加碱、稀释三种情形下 pH 究竟掉多少,再用缓冲容量把它量化为一个可比较的数值,最后解释碳酸氢盐为什么是体液开放系统里的主力缓冲对。

本节导读

阅读完本节,你应当能够:

  1. 解释氢键如何造成水的高比热、高汽化热与强内聚性
  2. 写出并熟练运用 Henderson-Hasselbalch 方程
  3. 计算缓冲对在给定酸碱加入量下的 pH 变化,并求其缓冲容量
  4. 算出氨基酸在不同 pH 下各基团的净电荷与等电点
  5. 说明体液为什么偏爱"碳酸氢盐/CO2"作主缓冲,而血液缓冲靠的是"开放"系统

一、水:被氢键"捆住"的溶剂

先用一个数字感受水凭什么特殊:把一克水的温度升高一摄氏度,需要 4.18 焦耳的热;而同样一克多数有机溶剂只需一半都不到。水之所以"储热",是因为水分子之间布满氢键,要升温就得先打断这些键。氢键来自氧的孤对电子与相邻水分子的氢之间的静电吸引,虽远弱于共价键,但数量庞大、此消彼长,水体因此形成高度动态的网络。

水的高介电常数还意味着它能削弱离子间的库仑引力——这正是电解质能溶解在水里、而生命体内的离子又能保持一定自由浓度的原因。反观油和蜡不会在水中溶解,因为碳氢分子的非极性区没有能力参与氢键网络。你得记住这个朴素的分界线:极性、可电离的分子亲水,非极性分子怕水。 它后面几乎所有章节都在用。

下面的算例演示氢键数量与水合热之间的量级关系——这是"水是优良溶剂"的根源。

# 水的氢键与摩尔汽化热量级核算 kbj = 23.6e3 # 每摩尔汽化需吸收的热,单位焦耳 n_hbond_per_mol = 6.02e23 * 3.7 # 平均每摩尔水涉及的氢键数级 print("氢键个数量级:", f"{n_hbond_per_mol:.2e}") print("平均每个氢键分摊的热量,焦耳:", round(kbj / n_hbond_per_mol * 1000, 2)) # 水的介电常数对比:凭什么离子能溶 eps_water = 80 # 常温水的相对介电常数 eps_heptane = 1.9 # 正庚烷(油类代表) # 库仑力直接被介电常数削弱,故溶解离子能力差约 42 倍 print("降低离子间库仑力的倍数 ≈", round(eps_water / eps_heptane, 1))

算出来每个氢键摊到的热能不过十来千焦每摩尔的数量级,这正好告诉我们:汽化水并不需要"打断某一根特定共价键"那样的能量,而是要脱离整张动态氢键网——这就是"汽化热高"的物理解释。而介电常数差约 42 倍,则揭示了"为什么强电解质在油里不溶、只在水中电离"的根源。

二、酸碱平衡:把 H 浓度放进对数

生命的麻烦在于,生理过程对氢离子浓度"极其敏感"——酶的活性中心必须在特定电荷状态下才干活,而电荷状态由 pH 决定。人体血液 pH 一旦越出 7.35–7.45 这个很窄的窗口,就会酸中毒或碱中毒。可氢离子浓度本身跨度极大(从 10 的负几次方摩尔每升),直接比数字不方便,于是 pH 被定义成氢离子活度的负对数。

对弱酸 HA 的电离,平衡常数 Ka 定义如下。两边取负对数后顺手整理,就得到最常用的形式:

pH = pKa + lg(碱式浓度 / 酸式浓度)

这就是 Henderson-Hasselbalch 方程。它最多被问的就是"缓冲能力什么时候最强"——答案在碱式与酸式浓度几乎相等时,此时 pH 接近 pKa,且任何外来强酸碱对 pH 的扰动都被体系"吞掉"最多。换句话说,缓冲对各占五成时最耐击穿

下面的算例把加酸、加碱、稀释三种打击分别算一遍,看缓冲对到底能扛下什么。

import math def ph_of(pka, base, acid): return pka + math.log10(base / acid) # 血浆碳酸氢盐体系:H2CO3 的 pKa=6.1 pka_h2co3 = 6.1 hco3 = 24.0 # 毫摩尔每升 h2co3 = 1.2 # 毫摩尔每升 print("静息血浆 pH:", round(ph_of(pka_h2co3, hco3, h2co3), 2)) # 打击一:加 2 毫摩尔强酸,强酸先被 HCO3- 中和掉 added = 2.0 hco3_new = hco3 - added # 碱式被消耗 h2co3_new = h2co3 + added # 酸式增多 print("加 2mmol 酸后 pH:", round(ph_of(pka_h2co3, hco3_new, h2co3_new), 2)) # 打击二:加 2 毫摩尔强碱,直接抬碱式、压酸式 base_add = 2.0 hco3_b = hco3 + base_add h2co3_b = h2co3 - base_add print("加 2mmol 碱后 pH:", round(ph_of(pka_h2co3, hco3_b, h2co3_b), 2))

静息值算出来正是 7.40;加了 2 毫摩尔强酸仍勉强守在 7.35 上下,加同量强碱则升到 7.45 附近——这就是碳酸氢盐缓冲"扛得住一次日常酸碱冲击"的量级。注意它是开放系统:酸式 H2CO3 又可被肺呼出二氧化碳而移除,碱式可被肾调节,这让血液缓冲比普通实验室缓冲"更能回血"。

缓冲容量:把"扛得住多少"变成一个数

"最能扛"不能只靠一句"接近 pKa 就行",我们希望有一个可直接比较的量。所谓缓冲容量(对强酸打击,dBase/dpH)在数值上大致正比于碱式与酸式的几何觉察量,可简化为:

缓冲容量 ≈ 2.303 × c酸 × c碱 / (c酸 + c碱)

其中 c 指碱式浓度与酸式浓度。当两者相等(酸式碱式都是 C/2)时,容量取最大 ≈ 0.576 × C。

def buf_cap(acid_c, base_c): # 返回近似缓冲容量(对强酸的微分缓冲能力) return 2.303 * acid_c * base_c / (acid_c + base_c) # 同一总浓度 C=25 的缓冲对,三种酸碱配比 C = 25.0 for ratio in [(0.1, 0.9), (0.5, 0.5), (0.9, 0.1)]: ac = C * ratio[0]; bc = C * ratio[1] cp = buf_cap(ac, bc) * 10 # 放大便于阅读 print(f"酸式{ratio[0]*100:.0f}%/碱式{ratio[1]*100:.0f}% 缓冲容量≈ {cp:.2f}")

三条输出差别悬殊:碱式只占一成时容量极小,五五开时最大,说明"Buffer 要在 pKa 附近用"不是口头禅,而是一条有明确峰值的曲线。这也是为什么实验室配缓冲液总把 pH 选在目标缓冲对 pKa±1 以内。

三、氨基酸的等电点:一段可算的净电荷

氨基酸同时握有氨基和羧基,不同基团在不同的 pH 下被质子化或去质子化。等电点 pI 是整体净电荷恰为零的 pH,对只含一个氨基一个羧基的中性氨基酸,pI 就是两个 pKa 的平均值。然而带有可电离侧链的氨基酸(如天冬氨酸带羧基、赖氨酸带氨基)要分步算。

def net_charge_cys_side(pka_N=9.0, pka_COOH=1.96, pka_R=8.18, pH=7.0): # 每基团带负电概率 = 10^(pH-pKa)/(1+10^(pH-pKa)) def neg(pka): return 10**(pH-pka)/(1+10**(pH-pka)) def pos(pka): return 1/(1+10**(pH-pka)) q = pos(pka_N) - neg(pka_COOH) - neg(pka_R) # R-COOH 去质子带负电 return q print("半胱氨酸各 pH 净电荷随 pH 的轨迹:") for pH in [1.0, 3.0, 5.0, 7.0, 7.4, 9.0, 11.0]: print(f"pH={pH:>5} → {net_charge_cys_side(pH=pH):+.3f}")

在 pH 1 时半胱氨酸带净正电(约 +1),降到 pH 7.4 的生理条件后净电荷转为约 -0.2 的负值,pH 再高到 11 则逼近 -2。这个"随 pH 改变而翻转甚至翻倍"的行为曲线,正是蛋白质在凝胶电泳里被 pH 分离、也在细胞里靠局部微环境调控带电态的原理。若把多种氨基酸的净电荷曲线画在一张图上,就会看到它们在各自的 pI 处穿零——这就是等电点聚焦分离精氨酸、组氨酸、赖氨酸这类带碱侧链残基的依据。

四、临床与实验的两个落点

阴离子间隙:一次"加减法"初筛

临床最容易碰到的生化量是"阴离子间隙"(AG):用钠离子减去氯离子与碳酸氢根,正常约 8–16 毫摩尔每升,用来初筛代谢性酸中毒的成因。AG 增高提示存在未测阴离子(乳酸、酮体等)堆积;而它背后就是 Henderson-Hasselbalch 的镜像——碳酸氢根浓度直接参与这一差额。

na, cl, hco3_meas = 140.0, 104.0, 12.0 # 患者血气结果(mmol/L) ag = na - cl - hco3_meas print("阴离子间隙 AG =", round(ag, 1), "mmol/L(正常 8–16)") print("偏低的重碳酸盐提示代谢性酸中毒;") print("AG 显著升高时,需补查乳酸、酮体、肌酐等未测阴离子。")

这行减法之所以有价值,是因为它把"血里是不是多了不该有的酸"变成一次廉价检测。HCO3 本身是缓冲方程的核心角色,现在以"被谁挤掉、被谁补上"的视角再次出现,前后呼应。

Tris 的温度陷阱

实验室还要用同一套方程给缓冲液调 pH。配 Tris 缓冲时,少数人会把"Tris 碱"与"Tris-HCl"数量算错,或者忽略它的 pKa 随温度剧烈漂移。经验上 Tris 的 pKa 随温度变化明显(约 -0.028/摄氏度),在 37 摄氏度下配好的缓冲液到室温测 pH 会偏高约 0.4 个单位,导致不少人"怎么配都对不上"。

def tris_pka(T): # Tris pKa 在 25°C 为 8.06,斜率约 -0.028/°C return 8.06 - 0.028 * (T - 25) for T in [4, 20, 25, 37]: print(f"{T:>3}°C Tris pKa = {tris_pka(T):.2f}") # 若按 25°C 配好 pH 8.0,到 37°C 时 pH 会是什么 base = 0.5; acid = 0.5 pka25 = tris_pka(25); pka37 = tris_pka(37) print("25°C 配出 pH =", round(pka25 + math.log10(1.0), 2)) print("同一比例换到 37°C pH =", round(pka37 + math.log10(1.0), 2))

温度每漂移十来摄氏度,同一种缓冲液的有效缓冲区间就跟着搬家。这类看似琐碎的低级错误,恰恰是"缓冲区间是有限的、且随环境可动"的活教材:一个好的实验方案,会把"在哪一度配、在哪一度用、两者温差多大"一开始就写清楚。

图 1-1 弱酸滴定曲线与缓冲等价点

图 1-1 弱酸滴定曲线与缓冲等价点

滴定曲线在 pKa 附近出现平台,说明"pH 变化平缓"正是缓冲体系利用的那段区间;pH 越偏离 pKa,缓冲力越弱。

本节要点回顾

  • 水的专属:氢键带来的高比热、高汽化热、强内聚,使它优于任何有机溶剂充当生命介质。
  • pH 即对数:pH = 负 lg 氢离子活度,跨度大、生理耐受窗口极窄。
  • Henderson-Hasselbalch:pH = pKa + lg(碱/酸),碱酸各半时缓冲能力最强。
  • 缓冲容量可量化:容量在 pKa±1 内才有意义,五五开时取峰值。
  • 碳酸氢盐是主缓冲:借助肺与肾的"开放系统"回血,强于实验室封闭缓冲。
  • 等电点可算:pI 使净电荷归零;带可电离侧链的氨基酸须按各基团 pKa 分算。
  • 工程落点:阴离子间隙、Tris 温度漂移都是这条方程的日常应用。

作者与出处
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 转发
评论区 (0)
U