第3章 键类型:单键、双键、三键、芳香键的表示
说到 SMILES 里的键类型,核心规则其实特别简单。但越是简单的东西,越容易栽跟头。我在项目中见过不少人在这里翻车——明明分子结构画对了,转成 SMILES 就是不对。说白了,键类型的表示就是 SMILES 的"语法标点",错一个字符,整个分子就变了味。
你想想看,乙烷和乙烯就差一个双键,但一个是饱和烃,一个是不饱和烃,化学性质差了十万八千里。所以这一章咱们就把四种键类型彻底搞清楚。
3.1 四种键类型速览
先把全景图摆出来。SMILES 支持四种键类型,每种都有自己的"代号":
| 键类型 | 表示符号 | 示例 SMILES | 对应分子 |
|---|---|---|---|
| 单键 | 省略 或 - |
CC 或 C-C |
乙烷 |
| 双键 | = |
C=C |
乙烯 |
| 三键 | # |
C#C |
乙炔 |
| 芳香键 | 小写原子符号(隐式) | c1ccccc1 |
苯 |
这张表建议你存一下。我刚入行那会儿就是靠这张表快速上手的——每次写 SMILES 前扫一眼,基本不会出低级错误。
3.2 单键:默认省略
单键是 SMILES 里最"没存在感"的键型。怎么讲?它是默认值——你不写任何符号,解析器就认为那是单键。
举个例子,乙烷的 SMILES:
CC
两个碳之间没有写任何符号,但解析器知道它们之间是单键。当然,你也可以显式写出来:
C-C
这两种写法完全等价。我个人习惯是能省则省,毕竟少打一个字符就少一次出错的机会。但在教学或调试时,显式写出单键反而更清晰,尤其是分子结构复杂的时候。
- 在 SMILES 中是可选的。建议在分支或环的起点终点附近显式写出,提高可读性。
3.3 双键:= 符号
双键用等号 = 表示。这个很直观,化学式里怎么画,SMILES 里就怎么写。
常见的例子:
C=C # 乙烯
C=O # 甲醛
CC=O # 乙醛
C=C(C)C # 2-甲基丙烯
双键的位置在 SMILES 里非常关键。我有一次处理天然产物的结构解析,一个双键位置搞反了,整条合成路线都跟着错。后来养成了习惯——写完 SMILES 先数一遍 π 键数目,跟原结构对上了再往下走。
= 不能省略。漏掉一个 =,分子式就对不上了。比如 CCO 是乙醇,而 C=CO 是乙烯醇,完全两码事。
3.4 三键:# 符号
三键用井号 # 表示。乙炔是最简单的例子:
C#C # 乙炔
C#N # 氰化氢
CC#N # 乙腈
C#CC # 丙炔
我记得刚开始学 SMILES 时,总把三键和双键搞混。后来发现一个记忆方法——三个键就是三键,# 这个符号本身看起来也像是三个交叉的线条,比 = 多了"一杠",正好对应多了一个键。你可以这样联想记忆。
三键在药物分子里不算特别常见,但一旦出现就是关键官能团。我在做炔基修饰的 API 结构核对时,就盯着 SMILES 里的 # 一个个数,一个都不能少。
3.5 芳香键:小写字母的魔法
芳香键是 SMILES 里最特别的一个。它没有专属符号,而是通过小写原子符号来隐式表示。
什么意思呢?苯环的 SMILES 是:
c1ccccc1
这里的 c 是芳香碳,不是普通的脂肪碳 C。当你用小写 c 时,SMILES 解析器就知道该原子参与芳香体系,原子之间的键自动理解为芳香键——键级介于单键和双键之间,是离域的。
常见的芳香原子:
c— 芳香碳n— 芳香氮(如吡啶中的氮)o— 芳香氧(如呋喃中的氧,但要注意写法)s— 芳香硫(如噻吩中的硫)
对比一下芳香和脂肪的写法:
c1ccccc1 # 苯(芳香)
C1=CC=CC=C1 # 苯(Kekulé 式,交替单双键)
c1ncccc1 # 吡啶(芳香)
C1=NC=CC=C1 # 吡啶(Kekulé 式)
两种写法都是合法的,但芳香写法更简洁,也更符合化学直觉。我曾经在项目中遇到过一个坑:一个客户提供的分子用 Kekulé 式写的苯环,但后续的芳香性检测脚本只认小写字母。结果结构一直过不去,花了一小时才定位到问题——就是大小写的区别。
3.6 键类型知识框架
下面这张图把四种键类型的关系和表示方法汇总在一起,建议你保存下来当速查卡。
嗯,这张图把四种键类型的关系捋清楚了。从中心往外发散,每种键类型都对应一个表示方式。你写 SMILES 的时候,本质上就是在做"选键类型 + 写原子符号"的拼接。
3.7 键类型与环结构
在环结构中,键类型的表示要更小心一些。环丙烷和环丙烯只差一个双键:
C1CC1 # 环丙烷(全单键)
C1=CC1 # 环丙烯(一个双键)
再看芳香环的典型例子:
c1ccccc1 # 苯(芳香键,6个芳香碳)
c1c(Cl)cccc1 # 氯苯(芳香环上连一个氯)
c1cc(c(cc1)O)O # 邻苯二酚(两个羟基)
注意看第二个例子,氯原子是取代基,用括号括起来,环本身仍然是小写字母的芳香碳。这里容易犯的错是——把环上的碳写成大写 C,那整个环就变成环己三烯了,芳香性就丢了。
3.8 常见陷阱与避坑
做了这么多年 SMILES 相关的工作,我整理了几个高频踩坑点,分享给你:
- 单键多写了个
-— 解析器不会报错,但可读性变差。尤其在复杂分子中,多余的-可能让人误判连接关系。 - 双键漏写
=— 比如把C=O写成CO,那成甲醇了。结构完全变掉。 - 三键写成
===— 我曾经见过新手把三键写成三个等号,解析器直接报错。三键只有一个符号#,不是三个等号。 - 芳香环里混用大小写 — 比如
C1ccccc1这种写法,第一个碳是大写,其余是小写,解析器会认为第一个碳是脂肪碳,整个环的芳香性就断了。
我曾经因为一个芳香键的大小写问题,导致整个分子结构解析失败。那是一个药物中间体,SMILES 是从文献里直接复制的,结果导入化学信息学工具死活报错。排查了半小时,发现是苯环上的一个碳被写成了大写 C,其他五个是小写 c。改过来就一切正常了。
#,芳香看大小写。写完 SMILES,养成习惯数一遍键类型,能省去后面大量的调试时间。
四种键类型说到这里,基本覆盖了。单键是"隐形默认",双键和三键各有专属符号,芳香键靠小写字母"暗示"。把这些规则刻在脑子里,写 SMILES 的时候手就不会抖了。