Re: [R-sig-phylo] Rescaling a cophenetic matrix based on the Early Burst Model?

2017-12-15 Thread Klaus Schliep
Dear Max,
there is a function called coph in phangorn. The function is hidden in the
name space, so you have to use phangorn:::coph.
It returns a dist object instead of a matrix and computing time is roughly
O(n^2) instead of O(n^3).
> library(phangorn)> tree <- rtree(1)
> system.time(cm1 <- cophenetic(tree))
   user  system elapsed
  4.312   0.428   4.752
> system.time(cm2 <- phangorn:::coph(tree))
   user  system elapsed
  0.228   0.036   0.262
For large trees you are likely running out of memory, so Cecile's approach
is in the long run probably better.
Cheers,
Klaus



On Fri, Dec 15, 2017 at 5:26 PM, Cecile Ane  wrote:

> Not in phylolm, because it’s faster to avoid manipulating this large
> matrix, if possible (and it is indeed possible for many purposes). If you
> can rephrase your calculations to use branching times (distance from a node
> to its descendant tips) or using the nodes’ distance to the root, then you
> could use functions like pruningwise.branching.times and
> pruningwise.distFromRoot in phylolm. Other folks could chime in, for tools
> in other packages.
> Cécile
>
> On Dec 15, 2017, at 3:55 PM, Max Farrell > wrote:
>
> Hi Cecile,
>
> Thanks for the input - it looks like this function does perform the tree
> rescaling, and in about 1/4 of the time, so this could help speed up the
> code!
>
> However, the function doesn't seem to return a covariance matrix. Is there
> a way to get the cophenetic matrix with the out put of this function?
> Otherwise I'm stuck using cophenetic again...
>
> Max
>
> Max
>
> On Fri, Dec 15, 2017 at 4:36 PM, Cecile Ane  cile@wisc.edu>> wrote:
> In the package phylolm, the function "transf.branch.lengths” might do what
> you need. It has an option model=“EB” for early burst.
> Cécile
>
> > On Dec 15, 2017, at 3:27 PM, Max Farrell  mailto:maxwellfarr...@gmail.com>> wrote:
> >
> > I have been using the rescale function from geiger for a link prediction
> > model I recently helped develop (https://arxiv.org/abs/1707.08354). I'm
> now
> > running this model on a much larger dataset and part of the code is
> > computing cophenetic(rescale(phy)) with 'EB' rescaling many many times.
> >
> > We're finding that calling cophenetic() is the rate limiting step, and if
> > we can avoid this function we expect to speed up our code by up to 4
> times.
> > This would be very useful as our simulation has been running for over 50
> > days now...
> >
> > I was wondering if there is a way to do EB transformations on a
> > phylogenetic distance matrix directly so as to avoid using the cophenetic
> > function?
> >
> > Any help or insights would be greatly appreciated!
> >
> >   [[alternative HTML version deleted]]
> >
> > ___
> > R-sig-phylo mailing list - R-sig-phylo@r-project.org 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-ph...@r-project.org/
>
> ___
> R-sig-phylo mailing list - R-sig-phylo@r-project.org 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-ph...@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-ph...@r-project.org/
>



-- 
Klaus Schliep
Postdoctoral Fellow
Revell Lab, University of Massachusetts Boston
http://www.phangorn.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/

Re: [R-sig-phylo] Rescaling a cophenetic matrix based on the Early Burst Model?

2017-12-15 Thread Cecile Ane
Not in phylolm, because it’s faster to avoid manipulating this large matrix, if 
possible (and it is indeed possible for many purposes). If you can rephrase 
your calculations to use branching times (distance from a node to its 
descendant tips) or using the nodes’ distance to the root, then you could use 
functions like pruningwise.branching.times and pruningwise.distFromRoot in 
phylolm. Other folks could chime in, for tools in other packages.
Cécile

On Dec 15, 2017, at 3:55 PM, Max Farrell 
> wrote:

Hi Cecile,

Thanks for the input - it looks like this function does perform the tree 
rescaling, and in about 1/4 of the time, so this could help speed up the code!

However, the function doesn't seem to return a covariance matrix. Is there a 
way to get the cophenetic matrix with the out put of this function? Otherwise 
I'm stuck using cophenetic again...

Max

Max

On Fri, Dec 15, 2017 at 4:36 PM, Cecile Ane 
> wrote:
In the package phylolm, the function "transf.branch.lengths” might do what you 
need. It has an option model=“EB” for early burst.
Cécile

> On Dec 15, 2017, at 3:27 PM, Max Farrell 
> > wrote:
>
> I have been using the rescale function from geiger for a link prediction
> model I recently helped develop (https://arxiv.org/abs/1707.08354). I'm now
> running this model on a much larger dataset and part of the code is
> computing cophenetic(rescale(phy)) with 'EB' rescaling many many times.
>
> We're finding that calling cophenetic() is the rate limiting step, and if
> we can avoid this function we expect to speed up our code by up to 4 times.
> This would be very useful as our simulation has been running for over 50
> days now...
>
> I was wondering if there is a way to do EB transformations on a
> phylogenetic distance matrix directly so as to avoid using the cophenetic
> function?
>
> Any help or insights would be greatly appreciated!
>
>   [[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/

Re: [R-sig-phylo] Rescaling a cophenetic matrix based on the Early Burst Model?

2017-12-15 Thread Cecile Ane
In the package phylolm, the function "transf.branch.lengths” might do what you 
need. It has an option model=“EB” for early burst.
Cécile

> On Dec 15, 2017, at 3:27 PM, Max Farrell  wrote:
> 
> I have been using the rescale function from geiger for a link prediction
> model I recently helped develop (https://arxiv.org/abs/1707.08354). I'm now
> running this model on a much larger dataset and part of the code is
> computing cophenetic(rescale(phy)) with 'EB' rescaling many many times.
> 
> We're finding that calling cophenetic() is the rate limiting step, and if
> we can avoid this function we expect to speed up our code by up to 4 times.
> This would be very useful as our simulation has been running for over 50
> days now...
> 
> I was wondering if there is a way to do EB transformations on a
> phylogenetic distance matrix directly so as to avoid using the cophenetic
> function?
> 
> Any help or insights would be greatly appreciated!
> 
>   [[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] Rescaling a cophenetic matrix based on the Early Burst Model?

2017-12-15 Thread Max Farrell
I have been using the rescale function from geiger for a link prediction
model I recently helped develop (https://arxiv.org/abs/1707.08354). I'm now
running this model on a much larger dataset and part of the code is
computing cophenetic(rescale(phy)) with 'EB' rescaling many many times.

We're finding that calling cophenetic() is the rate limiting step, and if
we can avoid this function we expect to speed up our code by up to 4 times.
This would be very useful as our simulation has been running for over 50
days now...

I was wondering if there is a way to do EB transformations on a
phylogenetic distance matrix directly so as to avoid using the cophenetic
function?

Any help or insights would be greatly appreciated!

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