|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjebl.evolution.trees.RootedFromUnrooted
public class RootedFromUnrooted
Root an unrooted tree. This class works as a wrapper over any tree to root it. There are two constructors, one which roots the tree at any internal node, the other roots the tree between any two internal nodes. Be aware that rooting between nodes where one of them has less than 3 adjacencies may be problematic when converting back from the Newick format.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface jebl.evolution.graphs.Graph |
---|
Graph.NoEdgeException, Graph.Utils |
Constructor Summary | |
---|---|
RootedFromUnrooted(Tree source,
Node root,
boolean intentUnrooted)
Root tree at some internal node. |
|
RootedFromUnrooted(Tree source,
Node left,
Node right,
double fromLeft)
Root source by creating a new internal node whose children are (the adjacent) left and right. |
Method Summary | |
---|---|
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()
|
Node[] |
getNodes(Edge edge)
Returns an array of 2 nodes which are the nodes at either end of the edge. |
java.util.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. |
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. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RootedFromUnrooted(Tree source, Node root, boolean intentUnrooted)
source
- tree to rootroot
- internal node to root atintentUnrooted
- public RootedFromUnrooted(Tree source, Node left, Node right, double fromLeft)
source
- left
- right
- fromLeft
- branch from new root to left node.Method Detail |
---|
public 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 requested
public Node getRootNode()
RootedTree
getRootNode
in interface RootedTree
public boolean conceptuallyUnrooted()
RootedTree
conceptuallyUnrooted
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()
getTaxa
in interface Tree
public Taxon getTaxon(Node node)
getTaxon
in interface Tree
node
- the node whose associated taxon is being requested.
public boolean isExternal(Node node)
isExternal
in interface Tree
node
- the node
public Node getNode(Taxon taxon)
getNode
in interface Tree
taxon
- the taxon
public void renameTaxa(Taxon from, Taxon to)
renameTaxa
in interface Tree
public java.util.List<Edge> getEdges(Node node)
getEdges
in interface Graph
node
-
public Node[] getNodes(Edge edge)
Graph
getNodes
in interface Graph
public java.util.List<Node> getAdjacencies(Node node)
Graph
getAdjacencies
in interface Graph
public double getEdgeLength(Node node1, Node node2) throws Graph.NoEdgeException
Graph
getEdgeLength
in interface Graph
Graph.NoEdgeException
- if the nodes are not directly connected by an edge.public Edge getEdge(Node node1, Node node2) throws Graph.NoEdgeException
Graph
getEdge
in interface Graph
Graph.NoEdgeException
- if the nodes are not directly connected by an edge.public java.util.Set<Node> getNodes()
getNodes
in interface Graph
public java.util.Set<Edge> getEdges()
getEdges
in interface Graph
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)
getNodes
in interface Graph
degree
- the number of edges connected to a node
public boolean isRoot(Node node)
isRoot
in interface RootedTree
node
- the node
public 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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |