Class 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 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
      • 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 Tree
        tipNodes - 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 on
        tipNodes - 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.