我试图从泛素蛋白中提取氮坐标。我有来自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)数据分别提取到数组?
答案 0 :(得分:2)
如果每个x.Model.Atom.X
是一个数字(假设这是给定原子的X坐标),那么:
X = [x.Model.Atom.X];
%etc for each field
应返回X坐标的1x602
向量
在某些情况下,您可能希望返回包含所有字段值的单元格数组:
out = {x.Model.Atom.somefield}
答案 1 :(得分: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);