Biology Stack Exchange is a question and answer site for biology researchers, academics, and students. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I use my own data to build Bayesian phylogenetic trees using the software Mrbayes, after many generations, it never reaches stopping status (namely, the average standard deviation of split frequencies below 0.01).

What should I do to get to this point?

The dtype is protein, 37 taxa were included, the model I used was as follows:

prset aamodel=fixed(wag);
lset rates=Invgamma; 
mcmc ngen=100000 samplefreq=100
share|improve this question
up vote 1 down vote accepted

There are a few things you can try to get better convergence. I'd try the following in increasing order of difficulty/effort/processing time.

  1. Be satisfied with a higher standard deviation of split frequencies. The MrBayes manual says "A rough guide is that an average standard deviation below 0.01 is very good indication of convergence, while values between 0.01 and 0.05 may be adequate depending on the purpose of your analysis." Especially if you are interested only in the best supported parts of the tree, this is a viable option. 0.01 is only a guideline.
  2. Run the model for more generations. Maybe it is on the way to converging, but it hasn't gotten there yet. 100000 is not really that many. Try 200000 or 500000 and see if the model space is still being explored. You can examine the .p files using Tracer. You may already be doing this, and this is why you know it is not converging. If you look at the plots of the log-likelihoods, they will become relatively stable when the run has reached the optimal location.
  3. Try running with a different amino acid model or without the inverse gamma rate prior. If you can get a simpler model to converge, then
  4. Increase the number of chains to 4 or 8. If you have the ability to run in parallel, this will greatly speed up your analyses.
  5. Try iteratively changing the heating parameter by setting Temp to a lower value, which will increase the likelihood of a swap. By default, Temp = 0.1. You can watch the progress of the analysis in the command line and see which are the heated chains and which is the cold chain.
share|improve this answer
Many thanks, kmm! These are very useful suggestions, and with these information, I really got good results. There is also another question: the model I selected was based on the results of model test program ProtTest, so although it is difficult to converge, is it the right way to choose a simple model for the analysis? (I mean this operation will produce good results, but the results may be controversal.) – peter cai Sep 12 '13 at 6:07
And if all what kmm suggests fail, it may be time to fiddle with finer tunings, such as concerning the proposals that are used to modify the Markov chain. – bli Sep 12 '13 at 10:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.