org.biojava3.alignment.template
Interface GuideTreeNode<S extends Sequence<C>,C extends Compound>

Type Parameters:
S - each Sequence in the tree is of type S
C - each element of a Sequence is a Compound of type C
All Superinterfaces:
TreeNode
All Known Implementing Classes:
GuideTree.Node

public interface GuideTreeNode<S extends Sequence<C>,C extends Compound>
extends TreeNode

Defines a data structure for the node in a guide tree used during progressive multiple sequence alignment.

Author:
Mark Chapman

Method Summary
 GuideTreeNode<S,C> getChild1()
          Returns the first child node of this node.
 GuideTreeNode<S,C> getChild2()
          Returns the second child node of this node.
 double getDistanceToParent()
          Returns the difference in height of this node and it's parent node.
 String getName()
          Returns the name of this node.
 Profile<S,C> getProfile()
          Returns the profile stored at this node.
 Future<ProfilePair<S,C>> getProfileFuture()
          Returns the profile future stored at this node, but does not force the calculation, yet.
 void setProfile(Profile<S,C> profile)
          Stores the given profile.
 void setProfileFuture(Future<ProfilePair<S,C>> profileFuture)
          Stores the given profile future.
 
Methods inherited from interface javax.swing.tree.TreeNode
children, getAllowsChildren, getChildAt, getChildCount, getIndex, getParent, isLeaf
 

Method Detail

getChild1

GuideTreeNode<S,C> getChild1()
Returns the first child node of this node. For leaf nodes (sequences), this will be null.

Returns:
the first child node of this node

getChild2

GuideTreeNode<S,C> getChild2()
Returns the second child node of this node. For leaf nodes (sequences), this will be null.

Returns:
the second child node of this node

getDistanceToParent

double getDistanceToParent()
Returns the difference in height of this node and it's parent node. A likely meaning of this distance is half the percent difference between this node and it's sibling node.

Returns:
the difference in height of this node to it's parent node

getName

String getName()
Returns the name of this node. For leaf nodes (sequences), this will likely be the accession ID.

Returns:
the name of this node

getProfile

Profile<S,C> getProfile()
Returns the profile stored at this node. If the node is a leaf, the profile is that of a single sequence. If not, this returns null until setProfile(Profile) has been called.

Returns:
the profile stored at this node

getProfileFuture

Future<ProfilePair<S,C>> getProfileFuture()
Returns the profile future stored at this node, but does not force the calculation, yet. This allows alignment tasks for the entire tree to be queued in a post-order traversal before concurrent execution.

Returns:
the profile future stored at this node

setProfile

void setProfile(Profile<S,C> profile)
Stores the given profile.

Parameters:
profile - new profile stored at this node

setProfileFuture

void setProfileFuture(Future<ProfilePair<S,C>> profileFuture)
Stores the given profile future. This allows concurrent execution of alignment tasks.

Parameters:
profileFuture - new profile to be calculated and then stored at this node