计算化学公社

 找回密码 Forget password
 注册 Register

如何解决rdkit.AllChem模块中EmbedMolecule()方法无法生成复杂分子3D结构?

查看数: 8110 | 评论数: 12 | 收藏 Add to favorites 7
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-11-7 11:29

正文摘要:

本帖最后由 wangxubin 于 2021-11-7 15:12 编辑 我最近在学习分子模拟相关内容,其中涉及将SMILES翻译成包含分子3D信息的xyz文件。 我尝试使用openbabel、rdkit对SMILES进行翻译,结果是对于小分子,它们都可以 ...

回复 Reply

aipacino 发表于 Post on 2025-2-18 12:55:23
各位老师,我想请教一下怎么正确地生成盐类分子的三维坐标,我用RDkit和pybel生成的原子重叠,阴离子构型也不合理(以[Li+].F[P-](F)(F)(F)(F)F为例):

202502181254201831..png (45.29 KB, 下载次数 Times of downloads: 44)

pybel生成的构型

pybel生成的构型

202502181253209518..png (26.74 KB, 下载次数 Times of downloads: 42)

正确构型

正确构型
goldNAN 发表于 Post on 2023-1-10 19:52:50
收藏
wangxubin 发表于 Post on 2023-1-7 12:31:49
libo371324 发表于 2022-12-29 10:40
我想问一下这个模块目前默认的产生坐标的设置是useExpTorsionAnglePrefs=True, useBasicKnowledge=True, ...

抱歉啊,刚看见,不知道你是否已经解决。
按照我之前的解决方案,应该将你的代码改为
“AllChem.EmbedMolecule(a, useRandomCoords=True)”,应该可以避免原子重叠。
至于openbabel的pybel的安装依照“冰释之川”的回答即可。
冰释之川 发表于 Post on 2022-12-30 09:50:49
libo371324 发表于 2022-12-30 09:30
我昨天弄了一天的openbabel包,但是一直不成功,from openbabel import pybel,一直导入失败,到现在也没 ...

直接conda装就行了 conda install openbabel
libo371324 发表于 Post on 2022-12-30 09:30:43

我昨天弄了一天的openbabel包,但是一直不成功,from openbabel import pybel,一直导入失败,到现在也没有下载成功,我按照网站上下载安装,也是不成功,能给一下详细的下载教程吗
冰释之川 发表于 Post on 2022-12-29 21:13:35
libo371324 发表于 2022-12-29 10:40
我想问一下这个模块目前默认的产生坐标的设置是useExpTorsionAnglePrefs=True, useBasicKnowledge=True, ...

换pybel 试试
RDKit_3D_mols_gen.py (2.7 KB, 下载次数 Times of downloads: 61)
libo371324 发表于 Post on 2022-12-29 10:40:22
wangxubin 发表于 2021-11-9 21:51
谢谢社长,我试过直接用openbabel产生结构,对于复杂分子,存在生成极不合理的分子结构的情况,比如多个 ...

我想问一下这个模块目前默认的产生坐标的设置是useExpTorsionAnglePrefs=True, useBasicKnowledge=True,但是我在使用的过程中出现了那种极不合理的分子结构,所有的原子都重合了,即a= AllChem.EmbedMolecule(),等于-1的那种情况,我师弟给我说是生成失败了,这种情况应该怎么办,换用open babel这个软件包吗,还是说rdkit有其他的构象生成的方法。
wangxubin 发表于 Post on 2021-11-9 21:51:21
sobereva 发表于 2021-11-8 22:31
把openbabel搞出来的结构,以及进一步用openbabel做MMFF94力场优化后的结构都截个图。如果后者就已经足够合 ...

谢谢社长,我试过直接用openbabel产生结构,对于复杂分子,存在生成极不合理的分子结构的情况,比如多个原子重叠。
目前已通过下述方法实现生成、优化分子结构。
AllChem.EmbedMolecule(mol, useRandomCoords=True)
AllChem.MMFFOptimizeMolecule(mol)
sobereva 发表于 Post on 2021-11-8 22:31:03
把openbabel搞出来的结构,以及进一步用openbabel做MMFF94力场优化后的结构都截个图。如果后者就已经足够合理,就用它就完了
心向暖阳 发表于 Post on 2021-11-8 15:24:09
wangxubin 发表于 2021-11-8 11:05
都有xyz文件了,直接用openbabel转换更方便一些。
obabel -ixyz test.xyz -omol -O test.mol

嗯呢 这不是想着少用一个工具算一个么
wangxubin 发表于 Post on 2021-11-8 11:05:26
心向暖阳 发表于 2021-11-8 09:36
插楼问一下哈,xyz转成mol有自带的函数么

都有xyz文件了,直接用openbabel转换更方便一些。
obabel -ixyz test.xyz -omol -O test.mol
心向暖阳 发表于 Post on 2021-11-8 09:36:00
插楼问一下哈,xyz转成mol有自带的函数么

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-18 13:24 , Processed in 0.205650 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list