2017-07-26 13 views
0

MDAnalysis.pca.transform()から生成された形状(150017,5)の配列tpcsを持っています。私はこれを視覚化するための軌道としてロードしようとしています。私が試した:MDAnalysisの主成分に軌道を投影して生成された配列をロードするにはどうすればよいですか?

エラーを返し
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) 

どのように私は軌道にこの配列を読み込むことができますか?

答えて

0

ロード3次元データはgroファイルにのみ格納できます。使用するPCAスペースは5次元です。 MDAnalysisを使ってPCA空間を視覚化するだけでは機能しません。あなたは、PCAが識別する状態の間に非物理的なモーフを示すために、グロマックを使用することができます。

個々のPCAコンポーネントは、matplotlibでプロットできる集合変数です。個別にまたはペアで。このgistを参照すると、PCAスペースの視覚化と、MDAnalysisとGromacsを使用してPCAが検出した状態を視覚化する方法が表示されます。

関連する問題