我可能有比代码相关的更多的技术性问题。我尝试用PCA文件来执行主成分分析( MDAnalysis包)--这个PCA文件包含100个对齐结构(当然,它们是相同的--它意味着相同的原子类型和数量;它是在PyMol中完成的)。
我使用我以前为PCA编写的带有标准轨迹的代码,但是它返回错误“没有协方差信息可以从asingle轨道框架收集”。
因此,我的缺点是,PCA不能只使用PDB文件或它可以,但我没有正确的pdb-输入。我想知道是否有人曾经尝试过这样的东西,或有良好的MDAnalysis经验,并能给我任何建议(我是新的计算化学)。
我认为,代码并不那么需要,但我附加了以下内容:
import matplotlib.pyplot as plt
import MDAnalysis as mda
from MDAnalysis.analysis.pca import PCA
import numpy as np
u = mda.Universe("mypdb.pdb")
ca = u.select_atoms('name CA')
pca = PCA(u, select='name CA').run()
n_pcs = np.where(pca.cumulated_variance > 0.95)[0][0]
reduced_data = pca.transform(ca, n_components=n_pcs)
plt.plot(pca.variance, "-o")发布于 2020-05-07 09:22:44
如果mdtraj将PDB文件视为“多帧”PDB文件(而不是单个框架PDB),则必须将每个构象按"END“而不是"TER”分隔。
https://stackoverflow.com/questions/59053565
复制相似问题