第2章:蛋白质结构基础——残基、氨基酸与三级结构

做接触图可视化,你首先得搞清楚我们在“画”什么。说白了,接触图里的每个点,都代表一对残基在三维空间里的“亲密程度”。那残基是什么?氨基酸又是什么?蛋白质是怎么从一条链“折叠”成复杂形状的?

这一章,我就带你把这些基础概念捋一遍。嗯,都是后面画图、写代码的硬基础。

2.1 氨基酸:蛋白质的“积木”

蛋白质是由氨基酸组成的线性聚合物。你可以把氨基酸想象成一种标准化的乐高积木——每个积木都有一个通用“骨架”和一个独特的“侧链”。

这个“骨架”包含一个氨基(-NH₂)、一个羧基(-COOH)、一个α-碳原子和一个氢原子。关键在于那个侧链(R基),它决定了每个氨基酸的化学性质。

核心记法:每个氨基酸的“通用部分”负责连接成链,“R基”负责决定功能与交互。

自然界中常见的氨基酸有20种。我一般把它们分为几类来记:

  • 疏水类(如丙氨酸Ala、缬氨酸Val、亮氨酸Leu):它们喜欢待在蛋白质内部,远离水。
  • 亲水类(如丝氨酸Ser、苏氨酸Thr、天冬酰胺Asn):它们喜欢露在外面,和水分子打交道。
  • 带电荷类(如赖氨酸Lys、精氨酸Arg带正电;谷氨酸Glu、天冬氨酸Asp带负电):它们经常参与形成盐桥,是接触图里的“强信号”。
  • 特殊类(如半胱氨酸Cys形成二硫键;脯氨酸Pro制造转角):结构上的“异类”,常常是功能关键。

下面这个表格,是我整理的一个快速参考。遇到一个残基名字时,扫一眼就知道它大概是什么性质。

氨基酸 三字母代码 单字母代码 侧链性质
丙氨酸AlaA疏水, 小
精氨酸ArgR亲水, 带正电
天冬酰胺AsnN亲水, 极性
天冬氨酸AspD亲水, 带负电
半胱氨酸CysC疏水, 能形成二硫键
谷氨酰胺GlnQ亲水, 极性
谷氨酸GluE亲水, 带负电
甘氨酸GlyG疏水, 无侧链 (灵活)
组氨酸HisH亲水, 带弱正电 (pH敏感)
异亮氨酸IleI疏水, 大
亮氨酸LeuL疏水, 大
赖氨酸LysK亲水, 带正电
甲硫氨酸MetM疏水, 含硫
苯丙氨酸PheF疏水, 芳香环 (大)
脯氨酸ProP疏水, 环状 (刚硬, turn)
丝氨酸SerS亲水, 极性 (小)
苏氨酸ThrT亲水, 极性
色氨酸TrpW疏水, 芳香环 (大)
酪氨酸TyrY亲水, 芳香环 (极性)
缬氨酸ValV疏水, 小

实用技巧:在PDB文件中,你看到的“ASN”就是天冬酰胺,“GLU”就是谷氨酸。写代码解析时,直接拿三字母代码匹配就行。我个人习惯把所有代码都基于三字母代码来做映射,降低出错概率。

2.2 从氨基酸到残基

氨基酸通过“脱水缩合”反应连接成链。一个氨基酸的羧基和另一个氨基酸的氨基反应,释放一分子水,形成肽键(-CO-NH-)。

这时候,问题来了:当氨基酸被“嵌入”这条多肽链后,它就不叫氨基酸了。我们叫它……残基(Residue)。

为什么叫“残基”?因为你原来完整的氨基酸,在形成肽键时“失去”了一分子水。剩下的部分,就是氨基酸残基。你想想看,整条链上的每个单元,都是“残缺”的氨基酸——它失去了完整的“骨架”边界。

我在刚开始做结构分析时,经常搞混。看着PDB文件里的“ATOM … GLU”,我就在想:“这到底是氨基酸还是残基?” 其实很简单:一旦它形成了肽键,躺在了蛋白质链里,它就是残基。一个蛋白质里有100个氨基酸,就有100个残基。

