Learn R Programming

TreeTools (version 1.8.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

An object of class phyDat; returned trees will be perfectly compatible with each character in constraint. 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.

Author

Martin R. Smith (martin.smith@durham.ac.uk)

See Also

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

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