AIDD·Atlas AI 制药学习地图
031

SMILES 入门:AI 如何把分子变成字符串

SMILES 用一行 ASCII 字符串表示分子结构,是化学信息学与 AI 制药最基础的分子输入格式。

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》。