如何解决有没有办法从配体残基获得原子的完整列表?
我目前正在分析由蛋白质袋和配体分子组成的PDB文件。 每个配体的残基名称设置为“ UNL”,PDB文件如下所示:
HETATM 82 C UNL 1 26.597 -14.916 44.878 1.00 0.00 C
HETATM 83 C UNL 1 26.531 -16.231 44.189 1.00 0.00 C
HETATM 84 C UNL 1 27.120 -15.808 42.893 1.00 0.00 C
HETATM 85 C UNL 1 28.329 -15.071 43.387 1.00 0.00 C
HETATM 86 C UNL 1 28.931 -14.170 42.366 1.00 0.00 C
HETATM 87 O UNL 1 26.682 -15.216 46.247 1.00 0.00 O
HETATM 88 O UNL 1 27.464 -17.006 44.905 1.00 0.00 O
HETATM 89 O UNL 1 27.392 -16.979 42.137 1.00 0.00 O
HETATM 90 O UNL 1 27.766 -14.291 44.394 1.00 0.00 O
HETATM 91 O UNL 1 30.134 -13.666 42.869 1.00 0.00 O
HETATM 92 P UNL 1 30.766 -12.347 42.334 1.00 0.00 P
HETATM 93 O UNL 1 29.854 -11.258 42.524 1.00 0.00 O
HETATM 94 O UNL 1 31.832 -12.240 43.274 1.00 0.00 O
HETATM 95 O UNL 1 31.114 -12.735 40.988 1.00 0.00 O
HETATM 96 P UNL 1 25.791 -14.349 47.212 1.00 0.00 P
HETATM 97 O UNL 1 25.136 -13.375 46.321 1.00 0.00 O
HETATM 98 O UNL 1 24.939 -15.263 47.985 1.00 0.00 O
HETATM 99 O UNL 1 27.047 -13.730 48.313 1.00 0.00 O
HETATM 100 P UNL 1 27.751 -12.152 47.857 1.00 0.00 P
HETATM 101 O UNL 1 26.680 -11.123 47.845 1.00 0.00 O
HETATM 102 O UNL 1 28.472 -12.318 46.604 1.00 0.00 O
HETATM 103 O UNL 1 28.661 -12.022 49.014 1.00 0.00 O
我试图简单地通过以下方式获得原子列表
from Bio.PDB.PDBParser import PDBParser
import numpy as np
structure = PDBParser(QUIET=True).get_structure('X','sample.pdb')
lig_res = [r for r in structure.get_residues() if r.get_resname() == 'UNL'][0]
print(lig_res.get_unpacked_list())
ligand_atoms = [a.get_coord() for a in lig_res.get_atoms()]
print(len(ligand_atoms))
print(np.array(ligand_atoms))
但是,我得到的是
[<Atom C>,<Atom O>,<Atom P>]
3
[[ 26.597 -14.916 44.878]
[ 26.682 -15.216 46.247]
[ 30.766 -12.347 42.334]]
只有三个原子,看起来像是配体的代表原子。
有没有办法从配体残基获得原子的完整列表?
谢谢。
解决方法
我认为PDB文件无效。根据{{3}} “残基中的每个原子必须是唯一可识别的。同一残基中的两个原子只有具有不同的备用位置标识符,才能使用相同的名称。”
您总是得到第一个名为C,O和P的原子。当我将PDB文件的第2行更改为要读取时
HETATM 83 C1 UNL 1 26.531 -16.231 44.189 1.00 0.00 C
您的脚本返回4个原子。 我认为您必须更改原子的名称,以使它们唯一。要么修复创建PDB文件的脚本(如果它在您的控制之下),要么编写一个脚本,通过适当的重命名来修复PDB文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。