我试图从琥珀加载一个.crd文件,但是这失败了,因为它不是MDAnalysis expect格式的(请参阅最后的错误):
topology = 'top.prmtop'
trajectory = 'amberOut.crd'
u = MDAnalysis.Universe(topology, trajectory)我看到了这个线程和这个图书馆,如果我可以使用MDAnalysis读取琥珀.crd文件的话,我不想使用它。
知道为什么不起作用吗?如果我在VMD中加载轨迹,我将使用以下命令(它可以工作):
vmd -parm7 top.prmtop -crdbox amberOut.crdTraceback (most recent call last):
File "analysis.py", line 5, in <module>
u = MDAnalysis.Universe(topology, trajectory)
File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/core/universe.py", line 305, in __init__
self.load_new(coordinatefile, **kwargs)
File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/core/universe.py", line 535, in load_new
self.trajectory = reader(filename, **kwargs)
File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/coordinates/base.py", line 1943, in __init__
self._read_first_frame()
File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/coordinates/CRD.py", line 73, in _read_first_frame
natoms = int(fields[0])
ValueError: invalid literal for int() with base 10: '96.380'发布于 2018-02-13 22:35:45
在命令中为format="TRJ"使用宇宙关键字参数:
u = MDAnalysis.Universe("top.prmtop", "amberOut.crd", format="TRJ")您说使用VMD与"crdbox“,"crdbox”扩展被MDAnalysis识别为琥珀ASCII弹道。但是,用于文件的"crd“扩展名已经用于CHARMM坐标文件("CRD”文件),因此需要为Universe显式指定轨迹格式。
(如果你给出你的轨迹扩展"crdbox“或"trj”,如"amberOut.crdbox“或"amberOut.trj”,那么MDAnalysis将自动识别它为ASCII轨迹。但是,始终可以使用显式format关键字参数覆盖格式检测。)
更新:基于这个问题,我们更新了琥珀轨迹阅读器的MDAnalysis文档,以包括如何读取琥珀"crd“轨迹的注释。
https://stackoverflow.com/questions/48669651
复制相似问题