|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjebl.evolution.trees.SimpleRootedTree
public final class SimpleRootedTree
A simple, and initially immutable rooted tree implementation. All returned collections are defensively copied. The implementation of Node is private. A number of methods are provided that can be used to construct a tree (createExternalNode & createInternalNode).
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface jebl.evolution.graphs.Graph |
|---|
Graph.NoEdgeException, Graph.Utils |
| Field Summary | |
|---|---|
protected Set<Node> |
internalNodes
|
protected jebl.evolution.trees.SimpleRootedTree.SimpleRootedNode |
rootNode
|
| Constructor Summary | |
|---|---|
SimpleRootedTree()
|
|
SimpleRootedTree(RootedTree tree)
Make a copy of the given rooted tree |
|
SimpleRootedTree(Tree tree,
Node ingroupNode,
Node outgroupNode,
double ingroupBranchLength)
Make a copy of the given unrooted tree |
|
| Method Summary | |
|---|---|
protected void |
calculateBranchLengths()
Calculate branch lengths from the current node heights. |
boolean |
conceptuallyUnrooted()
Due to current implementation limitations, trees store "branch" information in nodes. |
Node |
createExternalNode(Taxon taxon)
Creates a new external node with the given taxon. |
jebl.evolution.trees.SimpleRootedTree.SimpleRootedNode |
createInternalNode(List<? extends Node> children)
Once a SimpleRootedTree has been created, the node stucture can be created by calling createExternalNode and createInternalNode. |
Node |
createNodes(RootedTree tree,
Node node)
Clones the entire tree structure from the given RootedTree. |
Node |
createNodes(Tree tree,
Node parent,
Node child)
Clones the entire tree structure from the given (unrooted) Tree. |
List<Node> |
getAdjacencies(Node node)
Returns a list of nodes connected to this node by an edge |
Object |
getAttribute(String name)
|
Map<String,Object> |
getAttributeMap()
Gets the entire attribute map. |
Set<String> |
getAttributeNames()
|
List<Node> |
getChildren(Node node)
|
Edge |
getEdge(Node node1,
Node node2)
Returns the Edge that connects these two nodes |
double |
getEdgeLength(Node node1,
Node node2)
Returns the length of the edge that connects these two nodes |
Set<Edge> |
getEdges()
|
List<Edge> |
getEdges(Node node)
Returns a list of edges connected to this node |
Set<Edge> |
getExternalEdges()
The set of external edges. |
Set<Node> |
getExternalNodes()
|
double |
getHeight(Node node)
|
Set<Edge> |
getInternalEdges()
The set of internal edges. |
Set<Node> |
getInternalNodes()
|
double |
getLength(Node node)
|
Node |
getNode(Taxon taxon)
|
Set<Node> |
getNodes()
|
Node[] |
getNodes(Edge edge)
Returns an array of 2 nodes which are the nodes at either end of the edge. |
Set<Node> |
getNodes(int degree)
|
Node |
getParent(Node node)
|
Node |
getRootNode()
The root of the tree has the largest node height of all nodes in the tree. |
Set<Taxon> |
getTaxa()
|
Taxon |
getTaxon(Node node)
|
boolean |
hasHeights()
|
boolean |
hasLengths()
|
boolean |
isExternal(Node node)
|
boolean |
isRoot(Node node)
|
void |
removeAttribute(String name)
|
void |
setAttribute(String name,
Object value)
Sets an named attribute for this object. |
void |
setConceptuallyUnrooted(boolean intent)
|
void |
setHeight(Node node,
double height)
|
void |
setLength(Node node,
double length)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected jebl.evolution.trees.SimpleRootedTree.SimpleRootedNode rootNode
protected final Set<Node> internalNodes
| Constructor Detail |
|---|
public SimpleRootedTree()
public SimpleRootedTree(RootedTree tree)
tree - a rooted tree
public SimpleRootedTree(Tree tree,
Node ingroupNode,
Node outgroupNode,
double ingroupBranchLength)
throws Graph.NoEdgeException
tree - an unrooted treeingroupNode - the node on one side of the rootoutgroupNode - the node on the other side of the rootingroupBranchLength - the branch length from the root to the ingroup node
Graph.NoEdgeException| Method Detail |
|---|
public Node createNodes(RootedTree tree,
Node node)
tree - node -
public Node createNodes(Tree tree,
Node parent,
Node child)
throws Graph.NoEdgeException
tree - the unrooted treeparent - the parent nodechild - the child node
Graph.NoEdgeExceptionpublic Node createExternalNode(Taxon taxon)
taxon - the taxon associated with this node
public jebl.evolution.trees.SimpleRootedTree.SimpleRootedNode createInternalNode(List<? extends Node> children)
children - the child nodes of this nodes
public void setHeight(Node node,
double height)
node - the node whose height is being setheight - the height
public void setLength(Node node,
double length)
node - the node whose branch length (to its parent) is being setlength - the lengthpublic List<Node> getChildren(Node node)
getChildren in interface RootedTreenode - the node whose children are being requested.
public boolean hasHeights()
hasHeights in interface RootedTreepublic double getHeight(Node node)
getHeight in interface RootedTreenode - the node whose height is being requested.
public boolean hasLengths()
hasLengths in interface RootedTreepublic double getLength(Node node)
getLength in interface RootedTreenode - the node whose branch length (to its parent) is being requested.
public Node getParent(Node node)
getParent in interface RootedTreenode - the node whose parent is requested
public Node getRootNode()
getRootNode in interface RootedTreepublic Set<Node> getExternalNodes()
getExternalNodes in interface Treepublic Set<Node> getInternalNodes()
getInternalNodes in interface Treepublic Set<Taxon> getTaxa()
getTaxa in interface Treepublic Taxon getTaxon(Node node)
getTaxon in interface Treenode - the node whose associated taxon is being requested.
public boolean isExternal(Node node)
isExternal in interface Treenode - the node
public Node getNode(Taxon taxon)
getNode in interface Treetaxon - the taxon
public List<Edge> getEdges(Node node)
getEdges in interface Graphnode -
public List<Node> getAdjacencies(Node node)
Graph
getAdjacencies in interface Graphnode -
public Edge getEdge(Node node1,
Node node2)
throws Graph.NoEdgeException
getEdge in interface Graphnode1 - node2 -
Graph.NoEdgeException - if the nodes are not directly connected by an edge.
public double getEdgeLength(Node node1,
Node node2)
throws Graph.NoEdgeException
Graph
getEdgeLength in interface Graphnode1 - node2 -
Graph.NoEdgeException - if the nodes are not directly connected by an edge.public Node[] getNodes(Edge edge)
getNodes in interface Graphedge -
public Set<Node> getNodes()
getNodes in interface Graphpublic Set<Edge> getEdges()
getEdges in interface Graphpublic Set<Edge> getExternalEdges()
getExternalEdges in interface Treepublic Set<Edge> getInternalEdges()
getInternalEdges in interface Treepublic Set<Node> getNodes(int degree)
getNodes in interface Graphdegree - the number of edges connected to a node
protected void calculateBranchLengths()
public void setConceptuallyUnrooted(boolean intent)
public boolean conceptuallyUnrooted()
RootedTree
conceptuallyUnrooted in interface RootedTreepublic boolean isRoot(Node node)
isRoot in interface RootedTreenode - the node
public void setAttribute(String name,
Object value)
Attributable
setAttribute in interface Attributablename - the name of the attribute.value - the new value of the attribute.public Object getAttribute(String name)
getAttribute in interface Attributablename - the name of the attribute of interest.
public void removeAttribute(String name)
removeAttribute in interface Attributablename - name of attribute to removepublic Set<String> getAttributeNames()
getAttributeNames in interface Attributablepublic Map<String,Object> getAttributeMap()
Attributable
getAttributeMap in interface Attributable
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||