Package jebl.evolution.trees
Class RootedTreeUtils
- java.lang.Object
-
- jebl.evolution.trees.RootedTreeUtils
-
public class RootedTreeUtils extends java.lang.Object
Static 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 boolean
equal(RootedTree tree1, RootedTree tree2)
Compares 2 trees and returns true if they have the same topology.static double
getAverageTipDistance(RootedTree tree, Node node)
returns the average distance from the given node to all the tips below itstatic Node
getCommonAncestorNode(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 double
getMaxTipHeight(RootedTree tree, Node node)
static double
getMinTipHeight(RootedTree tree, Node node)
static int
getTipCount(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 boolean
isBinary(RootedTree tree)
static boolean
isMonophyletic(RootedTree tree, java.util.Set<Node> tipNodes)
Performs the a monophyly test on a set of tip nodes.static boolean
isUltrametric(RootedTree tree, double tolerance)
static java.lang.String
uniqueNewick(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)
-
getAverageTipDistance
public static double getAverageTipDistance(RootedTree tree, Node node)
returns the average distance from the given node to all the tips below it- Parameters:
tree
-node
-- Returns:
-
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.
-
-