在化学信息学中,预测化学反应产物一直是个核心问题。传统上,许多研究者专注于逆合成分析,即从目标产物倒推反应物。但你可能不知道,与逆合成相反的前向反应预测(给定反应物和试剂,预测产物)实际上更容易解决。因为前向预测通常只有一个主要产物,而逆合成则可能存在多条合理路线。
那么,前向预测是如何实现的呢?答案就是反应SMILES。反应SMILES是一种用文本描述化学反应的格式,它将一个反应写成三个点分隔的组,用两个大于号连接:反应物、试剂和产物。例如,简单反应写作“反应物>>产物”,而带有催化剂的反应则会写成“反应物>催化剂>产物”。这里的每个组,又是多个普通SMILES用点号连接而成。
这种格式看似简单,却继承了普通SMILES的所有陷阱。比如环数字不匹配、盐类没有分开、立体化学标记缺失等。更麻烦的是,反应物和试剂的边界在数据源中并不总是一致的。如果将所有物质都塞进反应物槽位,模型就必须自己学习哪些物种贡献了原子;如果已经分开,模型就得到了额外的提示。这两种设置下的实验结果并不直接可比,引用USPTO基准数字时一定要先确认使用的是哪种设置。
让我们用一个经典的化学反应来具体看看。Fischer酯化反应:乙酸与乙醇在硫酸催化下反应,生成乙酸乙酯和水。它的反应SMILES很简单:CC(=O)O.CCO>>CC(=O)OCC。如果加上催化剂硫酸,就是CC(=O)O.CCO>OS(=O)(=O)O>CC(=O)OCC。
模型在这个任务中需要掌握四个关键点:一,哪根键会形成——乙酸的羰基碳与乙醇的氧之间形成新键;二,哪根键会断裂——乙酸中的C-OH键;三,原子都去了哪里——失去的OH与乙醇的H结合成水;四,什么物质不参与反应——硫酸只是催化剂,不是反应物。
为了让第三点更清楚,化学家常用原子映射。比如上面的反应映射为:[CH3:1][C:2](=[O:3])[OH:4].[CH3:5][CH2:6][OH:7]>>[CH3:1][C:2](=[O:3])[O:7][CH2:6][CH3:5]。从中可以清楚地看到,标号7的氧原子从乙醇转移到了酯产物中,而标号4的羟基则与乙醇的氢一起离开,形成了水。
总而言之,反应SMILES是前向预测的基础,理解它的格式和陷阱,是构建可靠AI化学模型的第一步。
热门跟贴