MrBayes v3.2 for windows 并行版下载及 checkpoint 功能介绍

 (作者:玛瑙河,转载请注明作者或出处, 13.gif) 
  更新记录:
  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 ;
  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 ;
  end ;

 

 

转载于:https://www.cnblogs.com/agateriver/archive/2010/06/23/MrBayes_320_MPI_4_Windows.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值