您的位置 首页 生物信息技术

RDKit 的使用之获得Canoncial smiles 格式分子表达式

目前,化合物的 SMILES 格式表示逐渐被科研工作者们认知与认可。SMILES 是 Simplified Molecular Input Line Entry System 首字母的缩写,它是一种ASCII编码的线性符号,主要用来在一维上用文本语言表示化合物的结构。最先采用SMILES 格式的是美国的化学信息学家David Weininger,该格式于1986年由其公司Daylight Chemical Information Systems开发并创建。

SMILES表示法规则

SMILES标记根据某些规则将化学结构转换为字符串:
  • 原子由各自原子符号表示,相邻原子表示彼此相连,简单的H连接可以省略
  • 单键,双键,三键和芳香键分别以符号”-” ”=” ”#” ”:”表示(通常单键和芳香键可省略)
  • 带有分支的原子写在左侧,用“()”指定,分支上的元素写在右侧
  • 裂解环结构以形成链结构,并且裂解位点用数字表示。
  • 断开的化合物被写成由”.”分隔的单独结构,顺序是任意的。

Canonical SMILES 表示法

通常我们可以利用不同软件或方法获得化学分子的smiles格式,但细心的人可能发现,虽然看到的3D 结构是一样的,但不同来源的SMILES格式是不同的,比如从PUBCHEM 中下载的结构文件导出的SMILES格式跟利用ChemDraw画出的相同的化学结构导出的SMILES格式其实是有很大差异的。3-Trifluoromethyl- L- phenylalanine的SMILES格式如下:
PUBCHEM :FC(F)(F)c1cc(C[C@H](N)C(=O)O)ccc1

Chemdraw:O=C(O)[C@@H](N)CC1=CC=CC(C(F)(F)F)=C1

这可能因为在转为SMILES 格式并没有统一规定哪个原子是起点。这也导致了不同的数据库的分子结构SMILES 表示不一,对于直接应用化学结构SMILES格式的研究的人来说,会造成很大的麻烦。因此产生了一个与该化合物名称相对应的SMILES 表示法—— ”Canonical SMILES”。

通常将通用的SMILES 格式转为 Canonical SMILES 格式称为“规范化”。然而,规范的SMILES常常是根据商业化的CANGEN算法生成的,还需要搭配使用Daylight的软件,使用起来比较受限制。

使用RDKit将SMILES 转为 Canonical SMILES

此处介绍一个方法,使用python的工具包 RDKit 可以实现SMILES格式的统一化,将SMILES格式转为Canonical SMILES 格式。(安装方法见下文)
转化思路:将不同来源的SMILES 格式转为RDKit 的Mol 对象,然后将RDKit的Mol 对象转为 canonical SMILES格式。

测试代码如下:

from rdkit import Chem
smi_PUBCHEM = 'FC(F)(F)c1cc(C[C@H](N)C(=O)O)ccc1'
mol = Chem.MolFromSmiles(smi_PUBCHEM)
canonical_smi_PUBCHEM = Chem.MolToSmiles(mol)
canonical_smi_PUBCHEM
'N[C@@H](Cc1cccc(C(F)(F)F)c1)C(=O)O' #运行结果

smi_Chemdraw = 'O=C(O)[C@@H](N)CC1=CC=CC(C(F)(F)F)=C1'
mol = Chem.MolFromSmiles(smi_Chemdraw)
canonical_smi_Chemdraw = Chem.MolToSmiles(mol)
canonical_smi_Chemdraw
'N[C@@H](Cc1cccc(C(F)(F)F)c1)C(=O)O' #运行结果

RDKit 的安装

RDKit是一个开源的python包,用于化学信息学领域。基于python语言的调取使用,可进行化合物描述符的生成,分子指纹的生成,化合物结构相似性计算,优化分子构象等。
  • 安装

首先在电脑上构建python 环境,建议安装anaconda 软件。

安装好后,利用windows搜索功能找到 anaconda prompt, 输入以下命令,然后按回车等待安装。

conda install -c rdkit rdkit

注:如果首次安装出现安装失败,不用着急找教程,多安装几次就会成功。

  • 验证是否成功

继续在anaconda prompt 中输入命令,如果能看到rdkit 具体版本即可证明安装成功。

Python
import rdkit 
rdkit.__version__
注:此处__是输入法半角状态下两个_  ,可直接复制粘贴回车运行。

基础教程及详细信息请参考以下链接:

RDKit 中文教程

http://rdkit.chenzhaoqiang.com/basicManual.html

作者: 张群峰



发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

(44)07934433023

在线咨询: QQ交谈

邮箱: info@bioengx.org

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部
Designed by

best down free | web phu nu so | toc dep 2017