(Author: Ma Weihe, reposted by the author or source) updated record: 2010.06.23 svn r80 2010.06.13 svn r78 2010.06.01 svn r76 MrBayes 3.2 added the checkpoint function to save the checkpoint, you can continue running from the checkpoint after an unexpected event is restarted to avoid wasting time.
In addition, mrbays also supports parallel computing, which can take full advantage of the computing capabilities of multi-core computers and even network clusters, greatly reducing the computing time. The parallel version is quite efficient. In my t7400 notebook, run the script model_test.nex in the mrbayes examples directory. The parallel version takes 13 minutes and a half, and the non-parallel version takes 21 minutes and a half. Compared with the non-parallel version, the parallel version has improved the efficiency by 37%. On the 4-core Yunlong 940, the running time is about 2/3 shorter than that of the non-parallel version.
I have compiled the mrbayes v3.2 32-bit parallel version and the standalone version (download) for your use. The following describes the installation and usage methods:
1. Install mpich2 as a system administrator.
The MrBayes of the parallel version must be supported by the MPICH2 runtime. If you have installed MPICH2 earlier than 1.2.1p1 in the system, remove it. (If you have installed POY, run uninstall_mpi.bat in the installation directory of POY ). The MrBayes of the parallel version depends on the runtime of MPICH2 of version 1.2.1p1. The official website of MPICH2 Runtime is:
After the http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.2.1p1/mpich2-1.2.1p1-win-ia32.msi is downloaded, it will be installed to a directory as a system administrator, by default will install to C: \ Program Files \ MPICH2 \, you can also install elsewhere, such as C: \ mpich2 \. Note that it is important to install it as a system administrator. Otherwise, it will not work properly after installation. A password is required during the installation process. Remember this password and use it later (if MPICH2 is configured on the cluster, the same password will be applied to each machine for installation ). Select "for Everyone" when you need to select the user to install ". If the installation is successful, a "MPICHE Process Manager" service will be added to the system service. If you encounter a firewall warning during the installation and subsequent running of mb, please agree. The mrbayes of the parallel version needs to implement process communication through the network port. If it is blocked by the firewall, it will not work normally. In vista/win7, if the system fails to run the parallel version of MrBayes after installation, it indicates that MPICH2 is not properly installed. You can open a command line window as an administrator, running the mpich2-1.2.1p1-win-ia32.msi in the command line should solve the problem. 2. Download the compiled MrBayes 3.2 parallel version (I will update it at any time based on the source code library updates)
: Http://files.cnblogs.com/agateriver/mrbayes_3.2_for_Windows_%E5%B9%B6%E8%A1%8C%E7%89%88.7z
Decompress the parallel version to a directory, such as C: \ mrbayes_3.2 \. (During decompression, use the decompression software that supports the 7zip compression format, for example, 7-Zip/winrar.) 3. Run the parallel version of mb and only explain how to run it on a multi-core single machine. Open the command line window. Assume that your CPU has four cores and the working directory is c: \ workdir. Enter the corresponding command to run the parallel version of mb as follows (if you need an account name and password, enter the account name and password you are currently logged on to. Note that this password is not the same as the one you entered when installing MPICH2 ):
A. Interactive Operation
1 cd c: \ workdir
2 "C: \ Program Files \ MPICH2 \ bin \ mpiexec"-n 4 C: \ mrbayes_3.2 \ mb.exe
B. Run the script
If you use mb to directly execute a MrBayes script (assuming the script is c: \ workdir \ demo. nex), run the following command: 1 cd c: \ workdir
2 "C: \ Program Files \ MPICH2 \ bin \ mpiexec"-n 4 C: \ mrbayes_3.2 \ mb.exe demo. nex
4. If you want to use multi-host parallel MrBayes, search for the relevant tutorial of MPICH2 for windows Online.
About the 3.2 checkpoint Function
MrBayes uses the three checkpoint, checkfreq, and append parameters in the mcmc command to control the checkpoint storage. For details, enter the "help mcmc" command in MrBayes and view the descriptions in sections such as "checkpoint" and "checkfreq:
Checkpoint -- if this parameter is set to Yes (Yes by default), the current parameter values of all links are output to the Checkpoint file for saving every algebra specified by the Checkfreq parameter. The checkpoint file name is shown . Ckp. When you restart the analysis, the analysis process starts from the status of the Checkpoint recorded at the end of the file, instead of starting from scratch. There are two advantages of this function: the first is to prolong the analysis process. For example, after the set algebra is completed, you find that the algebra is not enough and you need to continue; the second is to avoid the risks caused by hardware faults or other uncontrollable reasons. If you have been running for a month, you will see the results, but in the event of a power failure (unfortunately I met shortly before), if there is no checkpoint function, I am afraid my eyes will be burst out in a hurry.
Checkfreq-the frequency at which the checkpoint is saved, that is, the number of generations that are saved at intervals. The default value is 100000.
Append -- whether to save the checkpoint to continue running the analysis.
The following is a Mrbayes script:
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 Samsung relburnin = yes burninfrac = 0.25;
6 SUMT relburnin = Yes burninfrac = 0.25;
7 end;
Suppose you have a large dataset named example. nex, and it has been running this script for several weeks, but suddenly a Mao's brother knocked out the power plug, then you can pretend to be annoyed, so that Mao's brother felt a little inner ,:). After the instance is restarted, append = yes at the end of the fourth line of the script as follows, and then re-run the script. MrBayes will continue to run your analysis from the last checkpoint.
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 Samsung relburnin = Yes burninfrac = 0.25;
6 SUMT relburnin = Yes burninfrac = 0.25;
7 end;