Thursday, June 27, 2019

Some of the updates in the new CRAN version of phytools (0.6-99)

I recently put a new version of phytools on CRAN (phytools 0.6-99).

The last CRAN phytools release was 28 September 2018, so naturally there were quite a few updates.

The following is a non-comprehensive list:

  1. An update to the function dotTree to include column labels.

  2. A totally new function fitmultiMk to fit a multi-rate Mk model to discrete character data on the tree (here).

  3. The MCCR test for Pybus & Harvey's γ statistic when taxon sampling is incomplete (1, 2). This used to be in Dan Rabosky's package laser, but since laser is no longer available I thought I'd implement it in phytools.

  4. Another totally new function, fitpolyMk, to fit an Mk model to discrete character data with polymorphism.

  5. A new S3 plot method for fitpolyMk.

  6. A new function for phylogenetic imputation with multivariate continuous trait data (phylo.impute).

  7. An update to phylo.to.map to permit more than one observation per tip in the tree. (Also see: 1, 2, 3).

  8. A simple user-requested update to fancyTree for type="extinction" (here).

  9. A small fix to the function plotTree.wBars for fan-style trees.

  10. Various updates to the phytools function mcmcMk for Bayesian MCMC analysis of the Mk model of evolution for discete character traits.

  11. A new multi2di registered S3 method for the "simmap" object class (as well as di2multi and multi2di methods for other object classes too - such as "contMap" and "densityMap" object: here).

  12. Several new S3 methods for the "evol.rate.mcmc" object class.

  13. Updates to the 'phylogenetic scatterplot matrix' method of fancyTree (and also separation of the method to its own function: phyloScattergram).

  14. Some useful updates & fixes to the function geo.legend, as well as an entirely new function, geo.palette. (Also here.)

  15. Various updates to ltt95.

  16. Finally, a small but non-trivial update to cophylo to permit co-phylogenetic plotting when one or both trees have duplicate tip labels.

For all updates, check out a complete list of commits on the phytools GitHub page. This list is long & include lots of things that haven't been mentioned above, such as new object classes and methods.

Here's an example of plotting species distributions with a "phylo.to.map" object:

obj
## Object of class "phylo.to.map" containing:
## 
## (1) A phylogenetic tree with 8 tips and 7 internal nodes.
## 
## (2) A geographic map with range:
##      -33.75N, 5.27N
##      -74.01W, -29.36W.
## 
## (3) A table containing 65 geographic coordinates (may include
##     more than one set per species).
## 
## If optimized, tree nodes have been rotated to maximize alignment
## with the map when the tree is plotted in a rightwards direction.
plot(obj,direction="rightwards",colors=sapply(cols,
    make.transparent,0.4),
    pts=FALSE,ftype="off",cex.points=c(0,0),
    ftype="off",lwd=c(3,1))
for(i in 1:Ntip(obj$tree)){
    ii<-which(rownames(obj$coords)==obj$tree$tip.label[i])
    polygon(obj$coords[ii,2:1],
        col=make.transparent(cols[obj$tree$tip.label[i]],0.8),
        border="darkgrey")
}

plot of chunk unnamed-chunk-1

1 comment:

Note: due to the very large amount of spam, all comments are now automatically submitted for moderation.