在VMD中顯示原子序號的方法
在VMD中顯示原子序號的方法
文/Sobereva
First release: 2013-Jul-30 Last update: 2014-Jul-23
文/Sobereva
First release: 2013-Jul-30 Last update: 2014-Jul-23
VMD雖然靈活強大,但是卻沒有提供一般的分子可視化軟件的直接顯示全部原子序號的功能,比較不方便。但是這也可以手動或者通過腳本來實現。
手動實現的辦法就是按數字鍵1,然后依次點擊打算顯示原子編號的原子,然后進入Graphics-Labels,選中所有條目,然后點擊Properties標簽頁,在Format框里面輸入%i。那些原子的編號就顯示在圖中了。如果覺得標簽位置不合適,可以拖動Properties標簽頁里Offset里的十字使位置合適。在Global Properties標簽頁里可以設文字大小和粗細。修改文字顏色的方法是在Graphics-Colors里的Categories里選擇Labels,Names里選擇Atoms,然后再選擇一種顏色。
如果原子很多,則可以將以下腳本拷貝到命令行窗口運行來定義一個命令atmlab,
proc atmlab {range id} {
set sel [atomselect $id $range]
set k 0
foreach i [$sel list] {
label add Atoms $id/$i
label textformat Atoms $k { %i }
label textoffset Atoms $k { -0.11 -0.0055 }
incr k
}
$sel delete
label textsize 1.2
}
之后,若想讓所有ID為3的體系的原子編號都顯示,就輸入atmlab all 3。如果比如想讓只有在34號原子的5埃范圍以內的原子的標簽顯示,就輸入atmlab "within 5 of index 34" 3
運行label delete Atoms all命令可以將所有標簽都刪掉。
如果想讓元素名和原子編號同時顯示,則把%i改為%e%i。如果想讓原子編號從1開始而非從0開始,把%i改為%1i。
為了省事,還可以再定義一個命令
proc lab {} {
atmlab all [molinfo top]
}
運行lab就會把top的體系的原子編號都顯示。

比較遺憾的是,雖然用如上方法可以顯示出原子編號,但是如果用CPK之類方式顯示,就會把原子標簽給覆蓋掉。而且標簽大小沒法隨視角的遠近變化自動縮放。