如何使PyMOL在控制台/脚本中的原子之间绘制连接?

时间:2015-05-20 12:33:17

标签: pymol

我希望PyMOL脚本自动为给定结构绘制键,例如在所有钯原子之间,或在所有钯和硫原子之间。

我可以通过bond命令手动执行此操作,但需要知道原子的标识符:

bond id 3, id 4
bond id 2, id 6
...
  • 如何一次创建所有想要的债券?
  • 如果只创建一个键,如果原子之间的距离在特定的截止半径范围内,也会有所帮助。

1 个答案:

答案 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])