Package pal.treesearch
Class FreeLeafNode
- java.lang.Object
-
- pal.treesearch.AbstractLeafNode
-
- pal.treesearch.FreeLeafNode
-
- All Implemented Interfaces:
FreeNode
,GeneralTreeComponent
public class FreeLeafNode extends AbstractLeafNode implements FreeNode
-
-
Constructor Summary
Constructors Constructor Description FreeLeafNode(FreeBranch parentBranch, java.lang.String id, GeneralConstructionTool tool)
-
Method Summary
-
Methods inherited from class pal.treesearch.AbstractLeafNode
createNewConstrainedLeafCalculator, createNewFreeLeafCalculator, getLabel, getNumberOfPatterns, getPatternInfo
-
-
-
-
Constructor Detail
-
FreeLeafNode
public FreeLeafNode(FreeBranch parentBranch, java.lang.String id, GeneralConstructionTool tool)
-
-
Method Detail
-
hasDirectConnection
public boolean hasDirectConnection(FreeBranch fb)
- Specified by:
hasDirectConnection
in interfaceFreeNode
-
mark
public void mark()
-
undoToMark
public void undoToMark()
-
hasConnection
public boolean hasConnection(FreeBranch fb, FreeBranch caller)
- Specified by:
hasConnection
in interfaceFreeNode
-
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.
-
getLeftExtendedConditionalProbabilities
public ConditionalProbabilityStore getLeftExtendedConditionalProbabilities(FreeBranch caller, UnconstrainedLikelihoodModel.External externalCalculator, ConditionalProbabilityStore resultStore)
-
getRightExtendedConditionalProbabilities
public ConditionalProbabilityStore getRightExtendedConditionalProbabilities(FreeBranch caller, UnconstrainedLikelihoodModel.External externalCalculator, ConditionalProbabilityStore resultStore)
-
getLeftPatternInfo
public PatternInfo getLeftPatternInfo(GeneralConstructionTool tool, FreeBranch caller)
- Specified by:
getLeftPatternInfo
in interfaceFreeNode
- 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 interfaceFreeNode
- Returns:
- Get the pattern info for the relative right (from the caller's perspective), or null if not right pattern info
-
setConnectingBranches
public void setConnectingBranches(FreeBranch[] store, int number)
- Specified by:
setConnectingBranches
in interfaceFreeNode
-
testLikelihood
public void testLikelihood(FreeBranch caller, GeneralConstructionTool tool)
- Specified by:
testLikelihood
in interfaceFreeNode
-
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 interfaceFreeNode
-
swapConnection
public void swapConnection(FreeBranch original, FreeNode nodeToReplace, FreeBranch newConnection)
Description copied from interface:FreeNode
Should preserve tree integrity- Specified by:
swapConnection
in interfaceFreeNode
-
getLeftBranch
public FreeBranch getLeftBranch(FreeBranch caller)
- Specified by:
getLeftBranch
in interfaceFreeNode
- Returns:
- null (as not possible)
-
getRightBranch
public FreeBranch getRightBranch(FreeBranch caller)
- Specified by:
getRightBranch
in interfaceFreeNode
- Returns:
- null (as not possible)
-
getAllConnections
public void getAllConnections(java.util.ArrayList store, FreeBranch caller)
-
getPatternInfo
public PatternInfo getPatternInfo(GeneralConstructionTool tool, FreeBranch caller)
- Specified by:
getPatternInfo
in interfaceFreeNode
-
rebuildConnectionPatterns
public void rebuildConnectionPatterns(GeneralConstructionTool tool, FreeBranch caller)
-
redirectRebuildPattern
public int redirectRebuildPattern(GeneralConstructionTool tool)
This should only be called by another leaf node on the other end of the connection. In this case we don't have to do much (tree is two node tree)
-
getFlatConditionalProbabilities
public final ConditionalProbabilityStore getFlatConditionalProbabilities(FreeBranch callingBranch, UnconstrainedLikelihoodModel.External external, ConditionalProbabilityStore resultStore, GeneralConstructionTool tool)
-
getFlatConditionalProbabilities
public final ConditionalProbabilityStore getFlatConditionalProbabilities(FreeBranch caller, GeneralConstructionTool tool)
- Specified by:
getFlatConditionalProbabilities
in interfaceFreeNode
-
getExtendedConditionalProbabilities
public ConditionalProbabilityStore getExtendedConditionalProbabilities(double distance, FreeBranch callingBranch, UnconstrainedLikelihoodModel.External external, ConditionalProbabilityStore resultStore, GeneralConstructionTool tool)
- Specified by:
getExtendedConditionalProbabilities
in interfaceFreeNode
-
getExtendedConditionalProbabilities
public ConditionalProbabilityStore getExtendedConditionalProbabilities(double distance, FreeBranch callingBranch, GeneralConstructionTool tool)
- Specified by:
getExtendedConditionalProbabilities
in interfaceFreeNode
-
buildPALNode
public final Node buildPALNode(double branchLength, FreeBranch caller)
-
buildPALNodeES
public final Node buildPALNodeES(double branchLength, FreeBranch caller)
- Specified by:
buildPALNodeES
in interfaceFreeNode
-
buildPALNodeBase
public final Node buildPALNodeBase(double branchLength, FreeBranch caller)
- Specified by:
buildPALNodeBase
in interfaceFreeNode
-
toString
public java.lang.String toString(FreeBranch caller)
-
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 interfaceFreeNode
-
getAllComponents
public final void getAllComponents(java.util.ArrayList store, java.lang.Class componentType)
- Specified by:
getAllComponents
in interfaceGeneralTreeComponent
-
-