TBR performs a single random TBR iteration.
TBR(tree, edgeToBreak = NULL, mergeEdges = NULL)TBRMoves(tree, edgeToBreak = integer(0))
# S3 method for phylo
TBRMoves(tree, edgeToBreak = integer(0))
# S3 method for matrix
TBRMoves(tree, edgeToBreak = integer(0))
TBRSwap(
parent,
child,
nEdge = length(parent),
edgeToBreak = NULL,
mergeEdges = NULL
)
RootedTBR(tree, edgeToBreak = NULL, mergeEdges = NULL)
RootedTBRSwap(
parent,
child,
nEdge = length(parent),
edgeToBreak = NULL,
mergeEdges = NULL
)
TBR() returns a tree in phyDat format that has undergone one
TBR iteration.
TBRMoves() returns a multiPhylo object listing all trees one
TBR move away from tree, with edges and nodes in preorder,
rooted on the first-labelled tip.
TBRSwap() returns a list containing two elements corresponding
to the rearranged parent and child parameters.
A bifurcating tree of class phylo, with all nodes resolved;
(optional) integer specifying the index of an edge to bisect/prune,
generated randomly if not specified.
Alternatively, set to -1 to return a complete list
of all trees one step from the input tree.
(optional) vector of length 1 or 2, listing edge(s) to be joined:
In SPR, this is where the pruned subtree will be reconnected.
In TBR, these edges will be reconnected (so must be on opposite
sides of edgeToBreak); if only a single edge is specified,
the second will be chosen at random
Integer vector corresponding to the first column of the edge
matrix of a tree of class phylo, i.e.
tree[["edge"]][, 1]
Integer vector corresponding to the second column of the edge
matrix of a tree of class phylo, i.e.
tree[["edge"]][, 2].
(optional) Number of edges.
TBRSwap(): faster version that takes and returns parent and child
parameters
RootedTBR(): Perform TBR rearrangement, retaining position of root
RootedTBRSwap(): faster version that takes and returns parent and child parameters
Branch lengths are not (yet) supported.
All nodes in a tree must be bifurcating; ape::collapse.singles and ape::multi2di may help.
The TBR algorithm is summarized in Felsenstein2004TreeSearch
RootedTBR(): useful when the position of the root node should be retained.
Other tree rearrangement functions:
NNI(),
SPR()
library("ape")
tree <- rtree(20, br=NULL)
TBR(tree)
Run the code above in your browser using DataLab