Package pal.eval

Class SimpleLikelihoodCalculator

java.lang.Object
pal.eval.SimpleLikelihoodCalculator
All Implemented Interfaces:
LikelihoodCalculator

public class SimpleLikelihoodCalculator extends Object implements LikelihoodCalculator
  • Constructor Details

    • SimpleLikelihoodCalculator

      public SimpleLikelihoodCalculator(SitePattern pattern)
      Need to use setTree(), and setModel() before using compute() if you use this constructor
    • SimpleLikelihoodCalculator

      public SimpleLikelihoodCalculator(SitePattern pattern, Tree tree, RateMatrix model)
  • Method Details

    • release

      public void release()
      Doesn't do anything...
      Specified by:
      release in interface LikelihoodCalculator
    • calculateLogLikelihood

      public double calculateLogLikelihood()
      compute log-likelihood for current tree (fixed branch lengths and model) return log-likelihood
      Specified by:
      calculateLogLikelihood in interface LikelihoodCalculator
    • getSitePattern

      public SitePattern getSitePattern()
    • getTree

      public Tree getTree()
    • setRateMatrix

      public void setRateMatrix(RateMatrix m)
      define model (a site pattern must have been set before calling this method)
      Parameters:
      m - model of substitution (rate matrix + rate distribution)
    • setTree

      public void setTree(Tree t)
      define tree ,(must only be called only after a site pattern has been defined).
      Parameters:
      t - tree
    • modelUpdated

      public final void modelUpdated()
    • treeUpdated

      public final void treeUpdated()
    • getPartial

      protected double[][] getPartial(Node branch)
      get partial likelihood of a branch
    • getNextBranch

      protected Node getNextBranch(Node branch, Node center)
      get next branch around a center node (center may be root, but root is never returned)
    • productPartials

      protected void productPartials(Node center)
      multiply partials into the neighbour of branch
    • partialsInternal

      protected void partialsInternal(Node center)
      compute partials for branch around center node (it is assumed that multiplied partials are available in the neighbor branch)
    • partialsExternal

      protected void partialsExternal(Node branch)
      compute partials for external branch