0
我想要一個PyMOL腳本來自動繪製給定結構的鍵,例如所有鈀原子之間或所有鈀原子和硫原子之間。如何讓PyMOL在控制檯/腳本中的原子之間繪製鍵?
我可以通過bond
命令手動做到這一點,但需要知道原子的標識符:
bond id 3, id 4
bond id 2, id 6
...
- 我怎樣才能一次創建了所有需要的債券呢?
- 如果只創建一個鍵,如果原子之間的距離在特定的截止半徑範圍內,這也會有幫助。
我想要一個PyMOL腳本來自動繪製給定結構的鍵,例如所有鈀原子之間或所有鈀原子和硫原子之間。如何讓PyMOL在控制檯/腳本中的原子之間繪製鍵?
我可以通過bond
命令手動做到這一點,但需要知道原子的標識符:
bond id 3, id 4
bond id 2, id 6
...
抓取PyMol mailinglist後,我設法連接所有的原子。例如
bond (elem pd), (elem pd)
在所有Pd原子之間繪製bonds。
現在到cuttoff半徑:
bond (elem pd), (elem s) within 2.5 of (elem pd)
繪製所有的Pd原子和所有S的任何鈀原子的2.5的範圍內的原子之間的鍵。這導致了一個非常長的債券結構weired。
我認爲有必要通過
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])