Re: [R-sig-phylo] Ancestral state reconstruction, polytomies and the absence of branch lengths

2021-09-17 Thread Emmanuel Paradis
Hi Jake & Diego,

Maybe a very small modification to ace() could help to accomodate some of these 
issues. Currently, ace(type = "discrete") checks the branch lengths of the tree 
and throws an error if any of them is zero or negative. I think zero-length 
branches could be allowed. This seems quite reasonable since matrix exponential 
works as expected in this situation, e.g., with expm:

R> expm::expm(matrix(rep(0, 4), 2, 2))
 [,1] [,2]
[1,]10
[2,]01

I'm not sure why the current check rejects trees with zero-length branches 
(probably there was a good reason some time ago). If this is changed, then 
calling ace() with a tree modified with multi2di() will be easier since the 
last function adds zero-length branch(es) in the tree.

Best,

Emmanuel

- Le 15 Sep 21, à 21:33, Jacob Berv jakeberv.r.sig.ph...@gmail.com a écrit :

> Hi Diego,
> 
> If your tree has polytomies and the branches have no length information, I am
> not sure if likelihood model-based reconstruction is right.
> 
> The ace function (and all other similar functions based on likelihood) will
> assume that your branch lengths represent some kind biological information
> (usually time), and the degree to which characters evolve will be related to
> the branch length. I therefore might prefer parsimony in this situation to get
> a general sense of what is going on.
> 
> As an experiment, you could assign all branches to be equal (e.g. = 1), but 
> then
> you are imposing this assumption on the analysis. In order to evaluate the
> effects of this assumption, and if you are specifically interested in
> reconstructing the ancestral states for a particular node, you could generate 
> a
> few sets of simulated branch lengths (which you could then pass to ace), to 
> see
> if the reconstruction is robust to a range of variation in branch lengths. You
> could also replicate using multi2di to see how robust your reconstruction is 
> to
> alternative resolutions.
> 
> Best,
> Jake
> 
> 
>> On Sep 15, 2021, at 2:16 AM, Diego Almeida-Silva 
>> 
>> wrote:
>> 
>> Dear colleagues,
>> 
>> I am trying to estimate ancestral states for two binary characters in a
>> full morphology-based phylogenetic tree. I am using ace function,
>> type="discrete" and kappa=0 as arguments. Unfortunately, I am dealing with
>> two problems about this issue: my topology have three polytomies and tree
>> branches have no lengths.
>> 
>> To perform ancestral state estimation, I firstly used the multi2di
>> function. However, this procedure creates artificial nodes in the topology.
>> This becomes a new problem, since states at these new nodes are also being
>> estimated.
>> 
>> Is there another way to deal with this situation? There are functions (or
>> packages) other than those of phytools that are able to deal with
>> polytomies and the absence of branch lengths in ancestral state
>> reconstruction?
>> 
>> Thanks in advance!
>> Diego
>> 
>>  [[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/

___
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/


Re: [R-sig-phylo] Ancestral state reconstruction, polytomies and the absence of branch lengths

2021-09-15 Thread Jacob Berv
Hi Diego,

If your tree has polytomies and the branches have no length information, I am 
not sure if likelihood model-based reconstruction is right.

The ace function (and all other similar functions based on likelihood) will 
assume that your branch lengths represent some kind biological information 
(usually time), and the degree to which characters evolve will be related to 
the branch length. I therefore might prefer parsimony in this situation to get 
a general sense of what is going on.

As an experiment, you could assign all branches to be equal (e.g. = 1), but 
then you are imposing this assumption on the analysis. In order to evaluate the 
effects of this assumption, and if you are specifically interested in 
reconstructing the ancestral states for a particular node, you could generate a 
few sets of simulated branch lengths (which you could then pass to ace), to see 
if the reconstruction is robust to a range of variation in branch lengths. You 
could also replicate using multi2di to see how robust your reconstruction is to 
alternative resolutions.

Best,
Jake


> On Sep 15, 2021, at 2:16 AM, Diego Almeida-Silva 
>  wrote:
> 
> Dear colleagues,
> 
> I am trying to estimate ancestral states for two binary characters in a
> full morphology-based phylogenetic tree. I am using ace function,
> type="discrete" and kappa=0 as arguments. Unfortunately, I am dealing with
> two problems about this issue: my topology have three polytomies and tree
> branches have no lengths.
> 
> To perform ancestral state estimation, I firstly used the multi2di
> function. However, this procedure creates artificial nodes in the topology.
> This becomes a new problem, since states at these new nodes are also being
> estimated.
> 
> Is there another way to deal with this situation? There are functions (or
> packages) other than those of phytools that are able to deal with
> polytomies and the absence of branch lengths in ancestral state
> reconstruction?
> 
> Thanks in advance!
> Diego
> 
>   [[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/


[R-sig-phylo] Ancestral state reconstruction, polytomies and the absence of branch lengths

2021-09-15 Thread Diego Almeida-Silva
Dear colleagues,

I am trying to estimate ancestral states for two binary characters in a
full morphology-based phylogenetic tree. I am using ace function,
type="discrete" and kappa=0 as arguments. Unfortunately, I am dealing with
two problems about this issue: my topology have three polytomies and tree
branches have no lengths.

To perform ancestral state estimation, I firstly used the multi2di
function. However, this procedure creates artificial nodes in the topology.
This becomes a new problem, since states at these new nodes are also being
estimated.

Is there another way to deal with this situation? There are functions (or
packages) other than those of phytools that are able to deal with
polytomies and the absence of branch lengths in ancestral state
reconstruction?

Thanks in advance!
Diego

[[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/