易混淆点:有时候我们口语里会混用“氨基酸”和“残基”。但在接触图领域,请尽量说“残基”。接触图的每个节点,代表的都是蛋白质序列中的一个“残基位置”,而不是游离的氨基酸。

每个残基在序列中都有唯一的编号。这是构建接触图时最关键的索引。举个例子:

# 一个残基在PDB文件中的典型记录
ATOM      1  N   ALA A   1       6.398  56.639  19.036  1.00  0.00           N
ATOM      2  CA  ALA A   1       7.004  57.959  19.136  1.00  0.00           C
ATOM      3  C   ALA A   1       8.473  57.737  19.431  1.00  0.00           C
# 注意第6列:残基名称 ALA
# 第7列:链ID A
# 第8列:残基编号 1

这就是接触图的坐标来源:残基编号1(ALA)和残基编号2(下一个氨基酸)之间的关系,是接触图的构建基石。

2.3 蛋白质的三级结构:从字符串到折叠体

一条多肽链刚合成出来时,就是一条“氨基酸串”。但它很快会折叠成一个特定的三维形状。这个过程,就是蛋白质的“三级结构”形成。

结构层次是这样的:

  • 一级结构:氨基酸的线性排列顺序。就是那条“字符串”。
  • 二级结构:局部主链通过氢键形成的规则构象。常见的α-螺旋、β-折叠片。这些都是局部模式。
  • 三级结构:整条多肽链在三维空间中的完整折叠形状。它包含了所有二级结构元件之间的相对空间位置和相互作用。
  • 四级结构:多条多肽链(亚基)组装在一起的复合体。比如血红蛋白有4个亚基。

接触图可视化,最核心的是三级结构。因为接触图本质上是在二维平面上,反映残基对在三级结构空间中的距离。

一句话总结:三级结构决定了残基间谁离得近、谁离得远。接触图就是这张“空间近邻关系”的投影图。

我在项目中遇到过一个问题:有人问我“为什么接触图里有些距离很近的残基,在序列上却相距很远?” 这就是三级结构的魅力。蛋白质折叠后,序列上遥远的两个片段可能在空间上“拥抱”在一起,形成功能位点。接触图能帮你一眼看到这种长程相互作用。

氨基酸 → 残基 → 蛋白质三级结构 → 接触图 游离氨基酸 多肽链 (残基序列) 三级结构 (3D折叠体) 接触图 一级结构 (序列) N端 - A - V - ... - C端 氨基酸线性排列 二级结构 α-螺旋、β-折叠 局部主链构象 三级结构 全局折叠 残基空间位置 关键概念:残基接触图由三级结构计算 • 残基 = 嵌入多肽链的氨基酸单元 • 接触图 = 三维空间近邻关系的二维压缩表示 • ×轴、y轴 = 残基编号;颜色/点 = 空间距离

2.4 为什么这些知识对接触图可视化这么重要?

接触图不是凭空产生的。它的原始输入,就是蛋白质的三级结构坐标(比如PDB文件)。

你写代码计算接触图时,实际上在做这几件事:

  1. 读取:从PDB文件中提取每个残基的原子坐标(尤其是Cβ,或Cα)。
  2. 选点: 决定用哪个原子代表残基位置。我通常选Cβ原子(甘氨酸用Cα代替,因为它没有Cβ)。
  3. 算距离:计算所有残基对(i, j)之间的欧几里得距离。这里要确保i和j不是同一个残基,且i < j 避免重复计算。
  4. 画图:如果距离小于某个阈值(比如 8 Å),就在对应位置画一个点或设置一个颜色值。

你看,没有前面那一堆氨基酸、残基、三级结构的知识,你连“Cβ原子是什么”都搞不清楚。

实操金句:接触图本质上是“残基-残基距离矩阵”的二值化或连续值可视化。矩阵的行和列,就是蛋白质的残基序列位置。理解这一点,你的代码思路就清晰了。

好了,这一章就聊这些。基础的“砖块”都齐了。结构清楚了,后面画图、调参、解读结果,你才不会迷糊。