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