jebl.evolution.trees
Class TransformedRootedTree
java.lang.Object
jebl.evolution.trees.FilteredRootedTree
jebl.evolution.trees.TransformedRootedTree
- All Implemented Interfaces:
- Graph, RootedTree, Tree, Attributable
public class TransformedRootedTree
- extends FilteredRootedTree
This RootedTree class wraps another RootedTree and transforms
the branch lengths and node heights using various functions.
Currently implemented are equal lengths (all branch lengths
are 1.0) and cladogram (the height of a node is proportional
to the number of external nodes). Note that all these functions
are recalculated on the fly for every call to getHeight and
getLength and it may be desirable to precalculate them.
- Author:
- Andrew Rambaut
Methods inherited from class jebl.evolution.trees.FilteredRootedTree |
conceptuallyUnrooted, getAdjacencies, getAttribute, getAttributeMap, getAttributeNames, getChildren, getEdge, getEdgeLength, getEdges, getEdges, getExternalEdges, getExternalNodes, getInternalEdges, getInternalNodes, getNode, getNodes, getNodes, getNodes, getParent, getRootNode, getSource, getTaxa, getTaxon, isExternal, isRoot, removeAttribute, setAttribute |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TransformedRootedTree
public TransformedRootedTree(RootedTree source,
TransformedRootedTree.Transform transform)
hasHeights
public boolean hasHeights()
- Specified by:
hasHeights
in interface RootedTree
- Overrides:
hasHeights
in class FilteredRootedTree
- Returns:
- Whether this tree has node heights available
getHeight
public double getHeight(Node node)
- Specified by:
getHeight
in interface RootedTree
- Overrides:
getHeight
in class FilteredRootedTree
- Parameters:
node
- the node whose height is being requested.
- Returns:
- the height of the given node. The height will be
less than the parent's height and greater than it children's heights.
hasLengths
public boolean hasLengths()
- Specified by:
hasLengths
in interface RootedTree
- Overrides:
hasLengths
in class FilteredRootedTree
- Returns:
- Whether this tree has branch lengths available
getLength
public double getLength(Node node)
- Specified by:
getLength
in interface RootedTree
- Overrides:
getLength
in class FilteredRootedTree
- Parameters:
node
- the node whose branch length (to its parent) is being requested.
- Returns:
- the length of the branch to the parent node (0.0 if the node is the root).