Package jebl.evolution.trees
Class TransformedRootedTree
java.lang.Object
jebl.evolution.trees.AbstractRootedTree
jebl.evolution.trees.FilteredRootedTree
jebl.evolution.trees.TransformedRootedTree
- All Implemented Interfaces:
Graph
,RootedTree
,Tree
,Attributable
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 and cache them.
- Version:
- $Id: TransformedRootedTree.java 545 2006-11-28 00:08:34Z twobeers $
- Author:
- Andrew Rambaut
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface jebl.evolution.graphs.Graph
Graph.NoEdgeException, Graph.Utils
-
Constructor Summary
ConstructorsConstructorDescriptionTransformedRootedTree
(RootedTree source, TransformedRootedTree.Transform transform) -
Method Summary
Modifier and TypeMethodDescriptiondouble
double
boolean
boolean
boolean
boolean
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, renameTaxa, setAttribute
Methods inherited from class jebl.evolution.trees.AbstractRootedTree
getExternalNodeCount, getExternalNodes
-
Constructor Details
-
TransformedRootedTree
-
-
Method Details
-
hasHeights
public boolean hasHeights()- Specified by:
hasHeights
in interfaceRootedTree
- Overrides:
hasHeights
in classFilteredRootedTree
- Returns:
- Whether this tree has node heights available
-
getHeight
- Specified by:
getHeight
in interfaceRootedTree
- Overrides:
getHeight
in classFilteredRootedTree
- 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 interfaceRootedTree
- Overrides:
hasLengths
in classFilteredRootedTree
- Returns:
- Whether this tree has branch lengths available
-
getLength
- Specified by:
getLength
in interfaceRootedTree
- Overrides:
getLength
in classFilteredRootedTree
- 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).
-
isHeightsKnown
public boolean isHeightsKnown()- Specified by:
isHeightsKnown
in interfaceRootedTree
- Overrides:
isHeightsKnown
in classFilteredRootedTree
- Returns:
- Whether the node heights are known or need to be recalculated from the lengths
-
isLengthsKnown
public boolean isLengthsKnown()- Specified by:
isLengthsKnown
in interfaceRootedTree
- Overrides:
isLengthsKnown
in classFilteredRootedTree
- Returns:
- Whether the branch lengths are known or need to be recalculated from the heights
-