SMILES 表示法指南
简而言之:学习 SMILES 表示法:什么是 SMILES,原子、键、支链、环、芳香性和立体化学的书写规则,常见分子的 SMILES 代码,以及带 2D 预览的实时 SMILES 验证器。免费使用,在网页浏览器中运行,无需下载。
SMILES 把分子写成一行文本。本指南涵盖你需要的全部规则,附有例题和常见分子的 SMILES 代码表。实时验证器会检查你的 SMILES,给出分子式并画出结构。
= 和 # 表示双键和三键,用 ( ) 表示支链,用成对的数字表示环,用小写字母表示芳香原子。乙醇是 CCO,苯是 c1ccccc1。什么是 SMILES?
SMILES(简化分子线性输入规范,Simplified Molecular Input Line Entry System)是把化学结构写成一行 ASCII 文本的方法。它由 David Weininger 于 1988 年提出(J. Chem. Inf. Comput. Sci. 28, 31–36),如今由 OpenSMILES 规范描述。SMILES 字符串按遍历分子时遇到原子的顺序列出原子,并用符号表示键、支链和闭环。乙醇是 CCO,苯是 c1ccccc1,咖啡因是 Cn1cnc2c1c(=O)n(C)c(=O)n2C。
由于是纯文本,SMILES 是在数据库(PubChem、ChEMBL)、电子表格、代码和机器学习数据集中存储、搜索和交换分子的标准方式。它几乎可以输入或复制到任何化学软件中,包括 MolDraw。
SMILES 规则 8 步
| 规则 | 写法 | 示例 |
|---|---|---|
| 原子 | 有机子集原子 B、C、N、O、P、S、F、Cl、Br、I 直接写元素符号。会自动补足氢原子以满足常规化合价。 | C 甲烷,O 水,N 氨,CCl 一氯甲烷 |
| 方括号 | 其他元素、电荷、同位素或显式氢都写在方括号中,此时不会自动补氢。 | [Na+]、[NH4+]、[O-]、[13CH4]、[Fe+2] |
| 键 | 相邻原子之间默认为单键。双键写 =,三键写 #,不相连的部分用 . 分隔。 | CC 乙烷,C=C 乙烯,C#N HCN,[Na+].[Cl-] |
| 支链 | 支链写在它所连接原子后面的圆括号中。支链可以嵌套。 | CC(C)C 异丁烷,CC(=O)O 乙酸 |
| 环 | 断开环上的一根键,两端用相同的数字标记。闭环后数字可以重复使用;环数非常多时使用 %10 及以上。 | C1CCCCC1 环己烷,C1CC1 环丙烷 |
| 芳香性 | 小写原子表示芳香原子,它们之间的键为芳香键。用交替 = 键表示的凯库勒式也是有效的。 | c1ccccc1 = C1=CC=CC=C1 苯;c1cc[nH]c1 吡咯 |
| 立体化学(顺反) | / 和 \ 表示双键两侧各键的方向。 | F/C=C/F 反式、F/C=C\F 顺式 1,2-二氟乙烯 |
| 立体化学(手性) | 方括号内的 @(逆时针)或 @@(顺时针)表示从第一个邻居看去其余邻居的排列顺序。 | C[C@@H](C(=O)O)N L-丙氨酸 |
手写 SMILES:异丁醇
- 画出不含氢的骨架:(CH₃)₂CH–CH₂–OH。
- 从一端选一个起始原子,例如一个甲基碳:
C。 - 走到它的邻居 CH 碳:
CC。它还有一个甲基,写成支链:CC(C)。 - 沿主链继续走到 CH₂,再到 O:
CC(C)CO。 - 氢原子是隐含的,所以
CC(C)CO已经完整:C₄H₁₀O。
同一个分子可以有多种 SMILES(OCC(C)C 也是异丁醇)。规范 SMILES 是程序生成的唯一标准版本,因此相同的分子得到相同的字符串。异构 SMILES 还保留立体化学和同位素信息。
常见分子的 SMILES 代码
SMILES 来自 PubChem,分子式已由本页解析器核对。点击试用即可将其载入验证器。
| 分子 | SMILES | 分子式 |
|---|---|---|
| 乙酸 | CC(=O)O | C2H4O2 |
| 丙酮 | CC(=O)C | C3H6O |
| 肾上腺素 | CNC[C@@H](C1=CC(=C(C=C1)O)O)O | C9H13NO3 |
| 氨 | N | H3N |
| 阿司匹林 | CC(=O)OC1=CC=CC=C1C(=O)O | C9H8O4 |
| 苯 | C1=CC=CC=C1 | C6H6 |
| 咖啡因 | CN1C=NC2=C1C(=O)N(C(=O)N2C)C | C8H10N4O2 |
| 二氧化碳 | C(=O)=O | CO2 |
| 胆固醇 | C[C@H](CCCC(C)C)[C@H]1CC[C@@H]2[C@@]1(CC[C@H]3[C@H]2CC=C4[C@@]3(CC[C@@H](C4)O)C)C | C27H46O |
| 柠檬酸 | C(C(=O)O)C(CC(=O)O)(C(=O)O)O | C6H8O7 |
| 环己烷 | C1CCCCC1 | C6H12 |
| 乙醇 | CCO | C2H6O |
| 乙烯 | C=C | C2H4 |
| 乙炔 | C#C | C2H2 |
| 葡萄糖 | C([C@@H]1[C@H]([C@@H]([C@H](C(O1)O)O)O)O)O | C6H12O6 |
| 甘氨酸 | C(C(=O)O)N | C2H5NO2 |
| 布洛芬 | CC(C)Cc1ccc(cc1)C(C)C(=O)O | C13H18O2 |
| L-丙氨酸 | C[C@@H](C(=O)O)N | C3H7NO2 |
| 甲烷 | C | CH4 |
| 甲醇 | CO | CH4O |
| 萘 | c1ccc2ccccc2c1 | C10H8 |
| 对乙酰氨基酚 | CC(=O)Nc1ccc(O)cc1 | C8H9NO2 |
| 酚 | Oc1ccccc1 | C6H6O |
| 吡啶 | c1ccncc1 | C5H5N |
| 血清素(5-羟色胺) | C1=CC2=C(C=C1O)C(=CN2)CCN | C10H12N2O |
| 氯化钠 | [Na+].[Cl-] | ClNa |
| 蔗糖 | C([C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)O[C@]2([C@H]([C@@H]([C@H](O2)CO)O)O)CO)O)O)O)O | C12H22O11 |
| 甲苯 | Cc1ccccc1 | C7H8 |
| 香草醛 | COC1=C(C=CC(=C1)C=O)O | C8H8O3 |
| 水 | O | H2O |
常见的 SMILES 错误
- 环未闭合:
C1CC打开了环 1,但从未闭合。 - 化合价错误:
C(C)(C)(C)(C)C让碳原子有五根键。 - 芳香 N–H:吡咯是
c1cc[nH]c1,带方括号的[nH]必不可少。 - 区分大小写:
Co是钴,而CO是甲醇;Sc是钪,而不是 S 加芳香 C。 - 电荷需要方括号:写
[O-],而不是O-。
把 SMILES 转换为其他格式
MolDraw 为各种常见方向提供免费转换器:SMILES 转结构式(2D)、结构式转 SMILES、名称转 SMILES、SMILES 转 IUPAC 名称、SMILES 转 InChI、SMILES 转 MOL 和 SMILES 转 3D。
需要为笔记绘制结构式?MolDraw 是一款免费的在线化学结构编辑器,可绘制分子、反应和实验装置图。
打开 MolDraw 编辑器常见问题
化学中的 SMILES 是什么的缩写?
简化分子线性输入规范(Simplified Molecular Input Line Entry System):一种线性表示法,把分子结构写成一个简短的文本字符串,例如乙醇写作 CCO。
水的 SMILES 代码是什么?
O。氢原子是隐含的,所以一个氧原子就表示 H₂O。显式写法是 [OH2]。
SMILES 中如何表示环?
断开环上的一根键,在两端原子后面写上相同的数字:环己烷是 C1CCCCC1,苯是 c1ccccc1。
SMILES 中的小写字母是什么意思?
表示芳香原子:c、n、o、s、p(以及 b)。c1ccccc1 是含芳香键的苯。
规范 SMILES 和异构 SMILES 有什么区别?
规范 SMILES 是每个分子唯一的标准化字符串。异构 SMILES 还编码立体化学(@、@@、/、\)和同位素。PubChem 两种都提供。
如何得到一个分子的 SMILES?
画出结构后用“结构式转 SMILES”,用“名称转 SMILES”转换名称,或在 PubChem 中查找。然后把它粘贴到上方的验证器中检查。
相关化学工具
最后更新: