我可以仅使用PDB文件执行PCA(在python3.x中使用MDAnalysis吗?

问题描述 投票:0回答:1

我可能比与代码相关的问题更具技术性。我尝试仅使用PDB文件执行PCA(带有MDAnalysis包)-该pdb文件包含100个对齐的结构(当然,它们是相同的-表示相同类型和数量的原子;这是在PyMol中完成的。)>

我将先前制作的代码用于具有标准轨迹的PCA,但返回错误“ 无法从单个轨迹框架收集协方差信息

。”

因此,我的假设是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")

我可能比与代码相关的问题更具技术性。我尝试仅使用PDB文件执行PCA(带有MDAnalysis包)-此pdb文件包含100个对齐的结构(当然,它们是相同的-...

bioinformatics pca pymol cheminformatics mdanalysis
1个回答
0
投票

如果您的PDB文件被mdtraj视为“多帧” PDB文件(而不是单帧PDB),则必须用“ END”而不是“ TER”分隔每个构造。

© www.soinside.com 2019 - 2024. All rights reserved.