Learn R Programming

TreeTools (version 1.12.0)

ImposeConstraint: Force a tree to match a constraint

Description

Modify a tree such that it matches a specified constraint. This is at present a somewhat crude implementation that attempts to retain much of the structure of tree whilst guaranteeing compatibility with each entry in constraint.

Usage

ImposeConstraint(tree, constraint)

AddUnconstrained(constraint, toAdd, asPhyDat = TRUE)

Value

ImposeConstraint() returns a tree of class phylo, consistent with constraint.

Arguments

tree

A tree of class phylo.

constraint

Either an object of class phyDat, in which case returned trees will be perfectly compatible with each character in constraint; or a tree of class phylo, in which each node in constraint will occur in the returned tree. See vignette for further examples.

toAdd

Character vector specifying taxa to add to constraint.

asPhyDat

Logical: if TRUE, return a phyDat object; if FALSE, return a matrix.

Functions

  • AddUnconstrained(): Expand a constraint to include unconstrained taxa.

See Also

Other tree manipulation: AddTip(), CollapseNode(), ConsensusWithout(), DropTip(), EnforceOutgroup(), KeptPaths(), KeptVerts(), LeafLabelInterchange(), MakeTreeBinary(), Renumber(), RenumberTips(), RenumberTree(), RootTree(), SortTree(), Subtree(), TipTimedTree(), TrivialTree

Examples

Run this code
tips <- letters[1:9]
tree <- as.phylo(1, 9, tips)
plot(tree)

constraint <- StringToPhyDat("0000?1111 000111111 0000??110", tips, FALSE)
plot(ImposeConstraint(tree, constraint))

Run the code above in your browser using DataLab