计算化学公社

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

[综合交流] 求助有没有懂RDKit的大佬,想利用RDKit读取out文件

[复制链接 Copy URL]

45

帖子

0

威望

272

eV
积分
317

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
想要利用RDKit读取Gaussian的out文件之后从分子结构中提取所有的分子描述符,现在用了下面的代码之后,显示[size=13.0667px][21:13:29] Cannot convert ' De' to unsigned int on line 4Failed to read molecule structure from the Gaussian output file.[size=13.0667px]初步猜测可能是RDKit的函数选择的不正确(可能是由于输出文件的信息太多,因为这个函数读取的文件格式和out文件格式不太一样)(因为out文件gauss view和multiwfn都可以正确的显示分子),不知道有没有大佬做过类似的任务,有没有别的解决方法?代码中只显示了部分要提取的分子性质from rdkit import Chem
from rdkit.Chem import Descriptors
from rdkit.Chem import AllChem

# 读取 Gaussian out 文件
with open('D:\\int-out\\1a.out', 'r') as file:
    content = file.read()

# 使用 RDKit 读取分子结构
molecule = Chem.MolFromMolFile('D:\\int-out\\1a.log')

# 计算分子的一般性质
if molecule:
    # 计算分子的LogP
    mol_logp = Descriptors.MolLogP(molecule)
    print(f'Molecular LogP: {mol_logp}')

    # 计算分子的总电荷
    mol_charge = AllChem.GetFormalCharge(molecule)
    print(f'Total Charge: {mol_charge}')
else:
    print('Failed to read molecule structure from the Gaussian output file.')


125

帖子

0

威望

2300

eV
积分
2425

Level 5 (御坂)

2#
发表于 Post on 2023-12-3 21:31:01 | 只看该作者 Only view this author
你要找的是不是: cclib ?

45

帖子

0

威望

272

eV
积分
317

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2023-12-4 21:10:44 | 只看该作者 Only view this author
doublezhang 发表于 2023-12-3 21:31
你要找的是不是: cclib ?

刚刚查了下这个好像确实可以,您用过嘛?可以指点下我嘛?谢谢大佬

2

帖子

0

威望

150

eV
积分
152

Level 3 能力者

4#
发表于 Post on 2023-12-5 14:39:07 | 只看该作者 Only view this author
Chem.MolFromMolFile()是读取mol文件的,不能读取out文件。你可以提取out文件里的坐标按照xyz文件格式写一个xyz文件然后用Chem.MolFromXYZBlock转成rdkit可读的mol文件格式再去做后续任务。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
doublezhang + 5

查看全部评分 View all ratings

45

帖子

0

威望

272

eV
积分
317

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2023-12-5 17:04:46 | 只看该作者 Only view this author
duyunguye 发表于 2023-12-5 14:39
Chem.MolFromMolFile()是读取mol文件的,不能读取out文件。你可以提取out文件里的坐标按照xyz文件格式写一 ...

好的,我试一下,谢谢您!我是不是应该选择能量最低的那个坐标?就是对应SCF Done值的那个坐标?

45

帖子

0

威望

272

eV
积分
317

Level 3 能力者

6#
 楼主 Author| 发表于 Post on 2023-12-5 17:06:38 | 只看该作者 Only view this author
duyunguye 发表于 2023-12-5 14:39
Chem.MolFromMolFile()是读取mol文件的,不能读取out文件。你可以提取out文件里的坐标按照xyz文件格式写一 ...

好的谢谢您!我试一下,我想问下您提取这个坐标有没有比较快速提取的脚本?我的out文件有点多

本版积分规则 Credits rule

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

GMT+8, 2024-11-26 01:25 , Processed in 0.186127 second(s), 28 queries , Gzip On.

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