SMILES学习笔记

概念:

SMILES(Simplified Molecular Input Line Entry System),简化分子线性输入规范,是一种用ASCII字符串明确描述分子结构的规范。SMILES串可以被大多数分子编辑软件导入并转换成二维图形或分子的三维模型,对于每个化学分子结构都是唯一的,这个SMILES串被称为规范SMILES串。


基于图的定义:

就基于图的计算过程而言,SMILES 是通过深度优先遍历分子结构式的中遇到的符号节点获得的字符串。首先去除图里氢原子,然后打开环以将其变成生成树。在环中断的地方插入包含数字后缀标签(相同数字的节点表示该两个原子相连)。括号用于表示支链。

生成的 SMILES 形式取决于选择:

  • 选择打破周期的化学键
  • 用于深度优先遍历的起始原子
  • 顺序规则

具体规则:

1、原子用在方括号内的化学元素符号表示:

e.g: [Au] -> 金,[OH-] -> 氢氧根离子。

TIP:在以下原子的常见情况下可省略方括号:

  • 有机物中的C、N、O、P、S、Cl、Br、I;
  • 没有形式电荷;
  • 具有 SMILES 化合价模型所暗示的氢的数量(通常是它们的正常化合价,但对于 N 和 P,它是 3 或 5,对于 S,它是 2、4 或 6);
  • 正常同位素;
  • 不是手性中心;

2、氢原子一般可省略,对于省略方括号的原子,用氢原子补足价数:

e.g:H2O的SMILES串是"O",EtOH(乙醇,C2H5OH)的SMILLES串是"CCO"。

3、双键为”=“,叁键为”#“,四键为“$”:

e.g:CO2的SMILES串是"O=C=O",HCN的SMILES串是"C#N",GaAs的SMILES串是"[Ga+]$[As-]"。

4、有一种键是“不成键”,用“.”表示, 表示两个部分没有粘合在一起:

e.g:NaCl(aq)的SMILES串为"[Na+].[Cl-]",表示解离。

5、芳环中的键也可以用“:”表示(用凯库勒式的形式写成单双键交替的形式也可以):

e.g:苯(C6H6)的SMILES串是"c1:c:c:c:c:c1"。

6、若结构中有环则应“开环”,断开处的原子用同一个数字标记:

e.g:环己烷(C6H12)的SMILES串是"C1CCCCC1"。

7、芳环中的C、O、S、N原子分别用小写c、o、s、n表示(有一部分论文里并没有使用这一条规则,具体情况具体分析):

e.g:吡啶的SMILES串是"c1=cc=nc=c1"(不止这一种写法)。

8、碳链上的支链用圆括号包括进去:

e.g:丙酸(CH3CH2COOH)的SMILES串是"CCC(=O)O"。

9、芳香结构中的N上连有氢原子,用[nH]表示:

e.g:咪唑的SMILES串是"n1=c[nH]c=c1" 。

10、芳族原子彼此单键连接时,必须明确显示单键的位置:

e.g:联苯的SMILES串是"c1=cc=cc=c1-c2=cc=cc=c2"。

11、用"@“(S)和”@@"(R)表示手性原子:

e.g:L-丙氨酸的SMILES串是"NC@@HC(=O)O",D -丙氨酸的SMILES串是"NC@HC(=O)O"。

12、顺反异构,双键两侧的结构用"/“或”"表示:

e.g:cis-C2H2F2的SMILES串是"F/C=C\F";trans-C2H2F2的SMILES串是"F/C=C/F"。

13、同位素的指定数字等于原子符号前的整数同位素质量:

e.g:有一个碳原子是碳14的苯的SMILES串是"[14c]1=cc=nc=c1"。


示例:

《Geometric Deep Learning on Molecular Representations》文中的Figure 1,其中c图为a图所展示化学分子结构的SMILES串:
SMILES学习笔记_第1张图片
化学分子结构转换SMILES的工具:SwissADME

你可能感兴趣的:(学习,深度学习)