rdkit SMARTS支持和扩展
文章目录
- 一、引入所需库
- 二、SMARTS 不支持的特性
- 三、SMARTS 支持的扩展
- 3.1 杂化方式查询
- 3.2 配位键
- 3.3 邻居杂原子查询
- 3.4 范围查询
- 3.5 SMARTS语法参考
- 四、子结构匹配
- 4.1 具有SMARTS查询的功能组
rdkit 支持Daylight定义的SMARTS的绝大部分标准特性以及一些有用的拓展
一、引入所需库
#! /usr/bin/python
# coding: utf-8import os
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem import Draw
二、SMARTS 不支持的特性
1.非四面体手性轴手性
2. @ ? 操作符号
3.显式原子质量 ( 支持同位素定义查询 )
4.片段组的查询©.©
三、SMARTS 支持的扩展
3.1 杂化方式查询
杂化方式在SMARTS 中通过^符号进行定义。 如:
1.^0 匹配S 杂化的原子
2.^1 匹配SP 杂化的原子
3.^2 匹配SP2 杂化的原子
4.^3 匹配SP3 杂化的原子
5.^4 匹配SP3D 杂化的原子
6.^5 匹配SP3D2 杂化的原子
aspirin = Chem.MolFromSmiles('CC(=O)OC1=CC=CC=C1C(=O)O')
Draw.MolToImageFile(aspirin,'/Users/zeoy/st/drug_development/st_rdcit/img/mol52.jpg',legend='aspirin'
)
阿司匹林

# sp2杂化的原子
sp2_atoms = aspirin.GetSubstructMatches(Chem.MolFromSmarts('[^2]'))
# sp3杂化的原子
sp3_atoms = aspirin.GetSubstructMatches(Chem.MolFromSmarts('[^3]'))
print('sp2 atoms'
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
