pal.treesearch
Class FreeInternalNode

java.lang.Object
  extended by pal.treesearch.FreeInternalNode
All Implemented Interfaces:
FreeNode, GeneralTreeComponent

public class FreeInternalNode
extends java.lang.Object
implements FreeNode


Constructor Summary
FreeInternalNode(Node i, FreeBranch parentFreeBranch, GeneralConstructionTool tool, GeneralConstraintGroupManager.Store store)
           
 
Method Summary
 Node buildPALNodeBase(double branchLength, FreeBranch caller)
           
 Node buildPALNodeES(double branchLength, FreeBranch caller)
           
 FreeBranch extract(FreeBranch caller)
          Instruct the node to extract itself from the two connections that aren't the caller One of the other two connections will become redunant.
 void getAllComponents(java.util.ArrayList store, java.lang.Class componentType)
           
 void getAllComponents(java.util.ArrayList store, java.lang.Class componentType, FreeBranch caller)
          Recurse to all neighbours but caller
 ConditionalProbabilityStore getExtendedConditionalProbabilities(double distance, FreeBranch callerConnection, GeneralConstructionTool tool)
           
 ConditionalProbabilityStore getExtendedConditionalProbabilities(double distance, FreeBranch callerConnection, UnconstrainedLikelihoodModel.External externalCalculator, ConditionalProbabilityStore resultStore, GeneralConstructionTool tool)
           
 ConditionalProbabilityStore getFlatConditionalProbabilities(FreeBranch callerConnection, GeneralConstructionTool tool)
           
 ConditionalProbabilityStore getFlatConditionalProbabilities(FreeBranch callerConnection, UnconstrainedLikelihoodModel.External externalCalculator, ConditionalProbabilityStore resultStore, GeneralConstructionTool tool)
           
 FreeBranch getLeftBranch(FreeBranch caller)
           
 ConditionalProbabilityStore getLeftExtendedConditionalProbabilities(FreeBranch callingConnection, UnconstrainedLikelihoodModel.External external, ConditionalProbabilityStore resultStore, GeneralConstructionTool tool)
           
 PatternInfo getLeftPatternInfo(GeneralConstructionTool tool, FreeBranch caller)
           
 PatternInfo getPatternInfo(GeneralConstructionTool tool, FreeBranch caller)
           
 FreeBranch getRightBranch(FreeBranch caller)
           
 ConditionalProbabilityStore getRightExtendedConditionalProbabilities(FreeBranch callingConnection, UnconstrainedLikelihoodModel.External external, ConditionalProbabilityStore resultStore, GeneralConstructionTool tool)
           
 PatternInfo getRightPatternInfo(GeneralConstructionTool tool, FreeBranch caller)
           
 boolean hasConnection(FreeBranch c, FreeBranch caller)
           
 boolean hasDirectConnection(FreeBranch c)
           
 void mark()
           
 void setConnectingBranches(FreeBranch[] store, int number)
           
 void swapConnection(FreeBranch original, FreeBranch newConnection)
          Should not do anything but swap branches around
 void swapConnection(FreeBranch original, FreeNode nodeToReplace, FreeBranch newConnection)
          Should preserve tree integrity
 void testLikelihood(FreeBranch caller, GeneralConstructionTool tool)
           
 java.lang.String toString(FreeBranch caller)
           
 void undoToMark()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FreeInternalNode

public FreeInternalNode(Node i,
                        FreeBranch parentFreeBranch,
                        GeneralConstructionTool tool,
                        GeneralConstraintGroupManager.Store store)
Method Detail

mark

public void mark()

undoToMark

public void undoToMark()

hasDirectConnection

public boolean hasDirectConnection(FreeBranch c)
Specified by:
hasDirectConnection in interface FreeNode

hasConnection

public boolean hasConnection(FreeBranch c,
                             FreeBranch caller)
Specified by:
hasConnection in interface FreeNode

testLikelihood

public void testLikelihood(FreeBranch caller,
                           GeneralConstructionTool tool)
Specified by:
testLikelihood in interface FreeNode

setConnectingBranches

public void setConnectingBranches(FreeBranch[] store,
                                  int number)
Specified by:
setConnectingBranches in interface FreeNode

getLeftBranch

public FreeBranch getLeftBranch(FreeBranch caller)
Specified by:
getLeftBranch in interface FreeNode

getRightBranch

