乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VMD中實(shí)現(xiàn)原子的數(shù)值著色方法

       day_day__UP 2015-05-06

      本文的操作是在VMD 1.8.6中進(jìn)行。

       

      想作出下面的圖嗎?

      想讓體系中的原子在每一幀都可以按某一屬性(能量、位移、破壞程度等等)進(jìn)行著色嗎?

      那就閱讀本文吧!

      只要是對(duì)原子根據(jù)某一數(shù)值進(jìn)行著色,本文的方法都可以實(shí)現(xiàn),對(duì)單幀或多幀都適用。

       

       一、準(zhǔn)備數(shù)據(jù)文件

      1、首先是需要用來(lái)著色的軌跡文件,單幀或多幀的都行,文件名為dump.pdb

      這里要說(shuō)明一下:文件名的后綴必須是VMD能識(shí)別的,建議使用pdb格式或xyz格式的(VMD默認(rèn)就能打開(kāi)的格式),后面會(huì)解釋為什么。

       

      得到pdb格式或xyz格式的方法:

      打開(kāi)VMD,成功導(dǎo)入軌跡文件或分子文件,VMD main窗口,fileàsave coordinates

      Selected atoms 選擇 allFile type選擇 pdb,xyz。Frames下面用默認(rèn)的就行。

      格式轉(zhuǎn)換后的文件存在VMD的安裝主目錄下(我的是C:\Program Files\University of Illinois\VMD)。

       

      2、其次為用于給原子著色的數(shù)據(jù)文件,就是想讓原子按哪些數(shù)值顯示顏色,命名為user.data

      數(shù)據(jù)文件的名字無(wú)所謂,但其格式有要求,數(shù)據(jù)文件里的數(shù)值只有單一的一列,而且從第一個(gè)值到最后一個(gè)值必須與軌跡文件中的原子一一對(duì)應(yīng),數(shù)值之間不能空行,例如:

      dump文件的數(shù)據(jù)如下:

      ITEM: TIMESTEP

      0

      ITEM: NUMBER OF ATOMS

      20514

      ITEM: BOX BOUNDS

      -0.0001 0.8001

      -0.0501 0.2001

      -0.1001 0.1001

      ITEM: ATOMS

      1 Si 0.000124969 0.00039968 0.0004995

      2 Si 0.0126218 0.00039968 0.0004995

      3 Si 0.0251187 0.00039968 0.0004995

      4 O 0.0376156 0.00039968 0.0004995

      5 O 0.0501125 0.00039968 0.0004995

      6 O 0.0626093 0.00039968 0.0004995

      7 O 0.0751062 0.00039968 0.0004995

      8 O 0.0876031 0.00039968 0.0004995

      9 O 0.1001 0.00039968 0.0004995

      10 Si 0.112597 0.00039968 0.0004995

       

      那么user.data的格式為:

      10

      20

      30

      40

      50

      60

      70

      80

      90

      100

      user.data文件里的數(shù)據(jù)10、2030、40、50、60、70、80、90、100分別對(duì)應(yīng)給原子Si、Si、Si、O、O、O、O、O、O、Si

       

      用于著色的數(shù)值如果是在dump文件中一同輸出的,可以使用Linux下的awk, grep等命令提取出來(lái),這個(gè)自己處理。

       

       

       二、tcl腳本操作

      1、將上面的軌跡文件dump.pdb和用于著色的數(shù)據(jù)文件user.data拷貝到VMD的安裝主目錄下(C:\Program Files\University of Illinois\VMD),因?yàn)檫@個(gè)是VMDtk 控制臺(tái)工作的默認(rèn)目錄。

      2、進(jìn)入tk控制臺(tái)

      VMD Mainà Extensionsà TK Console

      3、載入tcl腳本

      腳本內(nèi)容:

       

      set file dump.pdb        #設(shè)置file變量為軌跡文件dump.pdb

      mol new $file waitfor all           #導(dǎo)入file指向的分子文件,并等待直到導(dǎo)入所有原子

      set numframes [molinfo top get numframes]   #設(shè)置numframes變量為計(jì)算分子幀數(shù)的值

      set numatoms [molinfo top get numatoms]   #設(shè)置numatoms變量為計(jì)算分子中原子的個(gè)數(shù)

      set sel [atomselect top all]     #設(shè)置sel變量為分子編號(hào)為top的值,這個(gè)就不用管了

      set fp [open "user.data" r]     #設(shè)置fp變量為讀入數(shù)據(jù)文件user.data

      #下面開(kāi)始處理循環(huán)

      for {set i 0} {$i<$numframes} {incr i} {            #0幀開(kāi)始循環(huán)

      $sel frame $i

      set ulist ""          #建立名字為ulist的表,表為空

      puts "setting user values for frame [$sel frame].."  #輸出處理到哪一幀,便于查錯(cuò)

      for {set j 0} {$j<$numatoms} {incr j} {             #循環(huán)每一個(gè)原子

      animate goto $i               #轉(zhuǎn)到第i幀,這個(gè)不用管了

      gets $fp line                 #fp變量中讀入一行值,就是讀入user.data的一個(gè)值

      lappend ulist $line            #將該值放入表ulist

      }                         #內(nèi)循環(huán)結(jié)束

      $sel set user $ulist           #對(duì)所有原子使用表中的值作為user

      }                         #外部循環(huán)結(jié)束

      $sel delete             #結(jié)束,刪除sel變量

       

      有兩種方法載入腳本

      1)手動(dòng)輸入腳本

      如果是從VMD main file中導(dǎo)入的軌跡文件,那么腳本就從第三行輸入,每輸一行按一下確認(rèn),操作下去。因?yàn)槭鞘謩?dòng)導(dǎo)入的軌跡,就不需要將軌跡文件放到主目錄下,對(duì)軌跡文件的格式也沒(méi)特別要求了,只需成功導(dǎo)入完畢就行。但user.data一定要放到主目錄下。

      2)自動(dòng)完成

      由于是自動(dòng)導(dǎo)入并處理的,所以要求軌跡文件格式為VMD的默認(rèn)格式,否則不能正常進(jìn)行下去。如果你不確定是不是默認(rèn)的格式,就按前面的方法轉(zhuǎn)換成pdb格式或xyz格式文件。根據(jù)你的文件名和格式修改一下腳本內(nèi)容,軌跡文件名替換腳本中的”dump.pdb”關(guān)鍵字,數(shù)據(jù)文件名替換”user.data”關(guān)鍵字.

      將修改好的腳本文件也一同拷貝到VMD主目錄下,腳本文件名為user.tcl,然后在tk console中輸入

      source user.tcl                  #導(dǎo)入user.tcl腳本 

      按下Enter鍵就OK了。

      這個(gè)時(shí)候雖然處理完了,還需要VMD窗口調(diào)整顯示才能最終完成,請(qǐng)看下面的。

       

      三、顏色的顯示

      這一步也非常重要!請(qǐng)仔細(xì)閱讀:

      VMD Main中,GraphicsàRepresentations

      Draw style 欄中,Coloring Method選擇“user”,如下圖:

      Trajectory欄中,勾選“update color every frame

      Color Scale Data Range中的數(shù)值表示的是著色數(shù)值范圍,如果默認(rèn)的最大值和最小值不是user.data中的最大值和最小值,可以手動(dòng)輸入按下”set”即可,一般設(shè)置為user.data文件中的最大值和最小值。

      顯示的顏色可以在VMD Mainà GraphicsàColoràColor scale中調(diào)整。

      完成這個(gè)著色后,就可以通過(guò)create Rap 隨意做其它顯示了.

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多