我希望PyMOL脚本自动为给定结构绘制键,例如在所有钯原子之间,或在所有钯和硫原子之间。
我可以通过bond
命令手动执行此操作,但需要知道原子的标识符:
bond id 3, id 4
bond id 2, id 6
...
答案 0 :(得分:1)
抓取PyMol mailinglist后,我设法连接所有原子。 e.g。
bond (elem pd), (elem pd)
在所有Pd原子之间绘制bonds。
现在到了截止半径:
bond (elem pd), (elem s) within 2.5 of (elem pd)
在所有Pd原子和所有S原子之间的任何Pd 原子的2.5范围内产生键。这导致了一种具有很长键的结构。
我认为iterate必须通过其中一个选项才能在所需的截止半径范围内产生债券。
相反,我使用了pymol的find_pairs函数(这只是API,因此必须在python script中使用。)
from pymol import cmd, stored
pd_s_bonds = cmd.find_pairs('n. pd', 'n. s', cutoff=2.5)
for pair in pd_s_bonds:
cmd.bond('index %s' % pair[0][6], 'index %s' % pair[1][7])