public FreeBranch getRightBranch(FreeBranch caller)
Specified by:
getRightBranch in interface FreeNode

extract

public FreeBranch extract(FreeBranch caller)
Description copied from interface: FreeNode
Instruct the node to extract itself from the two connections that aren't the caller One of the other two connections will become redunant.

Specified by:
extract in interface FreeNode
Returns:
the redundant connection, or null of this node can't extract

swapConnection

public void swapConnection(FreeBranch original,
                           FreeNode nodeToReplace,
                           FreeBranch newConnection)
Description copied from interface: FreeNode
Should preserve tree integrity

Specified by:
swapConnection in interface FreeNode

swapConnection

public void swapConnection(FreeBranch original,
                           FreeBranch newConnection)
Description copied from interface: FreeNode
Should not do anything but swap branches around

Specified by:
swapConnection in interface FreeNode

getPatternInfo

public PatternInfo getPatternInfo(GeneralConstructionTool tool,
                                  FreeBranch caller)
Specified by:
getPatternInfo in interface FreeNode

buildPALNodeES

public Node buildPALNodeES(double branchLength,
                           FreeBranch caller)
Specified by:
buildPALNodeES in interface FreeNode

buildPALNodeBase

public Node buildPALNodeBase(double branchLength,
                             FreeBranch caller)
Specified by:
buildPALNodeBase in interface FreeNode

toString

public java.lang.String toString(FreeBranch caller)
Specified by:
toString in interface FreeNode

getAllComponents

public void getAllComponents(java.util.ArrayList store,
                             java.lang.Class componentType)
Specified by:
getAllComponents in interface GeneralTreeComponent

getAllComponents

public void getAllComponents(java.util.ArrayList store,
                             java.lang.Class componentType,
                             FreeBranch caller)
Description copied from interface: FreeNode
Recurse to all neighbours but caller

Specified by:
getAllComponents in interface FreeNode

getLeftExtendedConditionalProbabilities

public ConditionalProbabilityStore getLeftExtendedConditionalProbabilities(FreeBranch callingConnection,
                                                                           UnconstrainedLikelihoodModel.External external,
                                                                           ConditionalProbabilityStore resultStore,
                                                                           GeneralConstructionTool tool)

getRightExtendedConditionalProbabilities

public ConditionalProbabilityStore getRightExtendedConditionalProbabilities(FreeBranch callingConnection,
                                                                            UnconstrainedLikelihoodModel.External external,
                                                                            ConditionalProbabilityStore resultStore,
                                                                            GeneralConstructionTool tool)

getLeftPatternInfo

public PatternInfo getLeftPatternInfo(GeneralConstructionTool tool,
                                      FreeBranch caller)
Specified by:
getLeftPatternInfo in interface FreeNode
Returns:
Get the pattern info for the relative left (from the caller's perspective), or null if not left pattern info

getRightPatternInfo

public PatternInfo getRightPatternInfo(GeneralConstructionTool tool,
                                       FreeBranch caller)
Specified by:
getRightPatternInfo in interface FreeNode
Returns:
Get the pattern info for the relative right (from the caller's perspective), or null if not right pattern info

getFlatConditionalProbabilities

public ConditionalProbabilityStore getFlatConditionalProbabilities(FreeBranch callerConnection,
                                                                   UnconstrainedLikelihoodModel.External externalCalculator,
                                                                   ConditionalProbabilityStore resultStore,
                                                                   GeneralConstructionTool tool)

getFlatConditionalProbabilities

public ConditionalProbabilityStore getFlatConditionalProbabilities(FreeBranch callerConnection,
                                                                   GeneralConstructionTool tool)
Specified by:
getFlatConditionalProbabilities in interface FreeNode

getExtendedConditionalProbabilities

public ConditionalProbabilityStore getExtendedConditionalProbabilities(double distance,
                                                                       FreeBranch callerConnection,
                                                                       UnconstrainedLikelihoodModel.External externalCalculator,
                                                                       ConditionalProbabilityStore resultStore,
                                                                       GeneralConstructionTool tool)
Specified by:
getExtendedConditionalProbabilities in interface FreeNode

getExtendedConditionalProbabilities

public ConditionalProbabilityStore getExtendedConditionalProbabilities(double distance,
                                                                       FreeBranch callerConnection,
                                                                       GeneralConstructionTool tool)
Specified by:
getExtendedConditionalProbabilities in interface FreeNode