计算化学公社

 找回密码 Forget password
 注册 Register
Views: 10372|回复 Reply: 8
打印 Print 上一主题 Last thread 下一主题 Next thread

[其它程序] RDkit是否支持读取gaussian_view产生的mol文件?

[复制链接 Copy URL]

68

帖子

0

威望

1161

eV
积分
1229

Level 4 (黑子)

最近在搞分子高通量筛选的工作,刚刚接触rdkit这个工具,网络教程里都明确说支持mol文件的读取,但是我实操下来发现,rdkit读不了gaussian_view产生的mol文件,能读取chemdraw产生的mol文件。仔细对比发现,这两种程序产生的mol文件内容格式是一样的,数值有细微不同,高斯产生的mol文件的坐标是三维立体的,而chemdraw的mol是二维平面的。所以是不是rdkit不支持gaussian_view产生的这种三维mol文件? 探过路大佬请多多指点一下,谢谢!

136

帖子

0

威望

2432

eV
积分
2568

Level 5 (御坂)

来自 2#
发表于 Post on 2021-7-16 16:53:42 | 只看该作者 Only view this author
中间贴一层openbabel把mol转成smiles

68

帖子

0

威望

1161

eV
积分
1229

Level 4 (黑子)

来自 8#
 楼主 Author| 发表于 Post on 2021-11-18 12:14:42 | 只看该作者 Only view this author
ShangChien 发表于 2021-11-5 12:46
从祖传脚本中发现了更简单的方法,无需使用openbabel中间转换。具体方法为修改GassianView转换得到的*.mol ...

这个方法不是100%可以成功,具体看楼下讨论

68

帖子

0

威望

1161

eV
积分
1229

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2021-7-20 15:47:41 | 只看该作者 Only view this author
doublezhang 发表于 2021-7-16 16:53
中间贴一层openbabel把mol转成smiles

谢谢回复,我暂时确实也是这么做的,但是这会失去部分三维的坐标信息。期待开发组吧!

68

帖子

0

威望

1161

eV
积分
1229

Level 4 (黑子)

4#
 楼主 Author| 发表于 Post on 2021-11-5 12:46:25 | 只看该作者 Only view this author
本帖最后由 ShangChien 于 2021-11-5 12:59 编辑

从祖传脚本中发现了更简单的方法,无需使用openbabel中间转换。具体方法为修改GassianView转换得到的*.mol文件:
将第四行最后的三个“0”修改为“0999 V2000”

修改前:
  1. s0 opt

  2. Created by GaussView 6.0.16
  3. 60 63  0  0  0  0  0  0  0  0  0    0
复制代码

修改后:
  1. s0 opt

  2. Created by GaussView 6.0.16
  3. 60 63  0  0  0  0  0  0  0  0999 V2000
  4.     0.0176   -1.3872   -0.0099 C   0  0  0  0  0  0  0  0  0  0  0  0
  5. ......
复制代码
然后就可以完美使用rdkit中的Chem.MolFromMolFile("*.mol")
撒花

68

帖子

0

威望

1161

eV
积分
1229

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2021-11-5 12:58:15 | 只看该作者 Only view this author
本帖最后由 ShangChien 于 2021-11-8 10:38 编辑
ShangChien 发表于 2021-11-5 12:46
从祖传脚本中发现了更简单的方法,无需使用openbabel中间转换。具体方法为修改GassianView转换得到的*.mol ...

如果有小伙伴使用了Pathlib文件系统来传递mol文件的路径,那么Chem.MolFromMolFile(path)会报错。因为这个接口仅支持字符串https://github.com/rdkit/rdkit/issues/2923
解决办法也很简单:
  1. Chem.MolFromMolFile(str(path))
复制代码
or
  1. Chem.MolFromMolFile(path.as_posix())
复制代码

14

帖子

0

威望

601

eV
积分
615

Level 4 (黑子)

6#
发表于 Post on 2021-11-17 20:08:09 | 只看该作者 Only view this author
ShangChien 发表于 2021-11-5 12:46
从祖传脚本中发现了更简单的方法,无需使用openbabel中间转换。具体方法为修改GassianView转换得到的*.mol ...

我试了一下,这个方法好像不适合我的结构

CCPU-3-F-P-MP2.mol

5.94 KB, 下载次数 Times of downloads: 4

68

帖子

0

威望

1161

eV
积分
1229

Level 4 (黑子)

7#
 楼主 Author| 发表于 Post on 2021-11-18 11:28:17 | 只看该作者 Only view this author
本帖最后由 ShangChien 于 2021-11-18 11:29 编辑
hdb 发表于 2021-11-17 20:08
我试了一下,这个方法好像不适合我的结构

我试了一下你的结构,确实无法成功。很抱歉没有提供完美的方法。刚找到这段代码的时候只是测试了一个分子,所以也没有使用这种方法替换openbabel更新到自己的代码中(懒,怕出问题,果然有问题)。
我刚刚随机测试了一下,有的分子是可以的,有的不行。我暂时没有发现成功的规律,不过我可以提供一下我的测试代码和文件,期待后续有前辈能解决一下。

test.rar (72.46 KB, 下载次数 Times of downloads: 7)

14

帖子

0

威望

601

eV
积分
615

Level 4 (黑子)

9#
发表于 Post on 2021-11-19 11:58:57 | 只看该作者 Only view this author
ShangChien 发表于 2021-11-18 11:28
我试了一下你的结构,确实无法成功。很抱歉没有提供完美的方法。刚找到这段代码的时候只是测试了一个分子 ...

感谢回复,对比gaussview和rdkit输出的mol其实可以发现有很多不同点,目前不明确mol文件所有参数的含义,后续有进展我再跟进

本版积分规则 Credits rule

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

GMT+8, 2025-8-14 07:03 , Processed in 0.175454 second(s), 25 queries , Gzip On.

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