pal.eval
Interface UnconstrainedLikelihoodModel.External

All Superinterfaces:
java.io.Serializable
Enclosing interface:
UnconstrainedLikelihoodModel

public static interface UnconstrainedLikelihoodModel.External
extends java.io.Serializable

The External calculator does not maintain any state and is approapriate for calculation where a store is provided


Method Summary
 void calculateExtended(double distance, PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilities, ConditionalProbabilityStore rightConditionalProbabilities, ConditionalProbabilityStore resultStore)
           
 void calculateFlat(PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilities, ConditionalProbabilityStore rightConditionalProbabilities, ConditionalProbabilityStore resultStore)
           
 double calculateLogLikelihood(double distance, PatternInfo centerPattern, ConditionalProbabilityStore leftFlatConditionalProbabilities, ConditionalProbabilityStore rightFlatConditionalProbabilities, ConditionalProbabilityStore tempStore)
          Calculate the likelihood given two sub trees (left, right) and their flat (unextend) likeihood probabilities
 double calculateLogLikelihood(PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilities, ConditionalProbabilityStore rightConditionalProbabilities)
          Calculate the likelihood given two sub trees (left, right) and their extended likeihood probabilities
 double calculateLogLikelihoodSingle(int[] patternWeights, int numberOfPatterns, ConditionalProbabilityStore conditionalProbabilityStore)
          Calculate the likelihood given the conditional probabilites at the root
 void calculateSingleExtendedDirect(double distance, int numberOfPatterns, ConditionalProbabilityStore conditionalProbabilities)
          Extend the conditionals back in time by some distance
 void calculateSingleExtendedIndirect(double distance, int numberOfPatterns, ConditionalProbabilityStore baseConditionalProbabilities, ConditionalProbabilityStore resultConditionalProbabilities)
          Extend the conditionals back in time by some distance
 SiteDetails calculateSiteDetailsRooted(PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilitiesStore, ConditionalProbabilityStore rightConditionalProbabilitiesStore)
          Calculate the conditional probabilities of each pattern for each category
 SiteDetails calculateSiteDetailsUnrooted(double distance, PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilitiesStore, ConditionalProbabilityStore rightConditionalProbabilitiesStore, ConditionalProbabilityStore tempStore)
          Calculate the conditional probabilities of each pattern for each category
 

Method Detail

calculateFlat

void calculateFlat(PatternInfo centerPattern,
                   ConditionalProbabilityStore leftConditionalProbabilities,
                   ConditionalProbabilityStore rightConditionalProbabilities,
                   ConditionalProbabilityStore resultStore)
Parameters:
centerPattern - the pattern information
leftConditionalProbabilities - Implementations must not overwrite or change
rightConditionalProbabilities - Implementations must not overwrite or change
resultStore - Where to stick the created categoryPatternState information

calculateExtended

void calculateExtended(double distance,
                       PatternInfo centerPattern,
                       ConditionalProbabilityStore leftConditionalProbabilities,
                       ConditionalProbabilityStore rightConditionalProbabilities,
                       ConditionalProbabilityStore resultStore)
Parameters:
distance - the evolutionary distance
centerPattern - the pattern information
leftConditionalProbabilities - Implementations must not overwrite or change
rightConditionalProbabilities - Implementations must not overwrite or change
resultStore - Where to stick the created categoryPatternState information

calculateSingleExtendedDirect

void calculateSingleExtendedDirect(double distance,
                                   int numberOfPatterns,
                                   ConditionalProbabilityStore conditionalProbabilities)
Extend the conditionals back in time by some distance

Parameters:
distance - The evolutionary distance to extend by
numberOfPatterns - the number of patterns
conditionalProbabilities - The probabilities to extend

calculateSingleExtendedIndirect

void calculateSingleExtendedIndirect(double distance,
                                     int numberOfPatterns,
                                     ConditionalProbabilityStore baseConditionalProbabilities,
                                     ConditionalProbabilityStore resultConditionalProbabilities)
Extend the conditionals back in time by some distance

Parameters:
distance - The evolutionary distance to extend by
numberOfPatterns - the number of patterns
baseConditionalProbabilities - The probabilities to extend
resultConditionalProbabilities - The probabilities to extend

calculateLogLikelihood

double calculateLogLikelihood(double distance,
                              PatternInfo centerPattern,
                              ConditionalProbabilityStore leftFlatConditionalProbabilities,
                              ConditionalProbabilityStore rightFlatConditionalProbabilities,
                              ConditionalProbabilityStore tempStore)
Calculate the likelihood given two sub trees (left, right) and their flat (unextend) likeihood probabilities

Parameters:
distance - The evolutionary distance
centerPattern - the pattern information
leftFlatConditionalProbabilities - The left conditional probabilities (unextended)
rightFlatConditionalProbabilities - The right conditional probabilities (unextended)
tempStore - may be used internally to calculate likelihood
Returns:
the log likelihood

calculateLogLikelihood

double calculateLogLikelihood(PatternInfo centerPattern,
                              ConditionalProbabilityStore leftConditionalProbabilities,
                              ConditionalProbabilityStore rightConditionalProbabilities)
Calculate the likelihood given two sub trees (left, right) and their extended likeihood probabilities

Parameters:
centerPattern - the pattern information
leftConditionalProbabilities - The left conditional probabilities
rightConditionalProbabilities - The right conditional probabilities
Returns:
the Log likelihood

calculateLogLikelihoodSingle

double calculateLogLikelihoodSingle(int[] patternWeights,
                                    int numberOfPatterns,
                                    ConditionalProbabilityStore conditionalProbabilityStore)
Calculate the likelihood given the conditional probabilites at the root

Parameters:
patternWeights - the weights of each pattern
numberOfPatterns - the number of patterns
Returns:
the Log likelihood

calculateSiteDetailsRooted

SiteDetails calculateSiteDetailsRooted(PatternInfo centerPattern,
                                       ConditionalProbabilityStore leftConditionalProbabilitiesStore,
                                       ConditionalProbabilityStore rightConditionalProbabilitiesStore)
Calculate the conditional probabilities of each pattern for each category

Parameters:
centerPattern - the pattern information
leftConditionalProbabilitiesStore - The left conditional probabilities
rightConditionalProbabilitiesStore - The right conditional probabilities

calculateSiteDetailsUnrooted

SiteDetails calculateSiteDetailsUnrooted(double distance,
                                         PatternInfo centerPattern,
                                         ConditionalProbabilityStore leftConditionalProbabilitiesStore,
                                         ConditionalProbabilityStore rightConditionalProbabilitiesStore,
                                         ConditionalProbabilityStore tempStore)
Calculate the conditional probabilities of each pattern for each category

Parameters:
distance - The distance between the two nodes
centerPattern - the pattern information
leftConditionalProbabilitiesStore - The left conditional probabilities
rightConditionalProbabilitiesStore - The right conditional probabilities
tempStore - after call will hold a matrix of values in the form [cat][pattern], where [cat][pattern] represents the site probability under a particular category/class, *not* multiplied by the category probability or pattern weights