Package pal.tree

Class SimpleNode

java.lang.Object
pal.tree.SimpleNode
All Implemented Interfaces:
Serializable, AttributeNode, Node
Direct Known Subclasses:
PositionedNode

public class SimpleNode extends Object implements AttributeNode
data structure for a node (includes branch) in a binary/non-binary rooted/unrooted tree
Version:
$Id: SimpleNode.java,v 1.27 2003/10/19 02:35:26 matt Exp $
Author:
Korbinian Strimmer, Alexei Drummond
See Also:
  • Constructor Details

    • SimpleNode

      public SimpleNode()
      constructor default node
    • SimpleNode

      public SimpleNode(String name, double branchLength)
    • SimpleNode

      protected SimpleNode(Node[] children, double branchLength)
      Constructor
      Parameters:
      children -
      branchLength -
      Throws:
      IllegalArgumentException - if only one child!
    • SimpleNode

      protected SimpleNode(Node[] children)
    • SimpleNode

      public SimpleNode(Node n)
      constructor used to clone a node and all children
    • SimpleNode

      public SimpleNode(Node n, boolean keepIds)
    • SimpleNode

      public SimpleNode(Node n, LabelMapping lm)
  • Method Details

    • reset

      public void reset()
    • init

      protected void init(Node n)
    • init

      protected void init(Node n, boolean keepId)
      Initialized node instance variables based on given Node. children are ignored.
    • init

      protected void init(Node n, boolean keepId, LabelMapping lm)
      Initialized node instance variables based on given Node. children are ignored.
      Parameters:
      lm - - may be null
    • getParent

      public final Node getParent()
      Returns the parent node of this node.
      Specified by:
      getParent in interface Node
    • setParent

      public void setParent(Node node)
      Set the parent node of this node.
      Specified by:
      setParent in interface Node
    • removeParent

      public final void removeParent()
      removes parent.
    • getSequenceString

      public String getSequenceString()
      Returns the sequence at this node, in the form of a String.
    • getSequence

      public byte[] getSequence()
      Returns the sequence at this node, in the form of an array of bytes.
      Specified by:
      getSequence in interface Node
    • setSequence

      public void setSequence(byte[] s)
      Sets the sequence at this node, in the form of an array of bytes.
      Specified by:
      setSequence in interface Node
    • getBranchLength

      public final double getBranchLength()
      Get the length of the branch attaching this node to its parent.
      Specified by:
      getBranchLength in interface Node
    • setBranchLength

      public final void setBranchLength(double value)
      Set the length of the branch attaching this node to its parent.
      Specified by:
      setBranchLength in interface Node
    • getBranchLengthSE

      public final double getBranchLengthSE()
      Get the length SE of the branch attaching this node to its parent.
      Specified by:
      getBranchLengthSE in interface Node
    • setBranchLengthSE

      public final void setBranchLengthSE(double value)
      Set the length SE of the branch attaching this node to its parent.
      Specified by:
      setBranchLengthSE in interface Node
    • getNodeHeight

      public final double getNodeHeight()
      Get the height of this node relative to the most recent node.
      Specified by:
      getNodeHeight in interface Node
    • setNodeHeight

      public final void setNodeHeight(double value)
      Set the height of this node relative to the most recent node.
      Specified by:
      setNodeHeight in interface Node
    • setNodeHeight

      public final void setNodeHeight(double value, boolean adjustChildBranchLengths)
      Set the height of this node relative to the most recent node.
      Specified by:
      setNodeHeight in interface Node
      Parameters:
      adjustChildBranchLengths - if true
    • getIdentifier

      public final Identifier getIdentifier()
      Returns the identifier for this node.
      Specified by:
      getIdentifier in interface Node
    • setIdentifier

      public final void setIdentifier(Identifier id)
      Set identifier for this node.
      Specified by:
      setIdentifier in interface Node
    • setNumber

      public void setNumber(int n)
      Description copied from interface: Node
      set the index of this node
      Specified by:
      setNumber in interface Node
    • getNumber

      public int getNumber()
      Description copied from interface: Node
      return the index of this node
      Specified by:
      getNumber in interface Node
    • getChild

      public Node getChild(int n)
      get child node
      Specified by:
      getChild in interface Node
      Parameters:
      n - number of child
      Returns:
      child node
    • setChild

      public void setChild(int n, Node node)
      set child node
      Specified by:
      setChild in interface Node
      Parameters:
      n - number
    • hasChildren

      public boolean hasChildren()
      check whether this node is an internal node
      Returns:
      result (true or false)
    • isLeaf

      public boolean isLeaf()
      check whether this node is an external node
      Specified by:
      isLeaf in interface Node
      Returns:
      result (true or false)
    • isRoot

      public boolean isRoot()
      check whether this node is a root node
      Specified by:
      isRoot in interface Node
      Returns:
      result (true or false)
    • addChild

      public void addChild(Node n)
      add new child node
      Specified by:
      addChild in interface Node
      Parameters:
      n - new child node
    • insertChild

      public void insertChild(Node n, int pos)
      add new child node (insertion at a specific position)
      Specified by:
      insertChild in interface Node
      Parameters:
      n - new child node + @param pos position
    • removeChild

      public Node removeChild(int n)
      remove child
      Specified by:
      removeChild in interface Node
      Parameters:
      n - number of child to be removed
    • lengths2HeightsContemp

      public void lengths2HeightsContemp()
      determines the height of this node and its descendants from branch lengths, assuming contemporaneous tips.
    • setAttribute

      public final void setAttribute(String name, Object value)
      Sets a named attribute to the given value.
      Specified by:
      setAttribute in interface AttributeNode
      Parameters:
      name - the name of the attribute
      value - the value to set the attribute
    • getAttribute

      public final Object getAttribute(String name)
      Specified by:
      getAttribute in interface AttributeNode
      Parameters:
      name - the name of the attribute.
      Returns:
      the attribute with the given name or null if it doesn't exist.
    • getAttributeNames

      public final Enumeration getAttributeNames()
      Specified by:
      getAttributeNames in interface AttributeNode
      Returns:
      an enumeration of the attributes that this node has or null if the node has no attributes.
    • getChildCount

      public final int getChildCount()
      Returns the number of children this node has.
      Specified by:
      getChildCount in interface Node
    • toString

      public String toString()
      Overrides:
      toString in class Object