Given a tree or a list of taxa, EnforceOutgroup() rearranges the ingroup and outgroup taxa such that the two are sister taxa across the root, without changing the relationships within the ingroup or within the outgroup.

EnforceOutgroup(tree, outgroup)

# S3 method for phylo
EnforceOutgroup(tree, outgroup)

# S3 method for character
EnforceOutgroup(tree, outgroup)

Arguments

tree

Either a tree of class phylo; or (for EnforceOutgroup()) a character vector listing the names of all the taxa in the tree, from which a random tree will be generated.

outgroup

Character vector containing the names of taxa to include in the outgroup.

Value

EnforceOutgroup() returns a tree of class phylo where all outgroup taxa are sister to all remaining taxa, without modifying the ingroup topology.

See also

For a more robust implementation, see RootTree(), which will eventually replace this function (#30).

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

Author

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

Examples

tree <- EnforceOutgroup(letters[1:9], letters[1:3])
plot(tree)