Package pal.eval

Interface UnconstrainedLikelihoodModel.External

All Superinterfaces:
Serializable
Enclosing interface:
UnconstrainedLikelihoodModel

public static interface UnconstrainedLikelihoodModel.External extends Serializable
The External calculator does not maintain any state and is approapriate for calculation where a store is provided
  • Method Details

    • 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