當前位置:首頁 » 網頁前端 » 分子動力學處理腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

分子動力學處理腳本

發布時間: 2022-05-30 05:06:09

㈠ 什麼是從頭計算分子動力學模擬

入門階段,首先你要知道你想做什麼,最好是找個看起來不太難的文章照著把裡面的模擬自己重復一遍。因為全原子模擬大都是用一些來進行的,因此你首先需要的是學會一些的使用,常用的生物分子模擬包括:Gromacs、Amber 和 NAMD 等等,材料有關的模擬還有 Lammps 等。學這些東西的時候首先主要是要知道模擬的基本流程以及實現的方法,包括怎樣搭建模擬的體系、各種文件格式的轉換、系綜與盒子的選擇、水及離子、能量極小化等等,等到模擬的軌跡出來怎樣對數據進行處理,等到之後還可以學習裡面的一些插件,例如一些加速采樣的方法等等。

自己學一種語言的話,在初期,做 MD 比較重要的是腳本語言,包括 Shell 腳本或者其它你自己喜歡的腳本。因為最終你還是不太可能完全在自己的電腦上跑程序的,所以要有一個你自己用得比較熟的、能對大規模的數據進行處理的語言,我覺得 Python 是很適合的,而且裡面的 Prody,Matplotlib 等等各種包都非常好用。

入門之後,如果希望自己通過一些量子化學的計算結果去調整和修改現有的力場,那麼需要能看懂其他人的代碼,這種時候很可能會需要能讀懂 Fortran 的代碼。如果自己喜歡做一些簡化模型自己弄著玩,用 Python 之類的寫起來是簡單,但是效率太低,還是需要會一點點 C 或者 C++,當然語言只是一方面,更重要的是自己要結合實際的體系做一些最簡單的優化。

相比起書籍來,還可以關注一些做模擬的學術們聚集的論壇和社區,例如:小木蟲、分子模擬論壇、ResearchGate 等等。

參考書的話,其實有很多,不過還是要看你自己需要哪方面的內容:
分子模擬方面的經典書籍:Understanding molecular simulation: From algorithms to applications 和 Molecular Modelling - Principles and Applications ,兩本書的側重點有些不同。

中文書籍:《分子模擬的理論與實踐》《計算化學——從理論化學到分子模擬》中的部分章節;

偏統計和計算物理方面:Statistical Mechanics: Algorithms and Computations。

㈡ 請問誰能提供一下分子動力學程序 ourmd 或者類似的源碼

從20世紀90年代以後,隨著計算機技術的發展以及葯物化學、分子生物學和計算化學的發展,計算機輔助葯物分子設計(CADD)已經發展成為一門完善和新興的研究領域。同時,CADD的發展和應用,也大大促進了葯物設計和新葯開發的效率。CADD已經成為合理葯物設計中不可或缺的一環,在葯物設計中起著越來越重要的作用,因此,CADD方法的理論和應用研究具有非常重要的意義。國內關於這方面的專著還很少,作者結合自己課題組的工作,並在參考大量文獻以及大量研究實例的基礎上,對CADD方法進行了系統而詳盡的闡述。本書對CADD的傳統方法以及一些新的方法都進行了介紹,而且結合大量實例對葯物設計的基本和具體操作進行了詳盡的論述,是一本理論與實踐相結合的論著。本書對於從事葯物研究的研究人員和教學工作者,是一本非常有益的參考書;本書所涉及的理論計算方法,對從事計算機化學、計算生物學、化學信息學以及生物信息學的研究工作者也具有重

http://data.thermo.xjtu.e.cn/bbs/viewtopic.php?t=25&sid=

㈢ 分子動力學的基本步驟

用抽樣所得體系的各個狀態計算當時體系的勢能,進而計算構型積分。作用勢與動力學計算
作用勢的選擇與動力學計算的關系極為密切,選擇不同的作用勢,體系的勢能面會有不同的形狀,動力學計算所得的分子運動 和 分子內部運動的軌跡也會不同,進而影響到抽樣的結果和抽樣結果的勢能計算,在計算宏觀體積和微觀成分關系的時候主要採用剛球模型的二體勢,計算系統能量,熵等關系時早期多採用Lennard-Jones、morse勢等雙體勢模型,對於金屬計算,主要採用morse勢,但是由於通過實驗擬合的對勢容易導致柯西關系,與實驗不符,因此在後來的模擬中有人提出採用EAM等多體勢模型,或者採用第一性原理計算結果通過一定的物理方法來擬合二體勢函數。但是相對於二體勢模型,多體勢往往缺乏明確的表達式,參量很多,模擬收斂速度很慢,給應用帶來很大的困難,因此在一般應用中,通過第一性原理計算結果擬合勢函數的L-J,morse等勢模型的應用仍然非常廣泛。 以下是做模擬的一般性步驟,具體的步驟和過程依賴於確定的系統或者是軟體,但這不影響我們把它當成一個入門指南:
1)首先我們需要對我們所要模擬的系統做一個簡單的評估, 三個問題是我們必須要明確的:
做什麼(what to do)為什麼做(why to do)怎麼做(how to do)
2)選擇合適的模擬工具,大前提是它能夠實現你所感興趣的目標,這需要你非常謹慎的查閱文獻,看看別人用這個工具都做了些什麼,有沒有和你相關的,千萬不要做到一半才發現原來這個工具根本就不能實現你所感興趣的idea,切記!
考慮1:軟體的選擇,這通常和軟體主流使用的力場有關,而軟體本身就具體一定的偏向性,比如說,做蛋白體系,Gromacs,Amber,Namd均可;做DNA, RNA體系,首選肯定是Amber;做界面體系,Dl_POLY比較強大,另外做材料體系,Lammps會是一個不錯的選擇
考慮2:力場的選擇。力場是來描述體系中最小單元間的相互作用的,是用量化等方法計算擬合後生成的經驗式,有人會嫌它粗糙,但是它確確實實給我們模擬大系統提供了可能,只能說關注的切入點不同罷了。常見的有三類力場:全原子力場,聯合力場,粗粒化力場;當然還有所謂第一代,第二代,第三代力場的說法,這里就不一一列舉了。
再次提醒注意:必須選擇適合於我們所關注體系和我們所感興趣的性質及現象的力場。
3)通過實驗數據或者是某些工具得到體系內的每一個分子的初始結構坐標文件,之後,我們需要按我們的想法把這些分子按照一定的規則或是隨機的排列在一起,從而得到整個系統的初始結構,這也是我們模擬的輸入文件。
4)結構輸入文件得到了,我們還需要力場參數輸入文件,也就是針對我們系統的力場文件,這通常由所選用的力場決定,比如鍵參數和非鍵參數等勢能函數的輸入參數。
5)體系的大小通常由你所選用的box大小決定,我們必須對可行性與合理性做出評估,從而確定體系的大小,這依賴於具體的體系,這里不細說了。6)由於初始構象可能會存在兩個原子挨的太近的情況(稱之為bad contact),所以需要在正式模擬開始的第一步進行體系能量最小化,比較常用的能量最小化有兩種,最速下降法和共軛梯度法,最速下降法是快速移除體系內應力的好方法,但是接近能量極小點時收斂比較慢,而共軛梯度法在能量極小點附近收斂相對效率高一些,所有我們一般做能量最小化都是在最速下降法優化完之後再用共軛梯度法優化,這樣做能有效的保證後續模擬的進行。
7)以平衡態模擬為例,你需要設置適當的模擬參數,並且保證這些參數設置和力場的產生相一致,舉個簡單的例子,gromos力場是用的范德華勢雙截斷來定范德華參數的,若你也用gromos力場的話也應該用雙截斷來處理范德華相互作用。常見的模擬思路是,先在NVT下約束住你的溶質(劑)做限制性模擬,這是一個升溫的過程,當溫度達到你的設定後, 接著做NPT模擬,此過程將調整體系的壓強進而使體系密度收斂。
經過一段時間的平衡模擬,在確定系統弛豫已經完全消除之後,就可以開始取數據了。如何判斷體系達到平衡,這個問題是比較技術性的問題,簡單的講可以通過以下幾種方式,一,看能量(勢能,動能和總能)是否收斂;二,看系統的壓強,密度等等是否收斂;三看系統的RMSD是否達到你能接受的范圍,等等。
8)運行足夠長時間的模擬以確定我們所感興趣的現象或是性質能夠被觀測到,並且務必確保此現象出現的可重復性。
9)數據拿到手後,很容易通過一些可視化軟體得到軌跡動畫,但這並不能拿來發文章。真正的工作才剛剛開始——分析數據,你所感興趣的現象或性質只是表面,隱含在它們之中的機理才是文章中的主題。

㈣ 縱軸為RMSD值,橫軸為時間的圖是利用什麼軟體做出來的如下圖(與分子動力學模擬有關)

按照教程來,先跑完動力學,然後用腳本獲得RMSD值,然後根據你模擬的時間計算出每一幀的對應的時間步長,然後將數據拿到origin裡面作圖

㈤ discovery studio 分子動力學怎麼樣

1,先加溶劑分子,記住要加抗衡離子。Cell shape選擇加水子最少的也許好點,記住最好把Minimum Distance From Boundary設置大一點,如12。不過計算會變慢。
2,然後把多肽進行Steepest Descent,即最陡下降法進行minimization,先限制多肽,用tools中的simulation中的constraints中的 create fix atom constraints處理,其中把模建最好的結果用CHARMm,作為input typed molecular的分子,max steps選擇6000,electrostatics選擇particle mesh ewald,algorithm為Steepest Descent,number of processors選擇2,使RMS Gradient為0.1,用最陡下降法優化水分子6000步。
3,把結果用Conjugate Gradient即共軛梯度法優化6000步,限制為fix,rms gradient設為0.001,electrostatics選擇particle mesh ewald,number of processors選擇2,其它參數默認。
4,把fix刪除。即在hierarchy中用delete刪除。
5,進行Steepest Descent,即最陡下降法進行minimization, max steps選擇6000,electrostatics選擇particle mesh ewald,number of processors選擇2,使RMS Gradient為0.1,用最陡下降法優化6000步。做完之後,用tools中的protein modeling中的protein health中的check structure處理,看看結構變好沒有。有時候結果會很壞,那麼就希望在以後的優化中,結果會越來越好。主要是把時間設置長一點。
6,用共軛梯度法優化6000步,rms gradient設為0.001(看實驗而定),electrostatics選擇particle mesh ewald,number of processors選擇2,其它參數默認。做完之後,用protein model中的check structure處理,看看結構變好沒有。有時候結果會很壞,那麼就希望在以後的優化中,結果會越來越好。
7,進行dynamics(heating or cooling),其中input typed molecular為上步conjugate gradient法得到的outputfile(包含水分子和離子),steps設置為100000,save results frequency為1000,electrostatics為particle mesh ewald,heating save restart file為true,number of processors選擇2,沒有限制常數,其它參數默認。溫度當然要看你的試驗情況了。做完之後,用protein
model中的check structure處理最後一個構象(需要把最後構象復制到新窗口,即選中最後一列數字,然後在hierarchy中點擊右鍵選擇,然後選擇file-new-3d windows,然後paste),看看結構變好沒有。
8,進行dynamics(equilibration),其中input typed molecular為上步dynamics(heating or cooling) 中的output中結果(要包括水分子和離子,不用復制最後構象到新窗口,只要打開含有全部構象的文件就行),記住把最後一個構象變為active(即選中最後一列數字),溫度當然要看你的試驗情況了,steps設置為500000,save results frequency為1000,constant pressure為true(根據實驗而定),electrostatics為particle mesh ewald,equilibration save restart file為true,其中equilibration restart file為上步得到的output中的rst文件,number of processors選擇2,其它參數默認。
9,進行dynamics(proction),其中的input type molecular為上步dynamics(equilibration)中output中的結果(要包括水分子和離子,不用復制最後構象到新窗口,只要打開含有全部構象的文件就行),記住要把最後一個構象選中(即選中最後一列數字),使其變為active,溫度當然要看你的試驗情況了,steps設置為 1000000,save results frequency為1000,proction type為NPT(根據你實驗情況而定),electrostatics為particle mesh ewald,proction restartfile為上步得到的output中的rst文件,proction save restart file為true,number of processors選擇2,其它參數默認。用proteinmodel中的check structure處理最後一個構象(需要把最後構象復制到新窗口),看看結構變好沒有。時間可以設置更長,現在好象要求越來越長了。不過,我一般開始先跑500ps,然後才1ns。主要怕出錯。

㈥ 用Fortran編程實現分子動力學模擬方法,研究微流體流動特性

subroutineinit

sumv=0
sumv2=0

doi=1,npart
x(i)=lattice-pos(i)
v(i)=(ranf()-0.5)
sumv=sumv+v(i)
sumv2=sumv2+v(i)**2
enddo

sum=sumv/npart
fs=sqrt(3*temp/sumv2)!速度矯正因子
doi=1,npart
v(i)=(v(i)-sumv)*fs!速度矯正
x(i)=x(i)-v(i)*dt
enddo

return
end

從上面的代碼看,公式還是很簡單的,你可以對照書上的公式一一對照。

㈦ lammps分子動力學模擬菜鳥入門求助

其實我在別的地方已經寫過這些了,再次摘抄過來。

個人感覺Lammps入門不那麼簡單,最好能有學長帶你。

還是首先看你題目做那個方向,做傳熱相關還是力學相關? 那種材料?我只知道一點做晶體聲子傳熱模擬的,要看些固態物理,晶格動力學和統計力學的書籍或相關材料。或者有師兄師姐帶的話可以直接上手先做起來,叫他們給個例子,自己先跑通,然後學習例子裡麵包含的知識點。同時可以看看你要做的項目別人發過的文章,用到什麼理論知識,然後自己去找相關資料。說的比較籠統。反正建議先著手做結果,再慢慢完善理論,不要先找全了書一頁頁看,往往很多東西用不上,時間長了自己也沒信心。另外做力學的話,現在很火的是做位錯(dislocation),還有邊界(grain boundary)抵擋斷裂或者變形的影響,這塊我不清楚,不過建議還是多看看別人文章。軟體要從官網下最新的版本,然後要自己編譯。

下面是我回答別人類似的一個問題,我再摘抄過來。
材料的勢能場參數很關鍵,要確保能有好的勢能參數,輸到Lammps里頭才能跑出好結果。
然後要先從例子開始。如果你有師兄師姐以前做過,那就好辦了,先拿人家的input file(也就是給Lammps輸入的命令序列)過來看,裡面會已經有個能跑得框架就好,之後一些常用命令,比如怎麼設置模擬盒子大小,讀入原子坐標,設置壓強溫度控制,跑多少步什麼的,直接抄過來(最好到網站上搜這些命令的用法,然後自己對照著自己想法改,或者有書也不錯,查查用法。)命令的話不要去背,太多了。
至於建模比較麻煩,因為這款軟體不像有限元集成了建模功能,你得自己編程,matlab,fortran,c語言都可以,想辦法把你要模擬的一堆原子坐標都算出來,然後打出到純文本文件(裡面記錄每個原子的序號,類別,坐標和速度),再和你的input file放到一起給Lammps算。之後跑完Lammps給的結果還需要些後處理,有可能還要編點小程序來處理。
另外你是要用自己電腦跑嗎?還是有學校超級計算機讓你用。反正最好是能先跑起來,哪怕把人家例子(或者網站上的例子)跑會了就成功一大半了。光看書資料自己沒感覺的。
我看沒人回答就隨便寫上幾句,希望你能成功。

㈧ 怎麼學分子動力學模擬與計算

