计算化学公社

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

[程序/脚本开发] MDAnalyse无法读取trr文件

[复制链接 Copy URL]

55

帖子

0

威望

515

eV
积分
570

Level 4 (黑子)

本帖最后由 jrfjrf123 于 2025-2-12 10:23 编辑

想请问一下,我在使用MDAnalyse读取trr文件时出现如下的报错:
(环境是在pycharm中创建的,版本为Python 3.12.7,输入的拓扑文件为Gromacs的tpr文件,轨迹文件为trr文件,Gromacs版本为2024.3)


Traceback (most recent call last):
  File "D:\pythonProject\data_analyse\PU\end_to_end_ACF.py", line 8, in <module>
    trr_data = mda.Universe("{}/{}".format(root_path, top_file_name), "{}/{}".format(root_path, traj_file_name))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\pythonProject\test\venv\Lib\site-packages\MDAnalysis\core\universe.py", line 436, in __init__
    self.load_new(coordinates, format=format, in_memory=in_memory,
  File "D:\pythonProject\test\venv\Lib\site-packages\MDAnalysis\core\universe.py", line 665, in load_new
    self.trajectory = reader(filename, format=format, **kwargs)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\pythonProject\test\venv\Lib\site-packages\MDAnalysis\lib\util.py", line 2562, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\pythonProject\test\venv\Lib\site-packages\MDAnalysis\coordinates\XDR.py", line 148, in __init__
    self._xdr = self._file(self.filename)
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "MDAnalysis\\lib\\formats\\libmdaxdr.pyx", line 135, in MDAnalysis.lib.formats.libmdaxdr._XDRFile.__cinit__
  File "MDAnalysis\\lib\\formats\\libmdaxdr.pyx", line 199, in MDAnalysis.lib.formats.libmdaxdr._XDRFile.open
OSError: XDR read error = notfound
Exception ignored in: <function ReaderBase.__del__ at 0x0000020BCEEB7B00>
Traceback (most recent call last):
  File "D:\pythonProject\test\venv\Lib\site-packages\MDAnalysis\coordinates\base.py", line 1531, in __del__
    self.close()
  File "D:\pythonProject\test\venv\Lib\site-packages\MDAnalysis\coordinates\XDR.py", line 186, in close
    self._xdr.close()
    ^^^^^^^^^
AttributeError: 'TRRReader' object has no attribute '_xdr'



我查了一下这可能是由于xdrlib相关的库文件缺失导致的,但我检查了一下环境中安装的依赖,存在xdrlib,应该是安装MDAnalyse时同时安装的:


想请问一下,造成这种现象的原因可能是什么,该如何解决


1_frame.trr (242.46 KB, 下载次数 Times of downloads: 1) topol.tpr (363.26 KB, 下载次数 Times of downloads: 1) 当前环境库列表.txt (2.85 KB, 下载次数 Times of downloads: 2)




73

帖子

0

威望

1801

eV
积分
1874

Level 5 (御坂)

2#
发表于 Post on 2025-2-12 10:06:08 | 只看该作者 Only view this author
可以的话,上传一下tpr和trr文件

55

帖子

0

威望

515

eV
积分
570

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2025-2-12 10:13:50 | 只看该作者 Only view this author
lucky1999 发表于 2025-2-12 10:06
可以的话,上传一下tpr和trr文件

已上传了trr与tpr文件,由于原trr过大,我只截取了一帧的trr,但报错是同样的

73

帖子

0

威望

1801

eV
积分
1874

Level 5 (御坂)

4#
发表于 Post on 2025-2-12 10:45:13 | 只看该作者 Only view this author
我刚刚试了一下,在我的电脑上是可以正常读取的,你可以试试更新一下MDAnalysis的版本,我的MDAnalysis版本是2.8.0。

MDanalysis.png (59.06 KB, 下载次数 Times of downloads: 17)

MDanalysis.png

55

帖子

0

威望

515

eV
积分
570

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2025-2-12 11:38:35 | 只看该作者 Only view this author
本帖最后由 jrfjrf123 于 2025-2-12 11:43 编辑
lucky1999 发表于 2025-2-12 10:45
我刚刚试了一下,在我的电脑上是可以正常读取的,你可以试试更新一下MDAnalysis的版本,我的MDAnalysis版本 ...

我的版本是没问题的,但我找到原因了,应该是我的地址中存在中文,导致程序无法识别文件所在的地址



path1 和 path2 的路径不包含中文,path3和path4的路径包含中文
前者读取成功了,后者发生了同样的错误提示

我怀疑是因为MDAnalysis读取轨迹时会写入一个npz文件,这个路径在传递过程中出现编码问题
目前来说我使用英文路径应该就能解决这个问题

但不知道您有没有什么比较好的方法解决这个中文路径问题


补充:使用MDAnalysis读取gro文件的时候就不存在这个bug,估计是MDAnalysis中TRRReader独有的问题

          可能是因为使用了xrd这个c语言库,不像纯python脚本那样支持中文路径(但我不太懂C,所以不知道对不对)

152

帖子

0

威望

888

eV
积分
1040

Level 4 (黑子)

6#
发表于 Post on 2025-2-12 13:31:59 | 只看该作者 Only view this author
jrfjrf123 发表于 2025-2-12 11:38
我的版本是没问题的,但我找到原因了,应该是我的地址中存在中文,导致程序无法识别文件所在的地址

解决办法就是文件夹及文件名称不要有中文和空格

本版积分规则 Credits rule

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

GMT+8, 2026-1-24 13:34 , Processed in 0.170618 second(s), 23 queries , Gzip On.

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