Learn R Programming

phytools (version 2.3-0)

rotateNodes: Rotates a node or set of nodes in a phylogenetic tree

Description

The function rotateNodes is a simple wrapper for rotate which rotates a set of nodes or all nodes.

The function rotate.multi finds all possible rotations around a multifurcating node, given by node. This will be an object of class "multiPhylo", assuming that the node specified is indeed a multifurcation.

The function allRotations computes all possible rotated trees for a given input phylogeny. For a binary tree, this is generally two raised to the power of the number of internal nodes (so a very large number, if N is even modest in size).

Usage

rotateNodes(tree, nodes, polytom=c(1,2), ...)
rotate.multi(tree, node)
allRotations(tree)

Value

An object of class "phylo" (i.e., a phylogenetic tree), in the case of rotateNodes, or an object of class "multiPhylo" for rotate.multi or allRotations.

Arguments

tree

object of class "phylo".

nodes

either a single node number to rotate, a vector of node numbers, or the string "all".

polytom

a vector of mode numeric and length two specifying the two clades that should be exchanged in a polytomy (see rotate).

node

a single node to rotate (in the case of rotate.multi).

...

optional arguments.

Author

Liam Revell liam.revell@umb.edu

Details

All three functions also address the problem that the product of multiple rotations from rotate can be non-compliant with the implicit "phylo" standard because the tip numbers in tree$edge are not in numerical order 1:n for n tips.

References

Revell, L. J. (2024) phytools 2.0: an updated R ecosystem for phylogenetic comparative methods (and other things). PeerJ, 12, e16505.