I agree that it is almost certainly numerical precision, as rescaling the tree fixes things:
> is.ultrametric(phy); [1] FALSE > fie <- phy; > fie$edge.length <- fie$edge.length * 0.1; > is.ultrametric(fie); [1] TRUE I’ve also tested the ultrametricity(?) with a non-R program and the results are the same. So can we assume this is not a PhyloBayes issue, and rather an unavoidable problem with large, old trees? But the fact that MrBayes trees are ultrametric is confusing; does MrBayes use less precise edge lengths? JWB ________________________________________ Joseph W. Brown Post-doctoral Researcher, Smith Laboratory University of Michigan Department of Ecology & Evolutionary Biology Room 2071, Kraus Natural Sciences Building Ann Arbor MI 48109-1079 josep...@umich.edu > On 16 Aug, 2016, at 08:53, Liam J. Revell <liam.rev...@umb.edu> wrote: > > Hi Martin. > > Since you are writing & reading trees to file, my guess is that it has to do > with numerical precision - that is, the rounding of your edge lengths when > they are written to file. > > Does your tree look ultrametric when plotted in R? If so, this is probably > the case. > > My recommendation is that you use phangorn to compute the non-negative > least-squares edge lengths with the condition that the tree is ultrametric. > This will give you the edge lengths that result in the distances between taxa > with minimum sum of squared differences from the distances implied by your > input tree, under the criterion that the resulting tree is ultrametric. > > To do this you need to merely run: > > library(phytools) > library(phangorn) > is.ultrametric(tree) ## fails > plotTree(tree,ftype="off") ## does my tree look ultrametric? > nnls<-nnls.tree(cophenetic(tree),tree,rooted=TRUE) > is.ultrametric(tree) ## should pass > > Let us know if this works. All the best, Liam > > Liam J. Revell, Associate Professor of Biology > University of Massachusetts Boston > web: http://faculty.umb.edu/liam.revell/ > email: liam.rev...@umb.edu > blog: http://blog.phytools.org > > On 8/16/2016 6:41 AM, Martin Dohrmann wrote: >> Hi, >> I want to do some diversification pattern analyses with various R packages. >> I'm using a time-calibrated tree produced by PhyloBayes. Branch lengths are >> in millions of years and all taxa are extant, so the tree should be >> ultrametric. However, when I call "is.ultrametric", it returns "FALSE". >> >> Has anybody encountered something like this? Any ideas about what's going >> on/how to solve this? >> >> Some further information: >> I also tried other PhyloBayes time trees, with the same result. In contrast, >> MrBayes time trees I tried for comparison are recognized as ultrametric. >> Regarding my diversification analyses, TESS would not run, telling me "The >> likelihood function is only defined for ultrametric trees!". On the other >> hand, BAMMtools doesn't seem to have a problem with my tree. I haven't tried >> other packages yet, but I suspect RPANDA, TreePar etc. might also have >> issues if they don't recognize my tree as ultrametric. >> >> I'd appreciate any help! >> >> Best wishes, >> Martin >> >> Dr. Martin Dohrmann >> Ludwig-Maximilians-University Munich >> Dept. of Earth & Environmental Sciences >> Palaeontology & Geobiology >> Molecular Geo- & Palaeobiology Lab >> Richard-Wagner-Str. 10 >> 80333 Munich, Germany >> Phone: +49-(0)89-2180-6593 >> >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-sig-phylo mailing list - R-sig-phylo@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo >> Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/ >> > > _______________________________________________ > R-sig-phylo mailing list - R-sig-phylo@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-phylo > Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/ [[alternative HTML version deleted]] _______________________________________________ R-sig-phylo mailing list - R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/