【发布时间】:2014-03-18 10:18:53
【问题描述】:
我有一个保存在centerResidueList = [100, 140, 170, 53] 中的残基编号列表,我正在尝试从这组残基中获取所有相邻的残基。
目前我正在使用下面的脚本,我是否处理整个 PDB 文件并生成距离为 10.0 的原子对列表,然后遍历列表并检查 all_neighbors 列表中的残基编号是否对应于残基编号在centerResidueList。
from Bio.PDB import *
centerResidueList = [100, 140, 170, 53]
neighbours_resi_number = []
structure = PDBParser().get_structure('X', "1xxx.pdb")
atom_list = Selection.unfold_entities(structure, 'A')
ns = NeighborSearch(atom_list)
all_neighbors = ns.search_all(10.0, "R")
for residuepair in all_neighbors:
resi_number = residuepair[0].id[1]
if resi_number in centerResidueList:
resi_number_partner = residuepair[1].id[1]
neighbours_resi_number.append(resi_number_partner)
首先,我怎样才能只使用 CA 原子创建 atom_list?
其次,residuepair[0].id[1] 是生成残数的正确方法吗(它有效,但有什么方法可以得到)?
最后,有没有更好的解决方案来实现这一点?
【问题讨论】: