MrBayes v3.2 for windows 並行版下載及 checkpoint 功能介紹

來源:互聯網
上載者:User
 (作者:瑪瑙河,轉載請註明作者或出處,)   更新記錄:  2010.06.23 svn r80  2010.06.13 svn r78  2010.06.01 svn r76           MrBayes 3.2版中加入了checkpoint功能,即可以儲存檢查點,在由於意外事件重啟後仍可以從檢查點處繼續運行,以免白費功夫。

  另外MrBays也支援並行計算,可以充分利用多核電腦乃至網路叢集的計算能力,大大縮短計算時間。 並行版的效率相當不錯。在我的雙核(T7400)筆記本上,運行MrBayes examples目錄中的指令碼model_test.nex,並行版耗時13分半鐘,非並行版耗時21分半鐘;與非並行版相比,並行版效率提高了37%。在4核羿龍940上,已耗用時間比非並行版約縮短了2/3 。

  本人編譯了 MrBayes v3.2 32位並行版及單機版(下載)供大家使用,下面是安裝及使用方法: 

1. 以系統管理員身份安裝MPICH2運行時。

  並行版的MrBayes需要MPICH2運行時的支援。如果系統中已經安裝了老於1.2.1p1版本的MPICH2,請將其卸載。(如果您安裝了POY,請到POY安裝目錄下執行uninstall_mpi.bat) 。並行版的 MrBayes依賴於1.2.1p1版的MPICH2運行時,MPICH2運行時官網為:
http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.2.1p1/mpich2-1.2.1p1-win-ia32.msi  下載後以系統管理員身份將其安裝到某個目錄,預設將安裝到 C:\Program Files\MPICH2\, 你也可以安裝到別的地方,如 C:\mpich2\。注意以系統管理員身份安裝很重要,否則安裝後不能正常使用。安裝過程中會要求設定一個密碼,請記住該密碼,在以後會用得上(如果在叢集上配置MPICH2,則在每台機器上都應用相同的密碼安裝)。當需要您選擇為哪個使用者安裝時,最好選擇“for Everyone"。如果安裝成功,系統服務中會增加一個“MPICHE Process Manager”的服務。安裝過程及以後運行mb的過程中如遇到防火牆警告,請選擇同意。並行版的mrbayes需要通過網路連接埠實現進程通訊,如果被防火牆阻斷則將不能正常運行。在vista/win7下如果遇到安裝後不能正常運行並行版的MrBayes的問題,說明MPICH2沒能正常安裝,可以以管理員身份開啟一個命令列視窗,在命令列中運行 mpich2-1.2.1p1-win-ia32.msi ,應當可以解決問題。2.下載本人編譯的MrBayes 3.2 並行版 (本人將根據源碼庫更新情況隨時更新)

  : http://files.cnblogs.com/agateriver/mrbayes_3.2_for_Windows_%E5%B9%B6%E8%A1%8C%E7%89%88.7z 

  將其中的並行版解壓到某個目錄,比如C:\mrbayes_3.2\。(解壓時請使用支援7zip壓縮格式的解壓縮軟體如7-Zip/winrar等)3. 運行並行版的mb  下面只講如何在多核的單機上運行。  開啟命令列視窗。假設你的CPU有4個核,工作目錄在c:\workdir,則根據下述情況輸入相應的命令運行並行版的mb(其間如果需要賬戶名和密碼,請輸入您當前登入的賬戶名和密碼,注意此密碼與前面安裝MPICH2時輸入的密碼不是一回事):

a. 互動式運行 

1 cd c:\workdir
2 "C:\Program Files\MPICH2\bin\mpiexec" -n 4 C:\mrbayes_3.2\mb.exe

b. 運行指令碼 

  如果用mb直接執行一個MrBayes指令碼(假設這個指令碼就是c:\workdir\demo.nex),則用如下命令:1 cd c:\workdir
2 "C:\Program Files\MPICH2\bin\mpiexec" -n 4 C:\mrbayes_3.2\mb.exe demo.nex

 

4. 如果您想多機並行 MrBayes ,請網上搜尋 MPICH2  windows 版的相關使用教程。 

 

關於3.2版的checkpoint功能

  MrBayes通過mcmc命令中的三個參數checkpoint、checkfreq、append來控制檢查點的儲存。具體大家可以在MrBayes中輸入"help mcmc"命令然後查看"checkpoint"和"checkfreq"等節的說明:

   Checkpoint   -- 如果這個參數被設為 Yes(預設為Yes),則每隔Checkfreq參數所指定的代數,所有鏈的當前參數值都會被輸出到檢查點檔案儲存。檢查點檔案名稱形如 .ckp,當你重啟分析時,分析過程可以從這個檔案最後所記錄的檢查點的狀態開始,而不必從頭開始進行。這個功能的好處有二:第一就是延長分析過程,比如在設定的代數跑完以後你發現代數還不足夠,需要繼續;第二就是避免因硬體故障或其它不可控原因宕機而導致的風險,試想你運行了一個月,眼看就要出結果了,卻碰上斷電事故(很不幸筆者前不久就碰上了),如果沒有檢查點功能,恐怕眼睛都得急的蹦出來。

   Checkfreq    -- 儲存檢查點的頻率,就是每隔多少代儲存一次,預設100000。

   Append       -- 是否從最後儲存檢查點繼續運行分析。

 

下面是一個Mrbayes指令碼:

1 begin mrbayes;
2 exec example.nex;
3 lset nst=6 rates=invgamma;
4 mcmc ngen=20000000 stoprule=yes stopval=0.01 checkpoint=yes checkfreq=50000;
5 sump relburnin=yes burninfrac=0.25;
6 sumt relburnin=yes burninfrac=0.25;
7  end;

 假設你有一個很大的資料集example.nex,並且運行這個指令碼已經幾個星期了,但是突然被某個毛頭師兄弟碰掉了電源插頭,這時你可以假裝懊惱一下,好讓那個毛頭師兄稍微有點內疚感,:)。重新開機後,像下面一樣將指令碼的第四行末尾加上append=yes,然後重新運行,MrBayes就會從最後的檢查點處繼續運行你的分析了。

1 begin mrbayes;      2 exec example.nex;
3 lset nst=6 rates=invgamma;
4 mcmc ngen=20000000 stoprule=yes stopval=0.01 checkpoint=yes checkfreq=50000 append=yes;
5 sump relburnin=yes burninfrac=0.25;
6 sumt relburnin=yes burninfrac=0.25;
7  end;

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.