首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rdkit绘图-隐藏(不除去)氢

Rdkit绘图-隐藏(不除去)氢
EN

Stack Overflow用户
提问于 2020-08-31 18:29:03
回答 1查看 713关注 0票数 1

我试图突出碳在测试分子中的位置,同时隐藏隐含的氢。这是出乎意料的复杂,因为我有两个复杂的问题,每个问题都有一个解决办法,但不相容。

代码语言:javascript
复制
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import rdMolDraw2D
from rdkit.Chem.Draw import IPythonConsole
from IPython.display import SVG
import rdkit

Molblock = 'molblock information here'
mx = Chem.MolFromMolBlock(Molblock,sanitize=False)# this molblock already provides an atom map, which I must remove to keep from displaying all assignments in the final image


def remove_atom_indices(mol):
    for a in mol.GetAtoms():
        a.SetAtomMapNum(0)

remove_atom_indices(mx) # remove atom indicies, to keep them from being displayed - can this be passed as an arg? 
highlight = [96,89,113] # locations of atoms I wish to highlight, fetched from indicies which are now removed
drawer = rdMolDraw2D.MolDraw2DSVG(500,500) # I want to actually see this with eyeballs
# mx=Chem.RemoveHs(mx) #this does not work - assuming it rewrtires the indicies and is now incompatable when they are removed
drawer.DrawMolecule(mx,highlightAtoms=highlight)
drawer.FinishDrawing()
svg = drawer.GetDrawingText().replace('svg:','')
SVG(svg)

我可以在以下条件下生成图像文件:

  1. I没有提供高亮原子列表--这在这里是不可能的,这是重点。
  2. ,我不隐藏隐含的氢原子--“很好……我想”--除了在大型结构中,这创造了一个巨大的、不可读的脚手架。

如果允许下列之一的话,解决方案将是很好的:

  1. 只是在结构中不呈现1H,而是在mol文件中保留它们的存在(对于,不显示原子映射号)无法找到不删除它们的方法。--
EN

回答 1

Stack Overflow用户

发布于 2021-01-19 21:51:28

对不起,如果我没有正确理解你的问题,但是如果氢是隐含的,你不需要直接修改摩尔对象来阻止它们的显示。您可以使用RDKit Cookbook:https://rdkit.org/docs/Cookbook.html#without-implicit-hydrogens中的代码片段

代码语言:javascript
复制
for atom in m.GetAtoms():
    atom.SetProp("atomLabel", atom.GetSymbol())

至于隐藏原子索引,您只需修改drawOptions如下:http://rdkit.blogspot.com/2020/04/new-drawing-options-in-202003-release.html#Atom-and-bond-indices

代码语言:javascript
复制
drawer.drawOptions().addAtomIndices = False

这里有一个关于RDKit如何处理氢的更多信息:https://sourceforge.net/p/rdkit/mailman/message/36699970/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63676279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档