python - 如何计算链A(CZ)原子的受体特定原子与链B上的原子列表之间的距离
问题描述
非常感谢您抽出宝贵的时间,提前。我想计算链 A 中的一个原子与链 B 中的多个原子的距离。对于 Exp:
我的 PDB 文件有这些条目
链 A ATOM 32 CZ ARG A 89 -9.472 17.209 -4.849 1.00 49.73 C
链 B 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
链条 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
更好的:
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&C 之后的原子 O4'、C3'、O3'、C2' 等之间的距离。
请指导我。谢谢
解决方案
这是我的尝试:
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
推荐阅读
- javascript - 如何使用 Node 在 IBM 云函数中保存 API 用户身份验证令牌?
- wordpress - Wordpress,403错误无法通过常规方法解决
- javascript - 在 1 个单元格中合并为值(文本和日期时间格式为 yyyy-mm-dd hh:mm)
- google-apps-script - 使用 Google 脚本创建图表时,如何为 Google 表格图表设置图表 ID?
- angular - 如何仅在单个浏览器选项卡中与 Angular 中的组件共享数据?
- r - 基于字符串前缀的data.frame行逻辑子集
- json - 通过 JSON Rest 服务传输正则表达式验证模式
- postgresql - User 和 Contact 模型之间的关联是否正确?
- scala - Spark DataFrame 联合递归
- javascript - 谷歌标签管理器和使用触发器或标签排序