【问题标题】:How to separately get the X, Y or Z coordinates from a pdb file如何从 pdb 文件中分别获取 X、Y 或 Z 坐标
【发布时间】:2018-05-29 06:17:52
【问题描述】:

我有一个 PDB 文件 '1abz' (https://files.rcsb.org/view/1ABZ.pdb),其中包含蛋白质结构的坐标。请忽略标题注释的行,有趣的信息从第 276 行开始,其中显示“模型 1”。

我想从 pdb 文件中分别获取 X、Y 或 Z 坐标。

此链接解释了 pdb 文件的列号:http://cupnet.net/pdb-format/

这是我拥有的代码,但我收到一条错误消息。

from Bio import PDB

parser = PDB.PDBParser()
io = PDB.PDBIO()
struct = parser.get_structure('1abz','1abz.pdb')

for model in struct:
    for chain in model:
        for residue in chain:
            for atom in residue:
                XYZ = atom.get_coord()
                for line in XYZ:
                    x_coord = float(line[30:38].strip())
                    y_coord = float(line[38:46].strip())
                    z_coord = float(line[46:54].strip())
                    print x_coord
                    print y_coord
                    print z_coord

【问题讨论】:

  • 请发布错误信息 - 将其格式化为代码
  • BioPythons PDB 解析器的优点是你得到了一个 Python 对象。您不需要自己解析信息,即line[30:38] 将由 BioPython 完成并以 x 坐标编写。

标签: python biopython protein-database


【解决方案1】:

应该做和上面一样的事情。

    import mdtraj as md 
    pdbfile='1ABZ.pdb'
    traj=md.load_pdb(pdbfile)
    print traj.xyz[0]

【讨论】:

    【解决方案2】:
    >>> Bio.__version__
    '1.69'
    

    from Bio import PDB
    
    parser = PDB.PDBParser()
    io = PDB.PDBIO()
    struct = parser.get_structure('1ABZ','1ABZ.pdb')
    
    for model in struct:
        for chain in model:
            for residue in chain:
                for atom in residue:
                    x,y,z = atom.get_coord()
                    print(x,y,z)
    

    结果:

    15.254 -0.607 3.211
    16.429 -0.874 3.019
    14.337 -1.034 2.53
    14.908 0.287 4.404
    13.772 1.237 4.018
    12.591 1.037 4.971
    11.729 0.213 4.737
    15.778 0.862 4.685
    14.596 -0.326 5.237
    13.458 1.028 3.007
    14.118 2.259 4.084
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 2019-04-10
      • 2022-11-13
      • 2016-02-06
      • 1970-01-01
      • 2014-12-02
      相关资源
      最近更新 更多