Monday, September 29, 2014

Redundant phytools functions to replicate phylogenies in a list

I realized the other day that I had inadvertently programmed two different functions in phytools that do exactly the same thing. This was bound to happen as phytools has grown into a pretty substantial endeavor with well over 100 different functions & methods.

Specifically, the phytools function repPhylo (originally described here is exactly equivalent (although derived independently) to phytools S3 rep methods for objects of class "phylo" and "multiPhylo" (added about a year later, here).

I have now removed this redundancy, although repPhylo still exists as a valid alias for rep.phylo (or rep.multiPhylo).

Here's a quick & dirty demo of how these methods work in the latest version of phytools (not yet on CRAN):

library(phytools)
## Loading required package: ape
## Loading required package: maps
packageVersion("phytools")
## [1] '0.4.36'
## simulate tree
tree<-pbtree(n=26,tip.label=LETTERS)
## S3 method rep for objects of class "phylo"
trees<-rep(tree,4)
par(mfrow=c(2,2))
plotTree(trees)

plot of chunk unnamed-chunk-1

## simulate trees
trees<-pbtree(n=12,tip.label=LETTERS[1:12],nsim=3)
## S3 method rep for object of class "multiPhylo"
trees<-rep(trees,2)
par(mfrow=c(2,3))
plotTree(trees)

plot of chunk unnamed-chunk-1

That's it!

No comments:

Post a Comment