SMILES(Simplified Molecular Input Line Entry System)用一行 ASCII 字符串描述分子结构,是化学信息学与 AI 制药里最基础、最通用的分子表示。几乎所有数据库、模型的输入都从 SMILES 开始。
SMILES 怎么写分子
- 原子:用元素符号表示,碳可省略;如乙醇
CCO。 - 键:单键省略,双键
=、三键#。 - 支链:用括号表示,如
CC(C)C(异丁烷)。 - 环:用数字配对开闭环,如苯
c1ccccc1(小写表示芳香)。 - 立体与电荷:用
@/@@表手性、/表双键构型、[NH4+]表电荷。
为什么要注意「规范化」
- 同一分子可以有多种合法 SMILES 写法 → 直接比较字符串会出错。
- 解决办法是生成规范 SMILES(canonical SMILES),让每个分子有唯一写法。
- RDKit:
Chem.MolToSmiles(Chem.MolFromSmiles(smi))即可得到规范形式。
关键要点
- SMILES = 分子的「字符串身份证」,AI 流程的起点;
- 同分子多写法,比较前务必规范化;
- 立体化学与电荷容易丢失,处理数据时要留意。
延伸资源
- 用 RDKit 实操:rdkit.org/docs。
- 对比阅读:032《SELFIES 入门》、033《InChI 与 InChIKey》。