本教程整理自 glyrepr 文档中的“IUPAC-Condensed Glycan Notation”文章,并按中文学习顺序重新组织。原文链接:https://glycoverse.github.io/glyrepr/articles/iupac.html
IUPAC-condensed 是一种用紧凑文本描述糖链结构的写法。它把糖链中的单糖、糖苷键、分支和还原端信息写进一个字符串里,适合人工阅读,也适合软件解析。
例如,一个糖链可以写成:
Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-3)[Neu5Ac(a2-3)Gal(b1-4)GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)[Fuc(a1-6)]GlcNAc(b1-
这串文本看起来长,但它其实按固定规则表达了:
下面这张图对应一个复杂 N-glycan 示例:

IUPAC-condensed 先用简短符号表示单糖。常见例子如下:
| 中文名称 | 英文名称 | IUPAC-condensed 符号 |
|---|---|---|
| 半乳糖 | Galactose | Gal |
| 葡萄糖 | Glucose | Glc |
| 甘露糖 | Mannose | Man |
| N-乙酰氨基葡萄糖 | N-Acetylglucosamine | GlcNAc |
| 岩藻糖 | Fucose | Fuc |
| N-乙酰神经氨酸 | N-Acetylneuraminic acid | Neu5Ac |
读糖链字符串时,先把每个单糖符号识别出来,再看括号里的连接信息。
糖链中的单糖有时带有额外化学修饰,IUPAC-condensed 通常把修饰直接写在单糖名称后面。
基本格式:
单糖名 + 位置数字 + 修饰类型
例子:
| 写法 | 含义 |
|---|---|
Neu5Ac9Ac |
Neu5Ac 的 9 位带乙酰基 |
Glc3Me |
Glc 的 3 位带甲基 |
GlcNAc6Ac |
GlcNAc 的 6 位带乙酰基 |
其中 6Ac 可以读作“6 位乙酰化”。
糖苷键写在两个单糖之间的括号里。
通用结构:
MonosaccharideA(anomeric_config + donor_position - acceptor_position)MonosaccharideB
简化理解:
供体单糖(异头构型 + 供体位置 - 受体位置)受体单糖
例如:
Neu5Ac(a2-3)Gal
可以读作:
Neu5Ac 连接到 Gal
a 表示 Neu5Ac 的异头构型是 alpha2 表示从 Neu5Ac 的 2 位出发3 表示连接到 Gal 的 3 位所以 Neu5Ac(a2-3)Gal 的意思是:Neu5Ac 通过 alpha 2 到 3 的糖苷键连接到 Gal。
如果连接信息不完整,可以用 ? 表示未知。
| 写法 | 含义 |
|---|---|
a2-? |
异头构型和供体位置已知,受体位置未知 |
??-3 |
受体位置已知,但异头构型和供体位置未知 |
糖链本质上是一棵树,但 IUPAC-condensed 要把它写成一行文本。核心规则是:
[] 里。也就是说,方括号不是“装饰”,它告诉你这段糖链不是线性主链,而是接在后面某个单糖上的支链。

先看主链:
Gal -> GlcNAc -> GalNAc
加上连接信息后:
Gal(b1-4)GlcNAc(b1-6)GalNAc(a1-
图中还有一个 Gal 分支,它连接到 GalNAc。因为分支要写在它连接的单糖之前,所以完整写法是:
Gal(b1-4)GlcNAc(b1-6)[Gal(b1-3)]GalNAc(a1-
这里的 [Gal(b1-3)] 表示:有一个 Gal 分支通过 b1-3 连接到后面的 GalNAc。

这个结构中有两条长度相同的候选主链。遇到这种情况,需要使用 tie-breaker 规则:
如果候选主链长度相同,选择能让分支位置数字更小的写法。
这里有两个选择:
| 选择 | 分支位置 |
|---|---|
把 Man(a1-3) 放在主链上 |
分支是 Man(a1-6),位置为 6 |
把 Man(a1-6) 放在主链上 |
分支是 Man(a1-3),位置为 3 |
因为 3 小于 6,所以选择让 Man(a1-3) 成为分支的写法。
最终结果:
Man(a1-3)[Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-
注意:分支 [Man(a1-6)] 写在它连接的 Man 前面。

这个结构有多个同长度分支。判断主链时,从还原端往非还原端看,先找到第一个分叉点。在这个例子里,关键分叉发生在 Man(b1-4) 附近,有一条 a1-3 链和一条 a1-6 链。
按 tie-breaker 规则,优先选择较小位置数字对应的路径作为主链。因此先写主链:
Man(a1-2)Man(a1-2)Man(a1-3)[BRANCH]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-
其中 [BRANCH] 本身也是一个带分支的结构:

这个分支可以写成:
Man(a1-2)Man(a1-3)[Man(a1-2)Man(a1-6)]Man(a1-6)
把分支放回主链,就得到完整写法:
Man(a1-2)Man(a1-2)Man(a1-3)[Man(a1-2)Man(a1-3)[Man(a1-2)Man(a1-6)]Man(a1-6)]Man(b1-4)GlcNAc(b1-4)GlcNAc(b1-
这个例子最重要的点是:分支内部也可以继续有方括号,因此 IUPAC-condensed 是递归结构。
(b1- 结尾?你可能会注意到,有些糖链最后不是完整的 (b1-4),而是类似:
GlcNAc(b1-
这是因为最右侧的单糖是还原端,它的异头碳没有继续连接到下一个糖残基。这里的 (b1- 用来保留还原端的异头构型和位置,而不是表示一个完整糖苷键。
拿到一个字符串时,可以按下面顺序读:
Gal、Man、GlcNAc。(b1-4)。[] 时,把里面当作分支。[],继续按同样规则解析。试着阅读下面这个结构:
Gal(b1-4)GlcNAc(b1-6)[Gal(b1-3)]GalNAc(a1-
问题:
Gal(b1-3) 中的 b1-3 表示什么?参考答案:
Gal -> GlcNAc -> GalNAc。[Gal(b1-3)]。GalNAc。Gal 以 beta 构型从 1 位连接到 GalNAc 的 3 位。| 符号/结构 | 含义 |
|---|---|
Gal |
半乳糖 |
GlcNAc |
N-乙酰氨基葡萄糖 |
Man |
甘露糖 |
Fuc |
岩藻糖 |
(a2-3) |
alpha 构型,供体 2 位连接到受体 3 位 |
(b1-4) |
beta 构型,供体 1 位连接到受体 4 位 |
[] |
分支 |
? |
未知信息 |
(b1- |
还原端异头信息,不是完整连接 |
IUPAC-condensed 的关键是:主链直接写,分支放方括号,括号记录连接方式,最右端通常是还原端。