固定类似化合物公共结构的取向,方便比较差异

在我们想比较多个具有子结构的化合物的差异时,由于分子结构图的取向不同,会带来观感上的不便,例如下面这4个结构都含有吡咯并嘧啶(c1nccc2n1ccc2)的子结构, 但是在图片上他们的子结构取向不一致,不便于比较他们的结构。 我们可以采用模板绘制法固定公共子结构的取向

from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import AllChem
smis=[
    'COC1=C(C=CC(=C1)NS(=O)(=S)C)C2=CN=CN3C2=CC=C3',
    'C1=CC2=C(C(=C1)C3=CN=CN4C3=CC=C4)ON=C2C5=CC=C(C=C5)F',
    'CCN(CC1=C(C=CC(=C1)C(F)(F)F)C2=CC(=C3N2C=NC=C3)CC(=O)O)C(=O)C4CC4',
    'COC(=O)C1=CC2=CC=CN2C=N1',
    ]
mols=[]
for smi in smis:
    mol = Chem.MolFromSmiles(smi)
    mols.append(mol)
img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(180,200),legends=['' for x in mols])
img

 

template = Chem.MolFromSmiles('c1nccc2n1ccc2')#公共子结构
AllChem.Compute2DCoords(template)
mols=[]
for smi in smis:
    mol = Chem.MolFromSmiles(smi)
    AllChem.GenerateDepictionMatching2DStructure(mol,template)#模板绘制法,固定公共子结构的取向
    mols.append(mol)
img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(180,200),legends=['' for x in mols])
img

 输出的img中,公共子结构的取向一致。可以很清楚地比较各个官能团的差异。


总结,下次遇到一系列具有公共子结构的smi文件想美观地表示,直接用代码固定子结构取向:

from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import AllChem
smis=[
    'COC1=C(C=CC(=C1)NS(=O)(=S)C)C2=CN=CN3C2=CC=C3',
    'C1=CC2=C(C(=C1)C3=CN=CN4C3=CC=C4)ON=C2C5=CC=C(C=C5)F',
    'CCN(CC1=C(C=CC(=C1)C(F)(F)F)C2=CC(=C3N2C=NC=C3)CC(=O)O)C(=O)C4CC4',
    'COC(=O)C1=CC2=CC=CN2C=N1',
    ]
template = Chem.MolFromSmiles('c1nccc2n1ccc2')#公共子结构
AllChem.Compute2DCoords(template)#模板绘制
mols=[]
for smi in smis:
    mol = Chem.MolFromSmiles(smi)
    AllChem.GenerateDepictionMatching2DStructure(mol,template)#固定公共子结构的取向
    mols.append(mol)
img=Draw.MolsToGridImage(mols,molsPerRow=4,subImgSize=(180,200),legends=['' for x in mols])
img

 


相关参考链接:

基础教程 — RDKit 中文教程 2020.09 文档icon-default.png?t=M276http://rdkit.chenzhaoqiang.com/basicManual.html#d

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LRJ-jonas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值