Package jebl.evolution.trees
Class RootedTreeUtils
- java.lang.Object
-
- jebl.evolution.trees.RootedTreeUtils
-
public class RootedTreeUtils extends java.lang.ObjectStatic utility functions for rooted trees.- Version:
- $Id: RootedTreeUtils.java 889 2008-02-27 01:13:21Z matt_kearse $
- Author:
- Andrew Rambaut, Alexei Drummond
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanequal(RootedTree tree1, RootedTree tree2)Compares 2 trees and returns true if they have the same topology.static NodegetCommonAncestorNode(RootedTree tree, java.util.Set<Node> tipNodes)Gets the most recent common ancestor (MRCA) node of a set of tip nodes.static java.util.Set<Node>getDescendantTips(RootedTree tree, Node node)Gets a set of tip nodes descended from the given node.static doublegetMaxTipHeight(RootedTree tree, Node node)static doublegetMinTipHeight(RootedTree tree, Node node)static intgetTipCount(RootedTree tree, Node node)Return the number of leaves under this node.static java.util.Set<Node>getTipsForTaxa(RootedTree tree, java.util.Collection<Taxon> taxa)Gets a set of external nodes that correspond to the given taxa.static booleanisBinary(RootedTree tree)static booleanisMonophyletic(RootedTree tree, java.util.Set<Node> tipNodes)Performs the a monophyly test on a set of tip nodes.static booleanisUltrametric(RootedTree tree, double tolerance)static java.lang.StringuniqueNewick(RootedTree tree, Node node)Recursive function for constructing a newick tree representation in the given buffer.
-
-
-
Method Detail
-
getTipCount
public static final int getTipCount(RootedTree tree, Node node)
Return the number of leaves under this node.- Parameters:
tree-node-- Returns:
- the number of leaves under this node.
-
getMinTipHeight
public static double getMinTipHeight(RootedTree tree, Node node)
-
getMaxTipHeight
public static double getMaxTipHeight(RootedTree tree, Node node)
-
isUltrametric
public static boolean isUltrametric(RootedTree tree, double tolerance)
- Returns:
- true only if all tips have height 0.0
-
isBinary
public static boolean isBinary(RootedTree tree)
- Returns:
- true only if internal nodes have 2 children
-
getTipsForTaxa
public static java.util.Set<Node> getTipsForTaxa(RootedTree tree, java.util.Collection<Taxon> taxa) throws MissingTaxonException
Gets a set of external nodes that correspond to the given taxa.- Throws:
MissingTaxonException
-
getDescendantTips
public static java.util.Set<Node> getDescendantTips(RootedTree tree, Node node)
Gets a set of tip nodes descended from the given node.
-
getCommonAncestorNode
public static Node getCommonAncestorNode(RootedTree tree, java.util.Set<Node> tipNodes)
Gets the most recent common ancestor (MRCA) node of a set of tip nodes.- Parameters:
tree- the TreetipNodes- a set of tip nodes- Returns:
- the Node of the MRCA
-
isMonophyletic
public static boolean isMonophyletic(RootedTree tree, java.util.Set<Node> tipNodes)
Performs the a monophyly test on a set of tip nodes. The nodes are monophyletic if there is a node in the tree which subtends all the tips in the set (and only those tips).- Parameters:
tree- a tree object to perform test ontipNodes- a set containing the tip node.- Returns:
- boolean is monophyletic?
-
uniqueNewick
public static java.lang.String uniqueNewick(RootedTree tree, Node node)
Recursive function for constructing a newick tree representation in the given buffer.
-
equal
public static boolean equal(RootedTree tree1, RootedTree tree2)
Compares 2 trees and returns true if they have the same topology.
-
-