2017-02-13 36 views
0

在VMD中,我想要使用繪圖方法CPK加載每個新文件。由於某些技術原因,這似乎不是在.vmdrc文件中的選項。VMD中的默認表示/繪圖方法

如何從VMD命令行執行此操作(以便我可以創建腳本)? 或者是否有其他解決方案/解決方法/黑客使這項工作?

回答

1

有幾種方法可以實現你想要什麼:

(1)把下面的行放在.vmdrc

mol default style CPK 

(2)使用VMD首選項面板(最後的正確位置項目在主窗口的擴展菜單中)來生成符合您的期望的.vmdrc文件。您正在查找的設置位於「表示法」選項卡中。

(3)爲更高級的設置(即默認設置應用於已經加載時VMD讀取啓動.vmdrc文件分子),你可以使用下面的(對我的作品在VMD 1.9.2):

proc reset_viz {molid} { 
    # operate only on existing molecules 
    if {[lsearch [molinfo list] $molid] >= 0} { 
    # delete all representations 
    set numrep [molinfo $molid get numreps] 
    for {set i 0} {$i < $numrep} {incr i} { 
     mol delrep $i $molid 
    } 
    # add new representations 
    mol representation CPK 
    # add other representation stuff you want here 
    mol addrep $molid 
    } 
} 

proc reset_viz_proxy {args} { 
    foreach {fname molid rw} $args {} 
    eval "after idle {reset_viz $molid}" 
} 

## put a trace on vmd_initialize_structure 
trace variable vmd_initialize_structure w reset_viz_proxy 

after idle { 
    if { 1 } { 
    foreach molid [molinfo list] { 
     reset_viz $molid 
    } 
    } 
} 

這段代碼改編自Axel Kohlmeyer website

HTH,

+0

我試着在''.vmdrc'文件中加入'mol默認樣式CPK',但它不會改變任何東西。我知道文件正在被讀取,因爲文件中的後續命令被執行(定義顏色,關閉軸等)。我在Linux上運行VMD 1.9.2。你使用的是什麼版本和系統? –

+0

我離開了設置,剛剛意識到,雖然直接從命令行加載結構時不起作用,例如'$> vmd my.pdb my.dcd',但它在打開應用程序後加載結構時工作正常。這比沒有好,但大多數時候我直接從命令行打開文件,所以它沒有什麼幫助。 –

+1

@ StevenC.Howell:你說得對。 VMD首先從您的命令行加載結構文件,然後才加載您的vmdrc文件。因此前兩個選項將不起作用。但最後的解決方案就是你要找的東西:它向你的vmdrc添加一個函數,修改已經加載的分子**的表示形式。您只需修改'mol representation CPK'行(或添加下面的其他命令)以適合您最喜歡的表示形式。 – Eiffel

0

我找到了一個方便的解決方案。 在.bashrc補充:

vmda() { 
    echo -e " 
    mol default style CPK 
    user add key Control-w quit 
    " > /tmp/vmdstartup 
    echo "mol new $1" > /tmp/vmdcommand 
    vmd -e /tmp/vmdcommand -startup /tmp/vmdstartup 
} 

看的結構與

vmda file.pdb 

Ctrl+w關閉窗口(退出應用程序),像其他窗口。