Graph
, RootedTree
, Tree
, Attributable
public final class RootedSubtree extends java.lang.Object implements RootedTree
Graph.NoEdgeException, Graph.Utils
Constructor | Description |
---|---|
RootedSubtree(RootedTree tree,
java.util.Set<Taxon> includedTaxa) |
Make a copy of the given rooted tree
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
conceptuallyUnrooted() |
Due to current implementation limitations, trees store "branch" information in nodes.
|
java.util.List<Node> |
getAdjacencies(Node node) |
Returns a list of nodes connected to this node by an edge
|
java.lang.Object |
getAttribute(java.lang.String name) |
|
java.util.Map<java.lang.String,java.lang.Object> |
getAttributeMap() |
Gets the entire attribute map.
|
java.util.Set<java.lang.String> |
getAttributeNames() |
|
java.util.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
|
java.util.Set<Edge> |
getEdges() |
|
java.util.List<Edge> |
getEdges(Node node) |
Returns a list of edges connected to this node
|
java.util.Set<Edge> |
getExternalEdges() |
The set of external edges.
|
java.util.Set<Node> |
getExternalNodes() |
|
double |
getHeight(Node node) |
|
java.util.Set<Edge> |
getInternalEdges() |
The set of internal edges.
|
java.util.Set<Node> |
getInternalNodes() |
|
double |
getLength(Node node) |
|
Node |
getNode(Taxon taxon) |
|
java.util.Set<Node> |
getNodes() |
|
java.util.Set<Node> |
getNodes(int degree) |
|
Node[] |
getNodes(Edge edge) |
Returns an array of 2 nodes which are the nodes at either end of the edge.
|
Node |
getParent(Node node) |
|
Edge |
getParentEdge(Node node) |
|
Node |
getRootNode() |
The root of the tree has the largest node height of
all nodes in the tree.
|
java.util.Set<Taxon> |
getTaxa() |
|
Taxon |
getTaxon(Node node) |
|
boolean |
hasHeights() |
|
boolean |
hasLengths() |
|
boolean |
isExternal(Node node) |
|
boolean |
isRoot(Node node) |
|
void |
removeAttribute(java.lang.String name) |
|
void |
renameTaxa(Taxon from,
Taxon to) |
|
void |
setAttribute(java.lang.String name,
java.lang.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) |
public RootedSubtree(RootedTree tree, java.util.Set<Taxon> includedTaxa)
tree
- a rooted treeincludedTaxa
- public void setHeight(Node node, double height)
node
- the node whose height is being setheight
- the heightpublic void setLength(Node node, double length)
node
- the node whose branch length (to its parent) is being setlength
- the lengthpublic java.util.List<Node> getChildren(Node node)
getChildren
in interface RootedTree
node
- the node whose children are being requested.public boolean hasHeights()
hasHeights
in interface RootedTree
public double getHeight(Node node)
getHeight
in interface RootedTree
node
- the node whose height is being requested.public boolean hasLengths()
hasLengths
in interface RootedTree
public double getLength(Node node)
getLength
in interface RootedTree
node
- the node whose branch length (to its parent) is being requested.public Node getParent(Node node)
getParent
in interface RootedTree
node
- the node whose parent is requestedpublic Node getRootNode()
getRootNode
in interface RootedTree
public java.util.Set<Node> getExternalNodes()
getExternalNodes
in interface Tree
public java.util.Set<Node> getInternalNodes()
getInternalNodes
in interface Tree
public java.util.Set<Taxon> getTaxa()
public boolean isExternal(Node node)
isExternal
in interface Tree
node
- the nodepublic void renameTaxa(Taxon from, Taxon to)
renameTaxa
in interface Tree
public java.util.List<Edge> getEdges(Node node)
public java.util.List<Node> getAdjacencies(Node node)
Graph
getAdjacencies
in interface Graph
node
- public Edge getEdge(Node node1, Node node2) throws Graph.NoEdgeException
getEdge
in interface Graph
node1
- 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 Graph
node1
- node2
- Graph.NoEdgeException
- if the nodes are not directly connected by an edge.public Node[] getNodes(Edge edge)
public java.util.Set<Node> getNodes()
public java.util.Set<Edge> getEdges()
public java.util.Set<Edge> getExternalEdges()
getExternalEdges
in interface Tree
public java.util.Set<Edge> getInternalEdges()
getInternalEdges
in interface Tree
public java.util.Set<Node> getNodes(int degree)
public void setConceptuallyUnrooted(boolean intent)
public boolean conceptuallyUnrooted()
RootedTree
conceptuallyUnrooted
in interface RootedTree
public boolean isRoot(Node node)
isRoot
in interface RootedTree
node
- the nodepublic void setAttribute(java.lang.String name, java.lang.Object value)
Attributable
setAttribute
in interface Attributable
name
- the name of the attribute.value
- the new value of the attribute.public java.lang.Object getAttribute(java.lang.String name)
getAttribute
in interface Attributable
name
- the name of the attribute of interest, or null if the attribute doesn't exist.public void removeAttribute(java.lang.String name)
removeAttribute
in interface Attributable
name
- name of attribute to removepublic java.util.Set<java.lang.String> getAttributeNames()
getAttributeNames
in interface Attributable
public java.util.Map<java.lang.String,java.lang.Object> getAttributeMap()
Attributable
getAttributeMap
in interface Attributable
http://code.google.com/p/jebl2/