I thought that BEAST does not allow negative lengths of branches on prior distribution level so I got very surprised when I have looked at my consensus tree in FigTree.
What could be the reason of this and how to wrestle with this phenomenon?
I am analysing about 1500 taxa of HAV (subtype: IA, region: VP1) under the next parameters: GTR+Г, Strict Clock, Coalescent constant population. Tree was generated by treeannotator through ~/beast/bin/treeannotator -heights median -burnin 20 -limit 0.5 VP1_test_bt_ExpPop.trees VP1_test_bt_ExpPop.tree
I found the answer on ResearchGate from Santiago Sanchez-Ramirez & let me quote it here:
Try using the option
-heights ca
when you run TreeAnnotator. This stands for "common ancestor trees" and aims at summarizing clade ages across all posterior trees and not only the values for subset of trees that have that clade. If that subset of trees is low in frequency the average node height might end up being older than the direct ancestor. Here is the explanation for negative branches: "MCC trees produced by TreeAnnotator can have a descendent node that is older than its direct ancestor (a negative branch length). This may seem like an error but is actually the correct behaviour. The MCC tree is, by default, generated with average node heights across all trees in the sample which contain that clade. The negative branch lengths result when a clade is at low frequency and tends not to occur in those trees that have the MCC tree's ancestral clade (or vice versa). This means the average heights are for the adjacent nodes are derived from different sets of trees and may not have any direct ancestor-descendent relationship." In this paper you will find more information about theca
option: Looking for trees in the forest: Summary tree from posterior samples