如何根据链B上的原子列表计算链A(CZ)原子的受体特定原子之间的距离



非常感谢您提前抽出时间。我想计算一个原子与A链的距离与多个原子与B链的距离

我的PDB文件有以下条目

链条A原子32 CZ ARG A 89-9.472 17.209-4.849 1.00 49.73 C

链条B原子538 O4’DG B 2-6.257 16.810 11.821 1.00 71.16 O原子539 C3’DG B 2-4.271 15.614 11.464 1.00 73.87 C

链条C原子830 O3’DC c2-8.757 5.249-25.109 1.00 30.80 O原子831 C2’DC C2-6.307 4.905-25.202 1.00 32.20 C

更好:

ATOM     32  CZ  ARG A   89     -9.472  17.209  -4.849  1.00 49.73           C
ATOM    538  O4' DG  B   2      -6.257  16.810  11.821  1.00 71.16           O 
ATOM    539  C3' DG  B   2      -4.271  15.614  11.464  1.00 73.87           C
ATOM    830  O3* DC  C   2      -8.757   5.249 -25.109  1.00 30.80           O
ATOM    831  C2* DC  C   2      -6.307   4.905 -25.202  1.00 32.20           C

现在我想计算链A的CZ原子与链B之间的距离;原子O4’、C3’、O3’、C2’等之后的C。

请引导我。谢谢

这里是我的尝试:

from Bio import PDB
parser = PDB.PDBParser()
pdb1 ='pdb_test.pdb' 
structure = parser.get_structure("pdb_test", pdb1) 
atom1 = structure[0]["A"][89]["CZ"]
for model in structure:
for chain in model:
for residue in chain:
for atom in residue:
if chain.id !='A':
print(atom1 , '  -  ',atom ,  '  =  ',atom1 - atom)

输出:

<Atom CZ>   -   <Atom O4'>   =   16.981882
<Atom CZ>   -   <Atom C3'>   =   17.196173
<Atom CZ>   -   <Atom O3'>   =   23.537636
<Atom CZ>   -   <Atom C2'>   =   23.992712

最新更新