2. 分子表示与约束基础

在药物分子结构约束生成工程中,第一个必须回答的问题是:分子究竟以什么形式被计算机“看见”。同一个分子,可以被写成一行字符串,也可以被画成一张原子—键的图,还可以被展开成一组三维坐标。不同的表示方式,决定了约束能挂在什么位置、以什么形式生效,也决定了生成模型能否稳定地输出合法结构。本节围绕四种主流表示——SMILES、SELFIES、分子图、3D构象——说明它们各自的结构含义、约束表达方式以及适用边界。

一、SMILES:线性字符串表示

SMILES(Simplified Molecular Input Line Entry System)用一串 ASCII 字符描述分子。原子用元素符号表示,如 C、N、O;键用符号表示,单键省略、双键为“=”、三键为“#”;分支用圆括号,环闭合用数字标记。例如乙醇可写为 CCO,苯环可写为 c1ccccc1,其中小写 c 表示芳香碳。

SMILES 的最大优势是紧凑、易存储、易被序列模型处理。但它有两个关键问题:一是同一分子存在多种合法写法,例如 CCO 与 OCC 表示同一分子,这给“按字符串比对约束”带来歧义;二是字符串本身不保证化学合法性,任意字符组合可能价键错误、环不闭合或原子价态异常。因此,在生成任务中,SMILES 约束通常以子结构 SMARTS 匹配、正则片段、或规范化后的 canonical SMILES 前缀/后缀形式表达。

二、SELFIES:自校验的字符串表示

SELFIES(SELF-referencing Embedded Strings)是为解决 SMILES 合法性问题而提出的表示。它的核心思想是:每个符号都携带“该位置需要多少后续符号才能完成”的语义,因此任意 SELFIES 字符串都对应一个化学上合法的分子。例如 [C][C][O] 对应乙醇,[C][=C][C] 对应丙烯片段。

这一性质使 SELFIES 在生成模型中极具吸引力:模型即使输出随机符号,解码结果也不会出现价键错误。但代价是可读性差、与人类直觉脱节,且约束表达不如 SMILES 直观。实践中,SELFIES 约束常通过“允许符号集合”“片段模板”“解码后过滤”三种方式实现,而不是直接在字符串上做子结构匹配。

三、分子图:原子—键的拓扑结构

分子图把分子表示为 G = (V, E):节点 V 是原子,边 E 是化学键。每个节点可带原子类型、电荷、手性、氢原子数等特征;每条边可带键级、芳香性、立体构型等特征。分子图是最贴近化学直觉的表示,也是图神经网络(GNN)的标准输入。

在约束表达上,分子图具有天然优势:子结构约束可以直接写成“必须包含某个子图”,官能团约束可以写成“某类原子必须与某类原子相连”,药效团约束可以写成“节点间距离或拓扑路径满足条件”。例如“分子必须含有一个羧基”可表达为:存在一个碳节点,同时连接一个双键氧和一个单键氧。这种约束在图上可精确判定,而在 SMILES 上只能靠子串匹配近似。

四、3D 构象:空间坐标与几何约束

分子图只描述连接关系,不描述空间形状。3D 构象在原子坐标基础上补充了键长、键角、二面角等信息。常用表示包括:笛卡尔坐标 (x, y, z)、内坐标(键长、键角、二面角)、以及距离矩阵。药物分子与靶点结合时,真正起作用的是 3D 构象,因此 3D 约束在对接、构象生成、药效团匹配中不可替代。

3D 约束的典型形式包括:原子间距离范围、二面角范围、手性中心构型、环构象、以及与蛋白口袋的互补形状。例如“苯环与受体疏水口袋平行”可转化为平面法向量夹角约束;“氢键供体与受体距离在 2.5–3.5 Å”可转化为原子对距离约束。这些约束在 3D 坐标空间中可直接计算,但计算成本高于图约束。

五、四种表示的约束表达对比

下表从“约束挂载位置”“合法性保证”“计算成本”“典型约束形式”四个维度对比四种表示,帮助在实际工程中选择合适的表示层。

表示方式 约束挂载位置 合法性保证 计算成本 典型约束形式
SMILES 字符/子串 弱,需校验 低 SMARTS 子结构、前缀/后缀、正则
SELFIES 符号序列 强,天然合法 低 允许符号集、片段模板、解码过滤
分子图 节点/边/子图 中,需价键检查 中 子图包含、官能团、拓扑路径
3D 构象 坐标/内坐标 中,需几何检查 高 距离、角度、二面角、手性、形状互补

六、表示之间的转换与约束传递

实际工程中,四种表示往往需要互相转换。典型链路是:SMILES → 分子图 → 3D 构象 → 约束评估。约束可以在任意一层定义,但必须明确它在哪一层生效、在哪一层验证。例如,一个“必须含羧基”的约束,可以在 SMILES 层用 SMARTS 快速筛选,在分子图层用子图匹配精确判定,在 3D 层用原子距离验证几何合理性。三层验证结果不一致时,通常以分子图层为准,因为它是化学结构的标准拓扑表示。

实践建议:在生成流程中,建议把“硬约束”(如价键合法性、环闭合)放在 SELFIES 或分子图层保证;把“软约束”(如药效团距离、形状互补)放在 3D 层评估。这样既能保证输出合法,又能保留几何优化的空间。

七、约束表达的关键判断

选择表示方式时,可以问三个问题:第一,约束是拓扑性质还是几何性质?拓扑性质优先用分子图,几何性质必须用 3D。第二,约束是硬性还是软性?硬性约束应放在合法性有保证的表示层,软性约束可放在评估层。第三,生成模型输出什么?如果模型输出字符串,约束最好以符号集或解码过滤形式表达;如果模型输出图或坐标,约束可直接嵌入损失函数或采样过程。

下面这张图把四种表示及其约束挂载位置、转换关系、验证层级放在同一张结构图中,便于对照理解。

分子表示与约束挂载位置 SMILES 线性字符串 CCO / c1ccccc1 约束:子串 / SMARTS SELFIES 自校验字符串 [C][C][O] 约束:符号集 / 模板 分子图 G = (V, E) 原子节点 + 键边 约束:子图 / 官能团 3D 构象 (x, y, z) 坐标 键长 / 键角 / 二面角 约束:距离 / 角度 / 手性 编码 解析 嵌入 约束表达层 SMARTS 匹配 符号集过滤 子图同构 几何计算 验证与判定 价键合法性检查 子图匹配一致性 几何约束满足度 合法且满足约束的分子 拓扑约束优先在分子图层判定,几何约束必须在 3D 层验证