| 17 | 1/1 | 返回列表 |
| 查看: 6346 | 回復(fù): 16 | ||||
| 【獎(jiǎng)勵(lì)】 本帖被評價(jià)15次,作者sobereva增加金幣 11.6 個(gè) | ||||
sobereva至尊木蟲 (著名寫手)
|
[資源]
用Multiwfn、Gaussview、Molekel、VMD觀看龍蝦、盆景、骨盆、大腦
|
|||
|
用Multiwfn、Gaussview、Molekel、VMD觀看龍蝦、盆景、骨盆、大腦 原本打算標(biāo)題定為《使用計(jì)算化學(xué)可視化軟件觀看與化學(xué)無關(guān)的體數(shù)據(jù)》,但感覺太刻板吸引不了眼球,就改成當(dāng)前這個(gè)標(biāo)題了。這篇帖子是《談?wù)勼w數(shù)據(jù)》系列文章之三,比較有趣味,將介紹如何用一些常見的計(jì)算化學(xué)可視化軟件,包括GaussView、VMD、molekel,以及Multiwfn,通過等值面的方式觀看亂七八糟的與化學(xué)毫無關(guān)系的體數(shù)據(jù)。這有助于了解顯示體數(shù)據(jù)的操作方法,也有助于了解體數(shù)據(jù)的意義和價(jià)值。此文將涉及到《談?wù)勼w數(shù)據(jù)》系列的前兩篇文章的知識(shí),建議先看一看,第一篇是《介紹體數(shù)據(jù) 》,見http://hi.baidu.com/sobereva/blo ... 400231b938208e.html。第二篇是《體數(shù)據(jù)格式轉(zhuǎn)換工具vodaconv的使用及原理》 ,見http://hi.baidu.com/sobereva/blo ... 6efa087e3e6f25.html。 1 用Multiwfn觀看龍蝦 從Multiwfn2.3開始,Multiwfn可以讀入cube文件,可以直接用于顯示cube文件的等值面。這里用它來觀看盆景的體數(shù)據(jù)。 用Multiwfn觀看龍蝦就必須得到相應(yīng)的體數(shù)據(jù)文件。在Volrenapp的老版體數(shù)據(jù)庫http://www.gris.uni-tuebingen.de ... asets/datasets.html里面找到龍蝦圖案并點(diǎn)擊,得到lobster.raw.gz。此數(shù)據(jù)庫里的體數(shù)據(jù)都是8bit精度,這個(gè)是龍蝦的CT掃描得到的體數(shù)據(jù),從旁邊的信息得知這個(gè)龍蝦的體數(shù)據(jù)的點(diǎn)數(shù)是301x324x56,格子比例是1:1:1.4。 在GsGrid的主頁http://gsgrid.codeplex.com中的Utilities欄目下載vodaconv程序。將lobster.raw.gz解壓為lobster.raw,并拷到vodaconv所在目錄下。啟動(dòng)vodaconv.exe,依次輸入 lobster.raw //文件名 301,324,56 //各方向的點(diǎn)數(shù) 0.1,0.1,0.14 //各方向格子間距(bohr)。絕對數(shù)值無所謂,只要比例是1:1:1.4就行了。設(shè)為0.1數(shù)量級(jí)是因?yàn)檫@種情況下體數(shù)據(jù)的各方向總長度將會(huì)在一般的分子尺度內(nèi),方便觀看 [直接敲回車] //raw格式體數(shù)據(jù)沒有定義原點(diǎn),這一步直接敲回車的話將vodaconv將自動(dòng)把原點(diǎn)設(shè)定在體數(shù)據(jù)中心 1 //表明這是8bit整數(shù)數(shù)據(jù) 2 //不對數(shù)據(jù)做scale,保持?jǐn)?shù)據(jù)原樣 lobster.cub //輸出的文件名,根據(jù)后綴名程序會(huì)知道要輸出為Gaussian型cube文件 lobster.raw僅有5.2MB,而轉(zhuǎn)換后卻有69.5MB。這是因?yàn)?raw是二進(jìn)制文件,一個(gè)8bit數(shù)據(jù)點(diǎn)只占一個(gè)字節(jié)。而cube文件記錄的是字符數(shù)據(jù)(也有二進(jìn)制型cube文件,但不被普遍支持),每個(gè)數(shù)據(jù)要用13個(gè)字符來表達(dá),即13字節(jié),因此轉(zhuǎn)換后大小約是之前的13倍。 將Multiwfn目錄下的settings.ini里的aug3D參數(shù)從默認(rèn)的6改成16并保存,這樣方可讓坐標(biāo)軸足夠長,而令龍蝦能顯示完整。 啟動(dòng)Multiwfn,輸入lobster.cub文件的路徑,然后選功能0,等一會(huì)兒就會(huì)出現(xiàn)圖像。由于這個(gè)體數(shù)據(jù)的格點(diǎn)數(shù)遠(yuǎn)比一般的分子的體數(shù)據(jù)要多,因此會(huì)顯示得頗慢。圖像第一次出現(xiàn)時(shí)是在默認(rèn)的0.05的isovalue下做的圖,并沒顯現(xiàn)出龍蝦。在isosurface value文本框里輸入50,敲回車,等一會(huì)兒就會(huì)看到龍蝦了: 從raw轉(zhuǎn)換為cube文件時(shí)為了兼容性考慮,會(huì)自動(dòng)在原點(diǎn)加入一個(gè)氫原子,因此會(huì)有一個(gè)氫原子標(biāo)簽,可以點(diǎn)一下Show label復(fù)選框來關(guān)掉之。 之所以將isovalue設(shè)為50,是因?yàn)閷⑺O(shè)為這個(gè)值的時(shí)候?qū)τ谶@個(gè)體數(shù)據(jù)來說圖像效果較好。8bit整數(shù)范圍在0~255,需要在這個(gè)范圍內(nèi)反復(fù)設(shè)定isovalue并作圖才能找出一個(gè)最合適的isovalue值。一開始作圖時(shí)由于默認(rèn)的0.05的isovalue過小,龍蝦被CT掃描時(shí)產(chǎn)生的數(shù)據(jù)噪音或者周圍空氣產(chǎn)生的信號(hào)所掩蓋了所以看不出來。 Multiwfn提供顯示等值面的功能只是為了提供一個(gè)方便,對于這樣格點(diǎn)數(shù)很多的情況顯示等值面的速度比Molekel、VMD低得多。 2 用Gaussview觀看盆景 還是在剛才的數(shù)據(jù)庫中,點(diǎn)擊盆景圖案下載盆景的CT掃描的體數(shù)據(jù)文件bonsai.raw.gz,用和上一節(jié)完全一樣的步驟,通過vodaconv將之轉(zhuǎn)化成bonsai.cub。注意各方向點(diǎn)數(shù)應(yīng)輸入256,256,256,輸入間距的時(shí)候直接敲回車就行了,代表用默認(rèn)的0.1,0.1,0.1,因?yàn)檫@個(gè)體數(shù)據(jù)文件是1:1:1的格點(diǎn)間距。 啟動(dòng)Gaussview,進(jìn)入打開文件界面,文件類型選Cube files,選擇bonsai.cub。選Results-Surfaces/Contours,此時(shí)會(huì)看到已經(jīng)有一個(gè)cube文件被載入了。將Density設(shè)為50(這也即isovalue的值),然后點(diǎn)Surface Actions-New surface,耐心等一陣子,然后將視角拉遠(yuǎn),就會(huì)看到盆景了(為了清楚,背景改為了白色。通過在圖上點(diǎn)右鍵-View-Hydrogens可以將額外加入的氫屏蔽掉): Gaussview在顯示大型體數(shù)據(jù)的等值面的時(shí)候也很慢,因此沒什么實(shí)際應(yīng)用價(jià)值。顯示幾百萬個(gè)點(diǎn)的體數(shù)據(jù)的等值面的速度尚可,而當(dāng)前體數(shù)據(jù)則有256^3=1600萬個(gè)點(diǎn)。對于精度更高的體數(shù)據(jù),比如512^3=1.34億個(gè)點(diǎn)的情況,用Gaussview顯示等值面就別想了。 3 用Molekel顯示骨盆和腹部動(dòng)脈支架 本節(jié)用Molekel顯示骨盆和腹部動(dòng)脈支架。在Volrenapp的新版數(shù)據(jù)庫http://www.gris.uni-tuebingen.de ... n/datasets/new.html里面下載Stented Abdominal Aorta 16Bits對應(yīng)的stent16.raw.zip,解壓成stent16.raw。 這個(gè)數(shù)據(jù)庫中的16bit整數(shù)記錄的體數(shù)據(jù)都是Little Endian順序,因此應(yīng)當(dāng)使用vodaconv壓縮包里的vodaconv_LE.exe來做轉(zhuǎn)換,而不是使用用Big Endian順序的vodaconv.exe做轉(zhuǎn)換。關(guān)于這一點(diǎn)我在《體數(shù)據(jù)格式轉(zhuǎn)換工具vodaconv的使用及原理》里已經(jīng)詳細(xì)說明了。 啟動(dòng)vodaconv_LE.exe,依次輸入 stent16.raw 512,512,174 0.8398,0.8398,3.2 [回車] 2 //讀入的raw文件的數(shù)據(jù)類型是16bit整數(shù) 2 //不scale數(shù)據(jù) stent16.cube //后綴名這回寫成.cube而非.cub,實(shí)際上里面的格式都一樣,只是Molekel在讀入cube文件時(shí)必須要求后綴是.cube 啟動(dòng)Molekel,這里用的是5.4.0.8版。在其中打開stent16.cube,耐心等待讀取完畢,然后選Surfaces-Grid data,在Value里填1300。這個(gè)體數(shù)據(jù)很大,如果想全精度地顯示出來,那么應(yīng)保證有1.5GB空余內(nèi)存;如果想損失一些精度,以節(jié)省內(nèi)存且讓顯示速度加快,那么可以將Step Multiplier設(shè)為2或者更大。 最后點(diǎn)Generate按鈕。此時(shí)會(huì)看到程序左下角生成等值面的進(jìn)程,待生成完畢后,將視角拉遠(yuǎn),就會(huì)看到骨架了: 你會(huì)發(fā)現(xiàn)肚子中央有兩條網(wǎng)狀的物體,那個(gè)就是腹部動(dòng)脈支架。 如果將Value值設(shè)小一些,比如設(shè)為700,將會(huì)使X射線更容易穿透的區(qū)域也被顯示出來,因此你將會(huì)看到身體表層的結(jié)構(gòu),以及做掃描時(shí)后背貼著的背板的結(jié)構(gòu): Molekel的bug略多,生成等值面的過程中可能會(huì)崩潰、或者顯示不出來等值面,不要覺得奇怪。整體來說,還是下面用的VMD在顯示大型體數(shù)據(jù)的等值面時(shí)最穩(wěn)健,速度也快,而且更為靈活。 4 使用VMD顯示大腦結(jié)構(gòu) 本例將使用VMD顯示DTI(彌散張量成像)方法產(chǎn)生的大腦結(jié)構(gòu)的體數(shù)據(jù)。DTI是通過外加磁場,根據(jù)測定的腦實(shí)質(zhì)中水彌散的各向異性對大腦進(jìn)行定量成像的方法。 進(jìn)入http://www9.informatik.uni-erlangen.de/External/vollib/,在網(wǎng)頁中搜索4977B2FE,點(diǎn)擊對應(yīng)的Downlaod按鈕得到DTI-B0.pvm。pvm格式是V3體數(shù)據(jù)可視化軟件專用的格式,必須通過pvm2raw轉(zhuǎn)換成raw格式,再用vodaconv將之轉(zhuǎn)換為cube格式才能用VMD顯示。 在這里下載我編譯好的V3程序附帶的pvm2raw程序:http://dl.dbank.com/c0mbbvrijq。其中還包含了raw2pvm,用于將raw轉(zhuǎn)成pvm格式,將在《談?wù)勼w數(shù)據(jù)》系列后續(xù)文章用到。 將DTI-B0.pvm放到pvm2raw.exe所在的目錄下。建立一個(gè)文本文件,內(nèi)容是pvm2raw DTI-B0.pvm DTI-B0.raw,然后將此文本文件擴(kuò)展名改為.bat(即Windows下批處理文件)。再雙擊此bat文件執(zhí)行之,就得到了DTI-B0.raw。 將DTI-B0.raw拷到vodaconv目錄下。由于這個(gè)數(shù)據(jù)庫的體數(shù)據(jù)都是Big Endian順序,所以應(yīng)啟動(dòng)的是vodaconv.exe而非vodaconv_LE.exe,然后依次執(zhí)行: DTI-B0.raw 128,128,58 [直接敲回車] [直接敲回車] 2 2 DTI-B0.cub 啟動(dòng)VMD,將DTI-B0.cub拖進(jìn)VMD main窗口。選Graphics-Representation,將第一個(gè)顯示方式的Drawing Method設(shè)成Isosurface,Draw從默認(rèn)的Points改為Solid surface,拖動(dòng)Isovalue滑條到500左右,就能看到下面的大腦外層輪廓: 但是這種圖沒法同時(shí)看到大腦內(nèi)外層結(jié)構(gòu)。一種辦法是使用多個(gè)不同顏色的對應(yīng)不同isovalue的透明等值面。先將Display-Rendermode設(shè)成GLSL(一些機(jī)子上可能因?yàn)轱@卡太老或驅(qū)動(dòng)問題而選不了,這將導(dǎo)致無法產(chǎn)生透明效果)。在Graphics-Representation里建立三個(gè)Isosurface風(fēng)格的顯示方式,第一個(gè)的isovalue設(shè)為260,Material設(shè)為Transparent;第二個(gè)Isosurface也用Transparent,Isovalue設(shè)為720,Coloring Method設(shè)為ColorID,并選4(黃色);第三個(gè)Isosurface用Opaque材質(zhì),isovalue設(shè)1250,Coloring Method設(shè)為ColorID,并選1(紅色)。另外,將這三個(gè)顯示方式的Show都從Box+Isosurface改為Isosurface以免盒子邊緣礙眼,將看到如下效果: 也可以用免費(fèi)的外部渲染器POVray渲染一下,效果會(huì)更好: 這下,大腦的結(jié)構(gòu)層次就看出來了。最外層等值面會(huì)顯示出兩個(gè)大橢球,那就是眼珠了。 接下來,我們在VMD里顯示大腦切片圖。實(shí)際上,這也就是醫(yī)生經(jīng)常看的大腦切片照片。首先將Display-depth cueing關(guān)掉,這樣切片圖會(huì)更鮮亮。然后建立一個(gè)VolumeSlice的顯示方式,拖動(dòng)Slice Offset到不同位置,就能看到不同位置的截面圖了。下圖是X的offset值為0.5時(shí)的圖 如果想把截面圖弄成黑白的,更有醫(yī)院的感覺,可以在Graphics-color-Color scale里將Method設(shè)為BlkW,然后將截面圖顯示方式的Coloring Method設(shè)為Volume。直接得到的圖像效果不好,對比不明顯,可以在Trajectory標(biāo)簽頁里調(diào)節(jié)Color Scale Data Range,比如上下限設(shè)為0和1000,然后點(diǎn)Set,效果會(huì)好很多。也建議在Display里將所有光源都關(guān)掉。得到的Z的offset為0.44的截面圖如下所示: 另外,還可以同時(shí)建立多個(gè)截面顯示方式,同時(shí)顯示出大腦不同截面,請自行嘗試。 5 使用Sigmaplot顯示大腦截面圖 VMD雖然能直接顯示截面圖,但是圖片不夠精細(xì),也不很適合直接拿來作為插圖。一種得到更高質(zhì)量的截面圖的辦法是用GsGrid提取出指定平面的數(shù)據(jù),然后用Sigmaplot等專業(yè)一些的繪圖軟件繪制平面圖。從Multiwfn2.3版開始GsGrid的全部功能已經(jīng)被納入Multiwfn的主功能13里了,并且同時(shí)修正了一些bug并擴(kuò)充了功能,所以建議以后都用Multiwfn來處理格點(diǎn)數(shù)據(jù)。這里,就結(jié)合Multiwfn和Sigmaplot繪制上面那張Z的offset為0.44的大腦截面圖。 啟動(dòng)Multiwfn,輸入DTI-B0.cub的文件路徑,在載入數(shù)據(jù)結(jié)束后會(huì)出現(xiàn)格點(diǎn)數(shù)據(jù)的統(tǒng)計(jì)信息。從中可看到這個(gè)體數(shù)據(jù)的z范圍是從-2.85到2.85bohr。VMD中的Z offset=0.44指的是這個(gè)XY平面的Z值為整個(gè)體數(shù)據(jù)Z值范圍的44%的位置。因此,我們要提取的是Z值為((2.85*2)*0.44-2.85)*0.5292=-0.181埃的XY平面上的數(shù)據(jù)。接下來在Multiwfn中輸入 13 //進(jìn)入主功能13,即格點(diǎn)數(shù)據(jù)處理功能 2 //提取某個(gè)XY平面 -0.181 //Z值(埃) 此時(shí),與Z=-0.181埃最接近的XY的平面上的數(shù)據(jù)都被輸出到了當(dāng)前目錄下的output.txt里了。 啟動(dòng)sigmaplot(本文用的是11.1版),F(xiàn)ile-import file,選output.txt,然后點(diǎn)import按鈕。導(dǎo)入完畢后,在界面左側(cè)找到contour plot按鈕,點(diǎn)擊后再點(diǎn)擊彩色的Filled color按鈕,選XYZ Triplet,X,Y,Z分別設(shè)為第1、2、4列,點(diǎn)“完成”。在圖像上雙擊,在Plots-Scale里將上下限分別設(shè)為100和1100以改善顯示效果,點(diǎn)“確定”后就會(huì)看到下面的圖像,比起VMD顯示的精細(xì)很多: 6 總結(jié) 通過本文的實(shí)例,顯示了計(jì)算化學(xué)可視化軟件不光可以觀看化學(xué)相關(guān)的體數(shù)據(jù),即分子軌道、電子定域化函數(shù)、電子密度等,還可以像通用的體數(shù)據(jù)可視化軟件一樣研究其它各種類型的體數(shù)據(jù),這直接溝通了化學(xué)軟件與生活中的物件以及生命醫(yī)學(xué)間的橋梁。有興趣的話,不妨利用本文的方法自行從那些數(shù)據(jù)庫中下載感興趣的體系來觀看一下。不過,化學(xué)上的軟件在顯示體數(shù)據(jù)方面比起專業(yè)的軟件還顯得比較業(yè)余,功能、效率和畫面效果還有不小差距。在《談?wù)勼w數(shù)據(jù)》后面的文章中,將介紹利用一些更專業(yè)、強(qiáng)大的通用的體數(shù)據(jù)可視化軟件來繪制出很炫的化學(xué)相關(guān)的圖形。 |
精華實(shí)用軟件與教程 by ZHU-ZHU | 好貼 |
鐵桿木蟲 (職業(yè)作家)
至尊木蟲 (職業(yè)作家)
|
本帖內(nèi)容被屏蔽 |
榮譽(yù)版主 (著名寫手)
金蟲 (著名寫手)
| 17 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 298-一志愿中國農(nóng)業(yè)大學(xué)-求調(diào)劑 +9 | 手機(jī)用戶 2026-03-17 | 9/450 |
|
|---|---|---|---|---|
|
[基金申請]
學(xué)校已經(jīng)提交到NSFC,還能修改嗎?
40+3
|
babangida 2026-03-19 | 7/350 |
|
|
[考研] 材料學(xué)碩318求調(diào)劑 +5 | February_Feb 2026-03-19 | 5/250 |
|
|
[考研] 307求調(diào)劑 +9 | 冷笙123 2026-03-17 | 9/450 |
|
|
[考博] 申博26年 +3 | 八6八68 2026-03-19 | 3/150 |
|
|
[考博] 東華理工大學(xué)化材專業(yè)26屆碩士博士申請 +8 | zlingli 2026-03-13 | 8/400 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 311求調(diào)劑 +6 | 26研0 2026-03-15 | 6/300 |
|
|
[考研] 一志愿西南交大,求調(diào)劑 +4 | 材化逐夢人 2026-03-18 | 4/200 |
|
|
[考研] 材料專碩306英一數(shù)二 +10 | z1z2z3879 2026-03-16 | 13/650 |
|
|
[考研] 302求調(diào)劑 +10 | 呼呼呼。。。。 2026-03-17 | 10/500 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研] 278求調(diào)劑 +5 | 煙火先于春 2026-03-17 | 5/250 |
|
|
[考博] 26博士申請 +3 | 1042136743 2026-03-17 | 3/150 |
|
|
[基金申請] 被我言中:新模板不強(qiáng)調(diào)格式了,假專家開始管格式了 +4 | beefly 2026-03-14 | 4/200 |
|
|
[考研] 東南大學(xué)364求調(diào)劑 +5 | JasonYuiui 2026-03-15 | 5/250 |
|
|
[考研] 一志愿211 0703方向310分求調(diào)劑 +3 | 努力奮斗112 2026-03-15 | 3/150 |
|
|
[考研] 304求調(diào)劑 +3 | 曼殊2266 2026-03-14 | 3/150 |
|
|
[考研] 070305求調(diào)劑 +3 | mlpqaz03 2026-03-14 | 4/200 |
|
|
[考研] 304求調(diào)劑 +7 | 7712b 2026-03-13 | 7/350 |
|