- 作者:陈亦新(已授权)
在drug target interaction的深度学习任务中,我们要如何将一个空间中拥有3级结构的复杂分子结构输入到神经网络中呢?这里我们提供一种方法,叫做SMILES。
- Simplified Molecular Input Line Entry System
1 概述
简化分子线性输入规范(SMILES)是一种用ASCII字符串明确描述分子结构的规范,由David Weininger和Arthur Weininger于20世纪80年代晚期开发,并由其他人,尤其是日光化学信息系统有限公司修改和扩展
SMILES字符串可以被大多数分子编辑软件导入并转换成二维图形或分子的三维模型。转换成二维图形可以使用Helson的“结构图生成算法”(Structure Diagram Generation algorithms)。
由于SMILES是用一串字符来描述一个三维化学结构,它必然要将化学结构转化成一个生成树,此系统采用纵向优先遍历树算法。转化时,先要去掉氢,还要把环打开。表示时,被拆掉的键端的原子要用数字标记,支链写在小括号里。
SMILES对于每个结构的唯一性依赖于用来生成它的规范化算法,并被称为规范SMILES。规范SMILES的一个常见应用是索引和确保数据库中分子的唯一性。
2 描述方法
1.原子用在方括号内的化学元素符号表示。
例如:[Au]表示“金”,氢氧根离子是[OH-]。
有机物中的C、N、O、P、S、Br、Cl、I等原子可以省略方括号,其他元素必须包括在方括号之内。氢原子常被省略。对于省略了方括号的原子,用氢原子补足价数。
例如:水的SMILES就是O,乙醇是CCO。
2.双键用“=”表示;三键用“#”表示。
含有双键的二氧化碳则表示为O=C=O,含有三键的氰化氢表示为C#N。
3.如果结构中有环,则要打开。断开处的两个原子用同一个数字标记,表示原子间有键相连。
例如:环己烷(C6H12)表示为C1CCCCC1。需要注意,标志应该是数字(在此例中为1)而不是“C1”这个组合。扩展的表示是(C1)-(C)-(C)-(C)-(C)-(C)-1而不是(C1)-(C)-(C)-(C)-(C)-(C)-(C1)。
4.芳环中的C、O、S、N原子分别用用小写字母c,o,s,n表示。
5.碳链上的分支用圆括号表示。
例如:丙酸表示为CCC(=O)O,FC(F)F或者C(F)(F)F表示三氟甲烷。
此外,异构SMILES是指扩展的,可以表示同位素、手性和双键结构的SMILES版本。它的一个显著特征是可以精确的说明局部手性。
双键两侧的结构分别用符号/和\表示
例如,F/C=C/F表示反二氟乙烯,它的两个氟原子位于双键的两侧,而F/C=C\F表示顺二氟乙烯,它的两个氟原子位于双键的同一侧。
最后说说,SMILES的兄弟:SMARTS
SMARTS是SMILES基础之上的改进版。SMARTS中增加的一点是,它允许使用通配符表示原子和化学键。因此,它在化合物数据库中广泛用于结构的计算机化搜索。这种搜索的机理是先通过输入的SMILES式重构化学式,再搜索子图的同形;而不是直接通过SMILES式的对比完成的。