Thursday, September 24, 2015

New version of phytools (0.5-00) submitted to CRAN

I have just submitted a new version of phytools (phytools 0.5-00) to CRAN. Hopefully, it survives the CRAN maintainer scrutiny & posts within the next 24 hours; however it can already be installed from GitHub using devtools:

library(devtools)
install_github("liamrevell/phytools",quiet=TRUE)
packageVersion("phytools")
## [1] '0.5.0'

This version of phytools has many changes and new functionality when compared to the previous CRAN version from early July, so it will be hard to be fully comprehensive about the updates; however, among the changes in this CRAN version, users will find:

  1. A new method for co-phylogenetic plotting (e.g., 1, 2, 3, 4).

  2. A bug fix in plot.ltt with a plotted tree overlain that caused the tip labels to be spaced exponentially.

  3. An important bug fix in the phytools function to test for differences in the evolutionary correlation between traits in different parts of the tree, based on Revell & Collar (2009; Evolution).

  4. A very nice update/improvement to the phytols function (cladelabels) for adding clade labels to a plotted tree (here).

  5. A function (markChanges) to demarcated & extract the timing of changes from a stochastic character map style tree (1, 2, 3, 4).

  6. A change in the way object class is checked in phytools that affected the source code of many different phytools function (here).

  7. Some changes to plotSimmap and cladelabels to permit them to be used more effectively with the function split.plotTree (here).

  8. A major update to the object class of "phylo" objects with a mapped discrete character, along with S3 methods for this object class (print, plot, summary, etc.; e.g., 1, 2).

  9. An update to the function treeSlice to slice the tree at a particular point & return all subtrees (that, among other things, allows this to be done interactively).

  10. A fix to the default color scheme used by phenogram with a mapped discrete character.

  11. An update to the phytools function phylomorphospace that allows it to play with ape functions such as nodelabels (and thus permits us to plot labels at internal or external nodes of a phylogeny projected into 2D morphospace.

  12. A new S3 plotting method for objects of class "rateshift" created by the function to estimate the temporal position of a shift in the evolutionary rate for a continuous character through time.

  13. A small bug fix in the phytools function drop.tip.densityMap.

  14. An update to plotSimmap to allow the painted color to be split along the vertical edge plotted at a node, for when the character changes state exactly at a node (1, 2).

  15. A new S3 print methods for objects created by the phytools ancestral state estimation function fastAnc (here).

  16. An important update to the internal functions used by make.simmap to compute the likelihood, as well as the conditional likelihoods at internal nodes. This primarily affects users who are using a non-default prior at the root node of the tree.

  17. A new function, fitMk, to fit the Mk model. (Functionally similar to fitDiscrete in geiger.)

  18. A more or less imperceptible update to the function rerootingMethod. This basically allows the function to handle polytomies “natively” (i.e., without first having to resolve them, perform calculations using the resolved tree, and then match nodes back to the original tree).

  19. An additional estimation method (and a change in the default estimation method) for the phytools function fitPagel, which fits the Pagel (1994) model for testing whether the evolution of two binary characters is correlated.

  20. An update to the function rateshift for testing for temporal shifts in the rate of evolution for a continuous trait that permits much more effective (if not faster) optimization. (Prior versions really could not maximize the likelihood effectively for more than - at best - two shifts on reasonably sized trees.)

  21. Finally, some modifications to the phytools function brownieREML, and a REML version of the function rateshift, which runs much faster than the ML version (here).

Feedback is always welcome on any issues created by these changes. (Of course, I'm always happy to take positive feedback too!)

No comments:

Post a Comment