入門階段,首先你要知道你想做什麼,最好是找個看起來不太難的文章照著把裡面的模擬自己重復一遍。因為全原子模擬大都是用一些軟體來進行的,因此你首先需要的是學會一些軟體的使用,常用的生物分子模擬軟體包括:Gromacs、Amber 和 NAMD 等等,材料有關的模擬還有 Lammps 等軟體。學這些東西的時候首先主要是要知道模擬的基本流程以及實現的方法,包括怎樣搭建模擬的體系、各種文件格式的轉換、系綜與盒子的選擇、水及離子、能量極小化等等,等到模擬的軌跡出來怎樣對數據進行處理,等到之後還可以學習軟體裡面的一些插件,例如一些加速采樣的方法等等。

自己學一種語言的話,在初期,做 MD 比較重要的是腳本語言,包括 Shell 腳本或者其它你自己喜歡的腳本。因為最終你還是不太可能完全在自己的電腦上跑程序的,所以要有一個你自己用得比較熟的、能對大規模的數據進行處理的語言,我覺得 Python 是很適合的,而且裡面的 Prody,Matplotlib 等等各種包都非常好用。

入門之後,如果希望自己通過一些量子化學的計算結果去調整和修改現有的力場,那麼需要能看懂其他人的代碼,這種時候很可能會需要能讀懂 Fortran 的代碼。如果自己喜歡做一些簡化模型自己弄著玩,用 Python 之類的寫起來是簡單,但是效率太低,還是需要會一點點 C 或者 C++,當然語言只是一方面,更重要的是自己要結合實際的體系做一些最簡單的優化。

相比起書籍來,還可以關注一些做模擬的學術們聚集的論壇和社區,例如:小木蟲、分子模擬論壇、ResearchGate 等等。

參考書的話,其實有很多,不過還是要看你自己需要哪方面的內容:
分子模擬方面的經典書籍:Understanding molecular simulation: From algorithms to applications 和 Molecular Modelling - Principles and Applications ,兩本書的側重點有些不同。

中文書籍:《分子模擬的理論與實踐》《計算化學——從理論化學到分子模擬》中的部分章節;

偏統計和計算物理方面:Statistical Mechanics: Algorithms and Computations。

㈨ 分子動力學方法適用於處理什麼問題 其處理問題的基本過程是什麼

分子動力學可以用於NPT,NVE,NVT等系綜的計算,是一種基於牛頓力學確定論的熱力學計算方法,可以廣泛應用於物理,化學,生物,材料,醫學等各個領域。
目前由於計算機性能的限制,其可計算的尺寸還很小,一般計算的粒子數會不會超過5位數,計算的尺寸一般只有幾十納米甚至更小
基本過程:
確定起始構型
進行分子動力學模擬的第一步是確定起始構型, 一個能量較低的起始構型是進行分子模擬的基礎 ,一般分子的起始構型主要來自實驗數據或量子化學計算。在確定起始構型之後要賦予構成分子的各個原子速度,這一速度是根據玻爾茲曼分布隨機生成的,由於速度的分布符合玻爾茲曼統計,因此在這個階段,體系的溫度是恆定的。另外,在隨機生成各個原子的運動速度之後須進行調整,使得體系總體在各個方向上的動量之和為零,即保證體系沒有平動位移。

進入平衡相
由上一步確定的分子組建平衡相,在構建平衡相的時候會對構型、溫度等參數加以監控。

進入生產相
進入生產相之後體系中的分子和分子中的原子開始根據初始速度運動,可以想像其間會發生吸引、排斥乃至碰撞,這時就根據牛頓力學和預先給定的粒子間相互作用勢來對各個粒子的運動軌跡進行計算,在這個過程中,體系總能量不變,但分子內部勢能和動能不斷相互轉化,從而體系的溫度也不斷變化,在整個過程中,體系會遍歷勢能面上的各個點(理論上,如果模擬時間無限)。計算分析所用樣本正是從這個過程中抽取的。

計算結果用抽樣所得體系的各個狀態計算當時體系的勢能,進而計算構型積分。