1. SMILES简介:什么是SMILES,历史与应用场景

你有没有想过,化学家们是怎么在电脑里描述一个分子的?

以前,画一个苯环要拖半天鼠标。后来有人想了个法子——用一行字符串搞定。这玩意儿就叫SMILES。

说白了,SMILES就是把分子结构变成一串ASCII字符。你输入一行CCO,计算机就知道你要的是乙醇。不是乙醇?那换个写法试试。

到底什么是SMILES?

SMILES全称是Simplified Molecular Input Line Entry System。翻译过来就是“简化分子线性输入规范”。这名字挺长,但意思很简单:用一行文本表示一个分子的结构。

我第一次接触SMILES时,也觉得这就是一行奇怪的字符串。后来发现,它比我想象的聪明得多。

举个例子。乙醇的结构式是 CH₃CH₂OH。SMILES写法是:

CCO

就这么简单。三个字母,一个氧原子连在两个碳原子后面。系统自动理解连键规则。

再复杂一点。苯环的SMILES是:

c1ccccc1

小写的c表示芳香碳。数字1标记了环的起点和终点。你可以在一个分子里写多个环,只要数字匹配就行。

小技巧: 我个人习惯用“C”表示脂肪碳,“c”表示芳香碳。一开始容易混淆,多写几次就记住了。

SMILES的历史——谁搞出来的?

SMILES不是某个大公司的产品,而是David Weininger在1988年提出的。那会儿他在美国环保署(EPA)工作,后来成立了DAYLIGHT公司。

为什么会有SMILES?当时化学信息学刚起步,大家需要一个既方便人写、又方便计算机读的分子表示方法。早期的表示法,比如WLN(Wiswesser Line Notation),太晦涩了。Weininger想,能不能用每个人都看得懂的字母和符号?

结果就成了SMILES。

1990年代,开源化学工具开始出现,SMILES逐渐成为事实标准。现在几乎所有的化学数据库、药物设计软件、分子编辑器都支持SMILES。

我在项目里遇到过一件事:团队想从PubChem下载几万个分子。如果每个分子都传一个结构文件,那工作量太大了。换成SMILES列表,一行一个分子,几分钟就搞定。

SMILES的核心规则

别被吓到。规则不多,记住这几个就够了:

元素 写法 示例
原子 元素符号 C、O、N、Cl(氯用Cl,不是CL)
单键 不写或写 - CC 等同于 C-C
双键 = C=O(羰基)
三键 # C#N(氰基)
支链 () CC(=O)O(乙酸)
环 数字标记 C1CCCCC1(环己烷)

你想想看,几万个原子的大分子,用SMILES也就几百个字符。换做图形文件,那得多大?

避坑提醒: 我曾经写过一个超长的SMILES,忘记闭合环的数字标记。结果解析器报错,排查了半天才发现少写了一个数字。所以,写环标记要小心。先用简单的分子测试。

应用场景——SMILES能干什么?

SMILES不是花瓶。它的应用范围很广:

  • 药物研发: 虚拟筛选、QSAR建模都用SMILES。一条SMILES就能代表一个候选分子。
  • 化学数据库: PubChem、ChEMBL、ZINC都支持SMILES检索。你输入一行,系统就能匹配结构。
  • 教学演示: 化学课里用SMILES讲解官能团,比画结构式更直观。
  • 化学信息学: 机器学习处理分子时,SMILES是最常见的输入格式。
  • 高通量筛选: 自动化实验里,SMILES可以用来生成化合物列表,直接对接合成机器人。

我在参与一个药物研发项目时,团队决定用SMILES做化合物注册表。每个人写一个分子,统一用SMILES格式。后来需要筛选,写个脚本解析SMILES,五分钟就把几万个分子过滤完了。

一个实际的SMILES例子

举个我们熟悉的分子——阿司匹林(乙酰水杨酸)。它的SMILES是:

CC(=O)Oc1ccccc1C(=O)O

拆开看看:

  • CC(=O)O — 乙酰基(醋酸的片段)
  • c1ccccc1 — 苯环
  • C(=O)O — 羧基

它们通过O(氧原子)连接,形成酯键。一行文本,结构一目了然。

记住这个练习: 试着把阿司匹林的SMILES粘到一个在线SMILES解析器里,看看它自动生成的2D结构。你会惊讶于一行文本的魔力。

SMILES不是万能的

虽然SMILES强大,但它也有局限。比如:

  • 它无法表示立体构型(需要扩展形式,如 @ 标记)
  • 它不包含坐标信息(画图需要额外计算)
  • 一个分子可以有多个规范SMILES(同一种写法不唯一)

这些问题后续章节会一一解决。先打好基础。

嗯,说到这儿,你应该对SMILES有个整体印象了。它不是什么高深的东西——就是分子界的「速记符号」。

接下来,我用一张图帮你梳理本章的知识结构。

第一章知识体系:SMILES 快速入门 SMILES 简介 什么是 SMILES 简化分子线性输入 核心规则 原子 / 键 / 支链 / 环 历史背景 Weininger · 1988 应用场景 药物 / 数据库 / 教学 一行文本表示分子 与 CAS 号 / 结构图对比 C / c · = · # · () 环标记:数字配对 DAYLIGHT 公司推广 2000年代成为行业标准 虚拟筛选 · 数据库 QSAR · 高通量 · 教学 实战提示 写SMILES一定要检查括号和环标记是否闭合。一个错字符,后面整个流程都会崩。 本章学习路线 1️⃣ 理解SMILES的定义 2️⃣ 掌握核心规则 3️⃣ 了解应用场景 4️⃣ 尝试写阿司匹林的SMILES

上图把本章的内容串起来了。你要是现在能看懂每个节点的意思,那说明你已经入门了。

记住,SMILES的核心就一句话:用最短的字符串,表示最完整的信息。后面所有章节都围绕这个展开。