TreeTools (version 0.1.3)

AddTip: Add a tip to a phylogenetic tree

Description

AddTip adds a tip to a phylogenetic tree at a specified location.

Usage

AddTip(tree, where = sample.int(tree$Nnode * 2 + 2L, size = 1) - 1L,
  label = "New tip")

AddTipEverywhere(tree, label = "New tip", includeRoot = FALSE)

Arguments

tree

A tree of class phylo.

where

The node or tip that should form the sister taxon to the new node. To add a new tip at the root, use where = 0. By default, the new tip is added to a random edge.

label

Character string providing the label to apply to the new tip.

includeRoot

Logical; if TRUE, the three positions adjacent to the root edge are considered to represent distinct edges.

Value

AddTip returns a tree of class phylo with an additional tip at the desired location.

AddTipEverywhere returns a list of class multiPhylo containing the trees produced by adding label to each edge of tree in turn.

Functions

  • AddTipEverywhere: Add a tip to each edge in turn.

Details

AddTip extends bind.tree, which cannot handle single-taxon trees.

See Also

bind.tree

nodelabels

Other tree manipulation: Renumber, SingleTaxonTree, Subtree

Examples

Run this code
# NOT RUN {
plot(tree <- BalancedTree(10))
ape::nodelabels()
ape::nodelabels(15, 15, bg='green')

plot(AddTip(tree, 15, 'NEW_TIP'))

oldPar <- par(mfrow=c(2, 4), mar=rep(0.3, 4), cex=0.9)

backbone <- BalancedTree(4)
additions <- AddTipEverywhere(backbone, includeRoot = TRUE)
xx <- lapply(additions, plot)

par(mfrow=c(2, 3))
additions <- AddTipEverywhere(backbone, includeRoot = FALSE)
xx <- lapply(additions, plot)

par(oldPar)

# }

Run the code above in your browser using DataLab