Hi Alina.

Since you mentioned some functions of phytools, I thought it might be 
helpful to describe what each function is actually doing:

1) The function ls.consensus computes a least-squares (LS) consensus 
tree. This is the LS tree on the average patristic distance matrix of 
the input trees, as described by Lapointe & Cucumel (1997). This is a 
consensus method, but it has been criticized for not possessing what I 
believe is referred to as the 'Pareto' property - meaning, in this case, 
that the consensus tree can include relationships not present in any 
input tree! (In practice, this is probably rare for real empirical 
distributions of trees.) In general, the resultant tree will usually be 
completely resolved and if all input trees are ultrametric, the output 
tree will also be ultrametric. (Also see: 
http://blog.phytools.org/2016/04/average-trees-and-maximum-clade.html.)

2) The function averageTree trees to find the tree with the minimum sum 
of squared distances to all the trees in a set. The tree is not 
necessarily a member of the set. Any of a number of different distance 
criteria can be used; however, if the distance criterion selected does 
not use branch lengths (e.g., Robinson-Foulds distance) then the output 
tree will also not have branch lengths. (Also see: 
http://blog.phytools.org/2016/04/consensus-methods-and-computing-average.html.)

3) Finally, the function consensus.edges computes consensus edge lengths 
based on a set of input trees with edge lengths and a consensus 
topology. By default, this function computes the average edge lengths 
across all trees in which each edge of the consensus topology is 
present. The user can decide what to do if an edge is absent in a given 
input tree. The tree can be ignored, and thus contribute nothing to the 
consensus edge length for that particular edge, or the edge length for 
that tree can be set to zero. This function has a third mode, which is 
to merely compute the consensus non-negative least squares edge lengths 
on the user-supplied consensus tree. If all the input trees are 
ultrametric, then the computed tree will also be ultrametric. Note that 
this is difference from just using ls.consensus because in 
consensus.edges the LS edge lengths are computed on a fixed tree, 
whereas in ls.consensus we optimize both the topology and edge lengths 
given a set of trees. (Also see: 
http://blog.phytools.org/2016/03/method-to-compute-consensus-edge.html.)

maxCladeCred was also mentioned by another list member. This is a 
function of phangorn that finds the tree (or trees?) in the input set 
with the highest total clade probability. This is done by going clade by 
clade in each tree of a set, and computing the relative frequencies with 
which each clade is represented across the set (these are the posterior 
probabilities for each clade), multiplying the clade relative 
frequencies for each tree, and then selecting the tree with the highest 
product. Since this procedure merely permits us to select a tree or 
trees from our posterior distribution, our tree should generally be 
fully resolved and ultrametric if the trees in our input set are fully 
resolved and ultrametric. Note also that in a Bayesian posterior sample 
our maximum clade credibility (MCC) tree will usually be represented 
many times. If we find all instances of the MCC tree in our set, and all 
instances are ultrametric, then computing the average edge lengths 
across this set (e.g., using consensus.edges) will also produce a tree 
that is ultrametric.

All the best, Liam

Liam J. Revell
Associate Professor, University of Massachusetts Boston
Profesor Asistente, Universidad Católica de la Ssma Concepción
web: http://faculty.umb.edu/liam.revell/, http://www.phytools.org

On 1/24/2019 6:14 PM, Alina van dijk wrote:
> Hi everyone,
> 
> Thanks Emmanuel and Joseph for sharing your thoughts!
> Emmanuel, today I tried multi2di and it works. But, if I understand
> correctly, this function transforms the dichotomies with branches of length
> zero. So for me, in fact, doesn't solve the politomy. Right?
> Joseph, I'm only a begginer with R and this program already gives me a lot
> of headache.
> It drives me crazy think in another program... hahahha
> Just kidding! :)
> But, nice to know that I have a plan B!
> I will take a look!
> 
> Thanks in advance,
> Best Regards,
> 
> Alina
> 
> 
> Em qua, 23 de jan de 2019 às 16:29, Emmanuel Paradis <
> emmanuel.para...@ird.fr> escreveu:
> 
>> Hi Alina,
>>
>> Did you try multi2di() to remove polytomies?
>>
>> Best,
>>
>> Emmanuel
>>
>> Le 23/01/2019 à 17:41, Alina van dijk a écrit :
>>> Hi everyone,
>>>
>>> My name is Alina, I'm attending master degree in ecology and I have a
>>> little problem with my consensus phylogeny. I used 1000 phylogeny of
>>> birdtree to construct the consensus tree but now I need to insert the
>> dates
>>> in this consensus tree.
>>>
>>> To accomplish this idea, I tried different methods:
>> consensustree<-averageTree
>>> (tree,method="symmetric.difference") but the result is a consensus tree
>> in
>>> topology, binary and rooted but not ultrametric. For this problem I used
>>> consensus_tree_ultrametric
>>> <-compute.brlen(consensustree,method="Grafen",power=1), but the edge
>>> lengths was altered.
>>>
>>> So, I used another method to make a consensus tree using phytools
>>> consensustree_another_method <- consensus.edges(multiphylo,method =
>>> "mean.edge") as a result, a ultrametric tree, rooted with consensus edges
>>> lengths, but have polytomies :(
>>>
>>> I also tried using phylobase , proposed by Brian O'Meara in this link:
>>>
>> https://grokbase.com/t/r/r-sig-phylo/12bn9x5gv4/why-no-branch-lengths-on-consensus-trees
>>> ,
>>>    but as a result, my consensus tree wasn´t ultrametric and the
>>> transformation also altered the edge lengths.
>>>
>>> I only need to insert the dates based on the trees dated by Jetz in this
>>> consensus tree and as result, an ultrametric tree, with consensus edges
>>> lengths and no polytomy.
>>>
>>> Does anyone know how to solve that problem?
>>>
>>> Thanks in advance,
>>> Best Regards,
>>>
>>> Alina
>>>
>>>        [[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/
>>>
>>>
>>> Pour nous remonter une erreur de filtrage, veuillez vous rendre ici :
>> http://f.security-mail.net/VKQxzoa2
>>>
>>>
>>
> 
>       [[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/

Reply via email to