Matlab:查询pdb文件中的所有氮坐标?

时间:2014-10-07 14:06:44

标签: matlab bioinformatics protein-database

我试图从泛素蛋白中提取氮坐标。我有来自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)数据分别提取到数组?

2 个答案:

答案 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);