pal.eval
Interface LHCalculator.External

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

public static interface LHCalculator.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, SubstitutionModel model, PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilities, ConditionalProbabilityStore rightConditionalProbabilities, ConditionalProbabilityStore resultStore)
           
 void calculateFlat(PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilities, ConditionalProbabilityStore rightConditionalProbabilities, ConditionalProbabilityStore resultStore)
           
 double calculateLogLikelihood(double distance, SubstitutionModel model, 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(SubstitutionModel model, PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilities, ConditionalProbabilityStore rightConditionalProbabilities)
          Calculate the likelihood given two sub trees (left, right) and their extended likeihood probabilities
 double calculateLogLikelihoodSingle(SubstitutionModel model, int[] patternWeights, int numberOfPatterns, ConditionalProbabilityStore conditionalProbabilityStore)
          Calculate the likelihood given the conditional probabilites at the root
 void calculateSingleExtendedDirect(double distance, SubstitutionModel model, int numberOfPatterns, ConditionalProbabilityStore conditionalProbabilities)
          Extend the conditionals back in time by some distance, with some model
 void calculateSingleExtendedIndirect(double distance, SubstitutionModel model, int numberOfPatterns, ConditionalProbabilityStore baseConditionalProbabilities, ConditionalProbabilityStore resultConditionalProbabilities)
          Extend the conditionals back in time by some distance, with some model
 SiteDetails calculateSiteDetailsRooted(SubstitutionModel model, PatternInfo centerPattern, ConditionalProbabilityStore leftConditionalProbabilitiesStore, ConditionalProbabilityStore rightConditionalProbabilitiesStore)
          Calculate the conditional probabilities of each pattern for each category
 SiteDetails calculateSiteDetailsUnrooted(double distance, SubstitutionModel model, 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,
                       SubstitutionModel model,
                       PatternInfo centerPattern,
                       ConditionalProbabilityStore leftConditionalProbabilities,
                       ConditionalProbabilityStore rightConditionalProbabilities,
                       ConditionalProbabilityStore resultStore)
Parameters:
distance -
model -
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,
                                   SubstitutionModel model,
                                   int numberOfPatterns,
                                   ConditionalProbabilityStore conditionalProbabilities)
Extend the conditionals back in time by some distance, with some model

Parameters:
distance - The distance to extend by
model - The model to use
conditionalProbabilities - The probabilities to extend

calculateSingleExtendedIndirect

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

Parameters:
distance - The distance to extend by
model - The model to use
baseConditionalProbabilities - The probabilities to extend
resultConditionalProbabilities - The probabilities to extend

calculateLogLikelihood

double calculateLogLikelihood(double distance,
                              SubstitutionModel model,
                              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 -
model -
centerPattern - the pattern information
leftFlatConditionalProbabilities -
rightFlatConditionalProbabilities -
tempStore - may be used internally to calculate likelihood
Returns:
the log likelihood

calculateLogLikelihood

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

Parameters:
model -
centerPattern - the pattern information
leftConditionalProbabilities -
rightConditionalProbabilities -
Returns:
the Log likelihood

calculateLogLikelihoodSingle

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

Parameters:
model - The substitution model used
patternWeights - the weights of each pattern
numberOfPatterns - the number of patterns
conditionalProbabilities - The conditionals
Returns:
the Log likelihood

calculateSiteDetailsRooted

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

Parameters:
model -
centerPattern - the pattern information
leftConditionalProbabilities -
rightConditionalProbabilities -
categoryPatternLogLikelihoodStore - 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

calculateSiteDetailsUnrooted

SiteDetails calculateSiteDetailsUnrooted(double distance,
                                         SubstitutionModel model,
                                         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
model -
centerPattern - the pattern information
leftConditionalProbabilities -
rightConditionalProbabilities -
categoryPatternLogLikelihoodStore - 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