This command starts the Markov chain Monte Carlo (MCMC) analysis. The posterior probability of phylogenetic trees (and other parameters of the substitution model) cannot be determined analytically. Instead, MCMC is used to approximate the posterior probabilities of trees by drawing (dependent) samples from the posterior distribution. This program can implement a variant of MCMC called "Metropolis-coupled Markov chain Monte Carlo", or MCMCMC for short. Basically, "Nchains" are run, with Nchains - 1 of them heated. The chains are labelled 1, 2, ..., Nchains. The heat that is applied to the i-th chain is B = 1 / (1 + temp X i). B is the power to which the posterior probability is raised. When B = 0, all trees have equal probability and the chain freely visits trees. B = 1 is the "cold" chain (or the distribution of interest). MCMCMC can mix better than ordinary MCMC; after all of the chains have gone through one cycle, two chains are chosen at random and an attempt is made to swap the states (with the probability of a swap being determined by the Metropolis et al. equation). This allows the chain to potentially jump a valley in a single bound. The correct usage is
mcmc <parameter> = <value> ... <parameter> = <value>
For example,
mcmc ngen=100000 nchains=4 temp=0.5
performs a MCMCMC analysis with four chains with the temperature set to 0.5. The chains would be run for 100,000 cycles.
Options:
Seed -- Sets the seed number for the random number generator. The random number seed is initialized haphazardly at the beginning of each MrBayes session. This option allows you to set the seed to some specific value, thereby allowing you to exactly repeat a analysis. If the analysis uses swapping between cold and heated chains, you must also set the swap seed (see below) to exactly repeat the analysis.
Swapseed -- Sets the seed used for generating the swapping sequence when Metropolis-coupled heated chains are used. This seed is initialized haphazardly at the beginning of each MrBayes session. This option allows you to set the seed to some specific value, thereby allowing you to exactly repeat a swap sequence. See also the 'Seed' option.
Ngen -- This option sets the number of cycles for the MCMC algorithm. This should be a big number as you want the chain to first reach stationarity, and then remain there for enough time to take lots of samples.
Nruns -- How many independent analyses are started simultaneously.
Nchains -- How many chains are run for the MCMCMC variant. The default is 4: 1 cold chain and 3 heated chains. If Nchains is set to 1, MrBayes will use regular MCMC sampling, without heating.
Temp -- The temperature parameter for heating the chains. The higher the temperature, the more likely the heated chains are to move between isolated peaks in the posterior distribution. However, excessive heating may lead to very low acceptance rates for swaps between different chains. Before changing the default setting, however, note that the acceptance rates of swaps tend to fluctuate during the burn-in phase of the run.
Reweight -- Here, you specify three numbers, that respectively represent the percentage of characters to decrease in weight, the percentage of characters to increase in weight, and the increment. An increase/decrease in weight is acheived by replicating/removing a character in the matrix. This is only done to non-cold chains. The format for this parameter is "reweight=(<number>,<number>)" or "reweight=(<number>," <number>,<number>)".
Swapfreq -- This specifies how often a swap of the states of the chain is attempted. You must be running at least two chains for this option to be relevant. The default is Swapfreq=1, resulting in Nswaps (see below) swaps being tried each generation of the run. If Swapfreq is set to 10, then Nswaps swaps will be tried every tenth generation of the run.
Nswaps -- The number of swaps tried for each swapping generation of the chain (see also Swapfreq).
Samplefreq -- This specifies how often the Markov chain is sampled. You can sample the chain every cycle, but this results in very large output files. Thinning the chain is a way of making these files smaller and making the samples more independent.
Printfreq -- This specifies how often information about the chain is printed to the screen.
Printall -- If set to NO, only cold chains in a MCMC analysis are printed to screen. If set to YES, both cold and heated chains will be output. This setting only affects the printing to screen, it does not change the way values are written to file.
Printmax -- The maximum number of chains to print to screen.
Mcmcdiagn -- Determines whether acceptance ratios of moves and swaps will be printed to file. The file will be named similarly to the '.p' and '.t' files, but will have the ending '.mcmc'. If more than one independent analysis is run simultaneously (see Nruns below), convergence diagnostics for tree topology will also be printed to this file. The convergence diagnostic used is the average standard deviation in partition frequency values across independent analyses. The Burnin setting (see below) determines how many samples will be discarded as burnin before calculating the partition frequencies. The Minpartfreq setting (see below) determines the minimum partition frequency required for a partition to be included in the calculation. As the independent analyses approach stationarity (converge), the value of the diagnostic is expected to approach zero.
Diagnfreq -- The number of generations between the calculation of MCMC diagnostics (see Mcmcdiagn above).
Minpartfreq -- The minimum frequency required for a partition to be included in the calculation of the topology convergence diagnostic. The partition is included if the minimum frequency is reached in at least one of the independent tree samples that are compared.
Allchains -- If this option is set to YES, acceptance ratios for moves are recorded for all chains, cold or heated. By default, only the acceptance ratios for the cold chain are recorded.
Allcomps -- If this option is set to YES, topological convergence diag- nostics are calculated over all pairwise comparisons of runs. If it is set to NO, only the overall value is reported.
Relburnin -- If this option is set to YES, then a proportion of the sampled values will be discarded as burnin when calculating the convergence diagnostic. The proportion to be discarded is set with Burninfrac (see below). By default, the Relburnin option is set to NO, resulting in a specific number of samples being discarded instead. This number is set by Burnin (see below).
Burnin -- Which portion of the chain is discarded. It may take a while for the chain to reach stationarity. Samples taken when the chain is not at stationarity (the early phase of the chain) should be discarded. This parameter is one way of simply discarding early samples.
BurninFrac -- Determines the fraction of samples that will be discarded when convergence diagnostics are calculated. The value of this option is only relevant when Relburnin is set to YES. Example: A value for this option of 0.25 means that 25 of the samples will be discarded.
Stoprule -- If this option is set to NO, then the chain is run the number of generations determined by Ngen. If it is set to YES, and topological convergence diagnostics are calculated (Mcmcdiagn is set to YES), then the chain will be stopped before the pre-determined number of generations if the convergence diagnostic falls below the stop value.
Stopval -- The critical value for the topological convergence diagnostic. Only used when Stoprule and Mcmcdiagn are set to yes, and more than one analysis is run simultaneously (Nruns > 1).
Filename -- The name of the files that will be generated. Two files are generated: "<Filename>.t" and "<Filename>.p". The .t file contains the trees whereas the .p file contains the sampled values of the parameters.
Startingtree -- The starting tree for the chain can either be randomly selected or user-defined. It might be a good idea to start from randomly chosen trees; convergence seems likely if independently run chains, each of which started from different random trees, converge to the same answer.
Nperts -- This is the number of random perturbations to apply to the user starting tree. This allows you to have something between completely random and user-defined trees start the chain.
Savebrlens -- This specifies whether branch length information is saved on the trees.
Ordertaxa -- Determines whether taxa should be ordered before trees are printed to file. If set to 'Yes', terminals in the sampled trees will be reordered to match the order of the taxa in the data matrix as closely as possible. By default, trees will be printed without reordering of taxa.
Parameter Options Current Setting ----------------------------------------------------- Seed <number> 1115997956 Swapseed <number> 1115997956 Ngen <number> 1000000 Nruns <number> 2 Nchains <number> 4 Temp <number> 0.200000 Reweight <number>,<number> 0.00 v 0.00 ^ Swapfreq <number> 1 Nswaps <number> 1 Samplefreq <number> 100 Printfreq <number> 100 Printall Yes/No Yes Printmax <number> 8 Mcmcdiagn Yes/No Yes Diagnfreq <number> 1000 Minpartfreq <number> 0.10 Allchains Yes/No No Allcomps Yes/No No Relburnin Yes/No Yes Burnin <number> 0 Burninfrac <number> 0.25 Stoprule Yes/No No Stopval <number> 0.01 Filename <name> temp.out.<p/t> Startingtree Random/User Random Nperts <number> 0 Savebrlens Yes/No Yes Ordertaxa Yes/No No -----------------------------------------------------