This is a test version of Biostars. For the public version, visit https://www.biostars.org.
phylogeny

Dear all,

I am a student in the field of phylogeny.I calculated the phylogenetic diversity with R Language. I encountered the above problem. Maybe there's something wrong with my phylogenetic tree.I wish to ask teachers to help me solve this problem.

Thanks a lot!

Error in node.age(sub.tree) : 
    function node.age only works with a rooted phylo object
phylogenetic-tree diversity

Hello, my problem is the same as yours, did you finally solve this problem?

May be because it can't be calculated all at once, but in batches

What did you mean? btw I got the same problem, and I don't know how to solve?

Hello, my problem is the same as yours, did you finally solve this problem?

Maybe it needs to be converted to a binary tree.

library(ape)
mytree<-multi2di.phylo(mytree.tre)

1 answer

You should check if your phylogeny is rooted. For example:

install.packages('ape')
library(ape)
mytree <- read.tree(file = "mytree.nwk") # assumes newick format
is.rooted(mytree)

This should return TRUE if your phylogeny is indeed rooted.

If it is not rooted, then you will need to root it yourself (e.g., via outgroup, midpoint rooting, etc.). See here for more info: https://rdrr.io/cran/ape/man/root.html

Thanks a lot!

Thank you for your help. I have checked my phylogeny and it returned TRUE, but the problem still occurs. I don't know what went wrong.

library(ape)
mytree<-read.tree(file = "mytree.nwk")
is.rooted(mytree)
[1] TRUE
library(picante)
sam<-readsample("sample.txt")
ses.pd(sam,mytree,null.model = "phylogeny.pool",runs=99)

Error in node.age(sub.tree) : 
  function node.age only works with a rooted phylo object

Log in to answer this question.