0

我试图从泛素蛋白中提取氮坐标。我有来自http://rcsb.org/pdb/home/home.do网站的 1UBQ.pdb 文件。我做了以下事情。

pdb1 ='/home/devanandt/Documents/VMD/1UBQ.pdb';
x=pdbread(pdb1)
y=x.Model.Atom

'y' 变量给出 1x602 结构数组,其中包含许多字段,包括坐标 X、Y、Z。该蛋白质中有 76 个残基,因此有 76 个氮。如何将(X,Y,Z)数据分别提取到数组中?

4

2 回答 2

2

如果每个x.Model.Atom.X都是单个数字(假设这是给定原子的 X 坐标),则:

X = [x.Model.Atom.X]; 
%etc for each field

应该返回1x602X 坐标的向量

在某些情况下,您可能希望返回一个包含所有字段值的元胞数组:

out = {x.Model.Atom.somefield}
于 2014-10-07T15:47:40.840 回答
0

这就是我实现它的方式。

pdb1 ='/home/devanandt/Documents/VMD/1UBQ.pdb';
x=pdbread(pdb1);

atom={x.Model.Atom.AtomName};
n_i=find(strcmp(atom,'N')); % Find indices of atoms

X = [x.Model.Atom.X];
Y = [x.Model.Atom.Y];
Z = [x.Model.Atom.Z];

X_n = X(n_i); % X Y Z coordinates of N atoms
Y_n = Y(n_i);
Z_n = Z(n_i);
于 2014-10-07T17:33:55.353 回答