在MDAnalysis中,如何加载通过在其主分量上投影轨迹生成的数组?

2024-06-08 20:41:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组,tpcs,形状(150017,5)是由MDAnalysis.pca.transform转换(). 我试着把它作为一个轨迹来可视化。我试过:

 u = mda.Universe(trjpath+'md.gro', tpcs)

返回错误:

ValueError                                Traceback (most recent call last)
<ipython-input-80-ea97f213be3c> in <module>()
----> 1 u = mda.Universe(trjpath+'md.gro', tpcs)
/nfs/homes/kreidy/Library/mdanalysis/package/MDAnalysis/core/universe.pyc in __init__(self, *args, **kwargs)
    276             else:
    277                 coordinatefile = args[1:]
--> 278             self.load_new(coordinatefile, **kwargs)
    279 
    280         # Check for guess_bonds
/nfs/homes/kreidy/Library/mdanalysis/package/MDAnalysis/core/universe.pyc in load_new(self, filename, format, in_memory, **kwargs)
    424         kwargs['n_atoms'] = self.atoms.n_atoms
    425 
--> 426         self.trajectory = reader(filename, **kwargs)
    427         if self.trajectory.n_atoms != len(self.atoms):
    428             raise ValueError("The topology and {form} trajectory files don't"
/nfs/homes/kreidy/Library/mdanalysis/package/MDAnalysis/coordinates/memory.pyc in __init__(self, coordinate_array, order, dimensions, dt, filename, **kwargs)
    275                                  "does not match the shape of the coordinate "
    276                                  "array ({})"
--> 277                                  .format(provided_n_atoms, self.n_atoms))
    278 
    279         self.ts = self._Timestep(self.n_atoms, **kwargs)
ValueError: The provided value for n_atoms (132506) does not match the shape of the coordinate array (5)

如何将此数组加载到轨迹中?你知道吗


Tags: theinselfpackagelibrarytpcskwargspyc
1条回答
网友
1楼 · 发布于 2024-06-08 20:41:09

只能将load三维数据存储在gro文件中。你使用的PCA空间是5维的。此外,用MDAnalysis可视化PCA空间也行不通。您可以使用gromacs来显示PCA标识的状态之间的非物理变形。你知道吗

单个PCA组件是可以使用matplotlib绘制的集合变量。单独或成对。有关PCA空间的可视化以及如何使用MDAnalysis和Gromacs可视化PCA发现的状态,请参见gist。你知道吗

相关问题 更多 >