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:
A new method for co-phylogenetic plotting (e.g., 1, 2, 3, 4).
A bug fix in
plot.ltt
with a plotted tree overlain that caused the tip labels to be spaced exponentially.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).
A very nice update/improvement to the phytols function (
cladelabels
) for adding clade labels to a plotted tree (here).A function (
markChanges
) to demarcated & extract the timing of changes from a stochastic character map style tree (1, 2, 3, 4).A change in the way object class is checked in phytools that affected the source code of many different phytools function (here).
Some changes to
plotSimmap
andcladelabels
to permit them to be used more effectively with the functionsplit.plotTree
(here).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).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).A fix to the default color scheme used by
phenogram
with a mapped discrete character.An update to the phytools function
phylomorphospace
that allows it to play with ape functions such asnodelabels
(and thus permits us to plot labels at internal or external nodes of a phylogeny projected into 2D morphospace.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.A small bug fix in the phytools function
drop.tip.densityMap
.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).A new S3
print
methods for objects created by the phytools ancestral state estimation functionfastAnc
(here).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.A new function,
fitMk
, to fit the Mk model. (Functionally similar tofitDiscrete
in geiger.)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).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.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.)Finally, some modifications to the phytools function
brownieREML
, and a REML version of the functionrateshift
, 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
Note: due to the very large amount of spam, all comments are now automatically submitted for moderation.