- 将反应SMILES加载到RDKit中,作为代表反应物和产物的原子映射分子对象。
- 根据原子匹配编号,确定哪些原子在原子图之间发生了变化通过检查它们的(a)SMARTS符号,(b)原子序数,(c) 氢的总数,(d)电荷,(e)degree,(f)自由基电子数量,以及(g)bond-neighbor pairs的原子的原子序数和原子匹配编号。任何改变的原子都是“反应中心”的一部分,必须包含在最终的反应模板。
- 为“反应中心”中的每个原子生成SMARTS标签。这个默认情况是使用SMILES片段,因为SMILES片段可以用作SMARTS模式(尽管它们仅与确切的片段匹配)。调整了SMILES片段使氢的数量和电荷明确。例如,没有氢的四元碳可以具有SMILES表示[C:1],但SMARTS[C:1]将匹配任何脂肪族碳与任何数量的氢。我们改为用**[C;H0;+0:1]**替换此符号,以确保匹配碳原子具有正确数量的氢原子(0)。
- 检查反应物分子中’反应中心’的紧邻的每个原子。如果该原子是匹配上的的,那么它必须出现在产物中(也就是说, 它不是一个leaving group)。这些原子完全泛化到SMARTS通配符来匹配任何重原子: * 。保留了原子匹配编号,因此,例如,[CH:2]的SMARTS
rdkit&python | 自动提取化学反应模板代码
于 2020-06-17 14:09:04 首次发布