Home Original page

SimpleDistributionTrainerContext (biojava-legacy 1.9.5 API)

  • java.lang.Object
    • org.biojava.bio.dist.SimpleDistributionTrainerContext
  • All Implemented Interfaces:
    Serializable, DistributionTrainerContext
    Direct Known Subclasses:
    SimpleModelTrainer

    public class SimpleDistributionTrainerContext
    extends Object
    implements DistributionTrainerContext, Serializable

    A no-frills implementation of DistributionTrainerContext.

    Since:
    1.0
    Author:
    Matthew Pocock
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleDistributionTrainerContext()

      Create a new context with no initial distributions or trainers.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCount​(Distribution dist, Symbol sym, double times)

      Registers that sym was counted in this state.

      void clearCounts()

      Clears all of the counts to zero.

      double getCount​(Distribution dist, Symbol sym)

      Return the number of counts of a particular symbol which will be used to train the specified distribution.

      double getNullModelWeight()

      Return the number of pseudocounts added to the distribution when training.

      DistributionTrainer getTrainer​(Distribution dist)

      Return the Distribution trainer object from the current context.

      void registerDistribution​(Distribution dist)

      Register a distribution object with this context.

      void registerTrainer​(Distribution dist, DistributionTrainer trainer)

      Register a Distribution and an associated DistributionTrainer object.

      void setNullModelWeight​(double nullModelWeight)

      Set the number of pseudocounts to add when training the distribution.

      void train()

      Trains the Distribution, given a null model.

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SimpleDistributionTrainerContext

        public SimpleDistributionTrainerContext()

        Create a new context with no initial distributions or trainers.

    • Method Detail

      • getNullModelWeight

        public double getNullModelWeight()

        Return the number of pseudocounts added to the distribution when training.

        Specified by:
        getNullModelWeight in interface DistributionTrainerContext
        Returns:
        the null model weight
      • setNullModelWeight

        public void setNullModelWeight​(double nullModelWeight)

        Set the number of pseudocounts to add when training the distribution. These counts are added in proportion to the null model of the distribution being trained.

        Specified by:
        setNullModelWeight in interface DistributionTrainerContext
        Parameters:
        nullModelWeight - the new null model weight
      • registerDistribution

        public void registerDistribution​(Distribution dist)

        Register a distribution object with this context.

        This method is a request to the context to register dist. If dist is already registered then this method should do nothing. If it is not registered, then it should invoke dist.registerWithTrainer

        Specified by:
        registerDistribution in interface DistributionTrainerContext
        Parameters:
        dist - the Distribution to register
      • registerTrainer

        public void registerTrainer​(Distribution dist,
                                    DistributionTrainer trainer)

        Register a Distribution and an associated DistributionTrainer object.

        In the registerWithTrainer method of a Distribution, it should associate itself with a trainer using this method.

        Specified by:
        registerTrainer in interface DistributionTrainerContext
        Parameters:
        dist - the distribution to be registered.
        trainer - the distribution's trainer object to be registered.
      • getTrainer

        public DistributionTrainer getTrainer​(Distribution dist)

        Return the Distribution trainer object from the current context.

        Specified by:
        getTrainer in interface DistributionTrainerContext
        Parameters:
        dist - the Distribution whose trainer is required
        Returns:
        the DistributionTrainer for the distribution
      • addCount

        public void addCount​(Distribution dist,
                             Symbol sym,
                             double times)
                      throws IllegalSymbolException

        Registers that sym was counted in this state.

        This method may be called multiple times with the same symbol. In this case, the times should be summed.

        Specified by:
        addCount in interface DistributionTrainerContext
        Parameters:
        dist - the Distribution that the symbol was associated with
        sym - the Symbol seen
        times - the number of times to add
        Throws:
        IllegalSymbolException - if sym is not recognised by dist
      • getCount

        public double getCount​(Distribution dist,
                               Symbol sym)
                        throws IllegalSymbolException

        Return the number of counts of a particular symbol which will be used to train the specified distribution.

        Specified by:
        getCount in interface DistributionTrainerContext
        Parameters:
        dist - the Distribution to return counts for
        sym - the symbol to get the count for
        Returns:
        the number of counts
        Throws:
        IllegalSymbolException - if the symbol is not accepted by the distribution
      • train

        public void train()
                   throws ChangeVetoException

        Trains the Distribution, given a null model.

        This will use the information collected with multiple addCount calls, and the null model to generate the new weights.

        Specified by:
        train in interface DistributionTrainerContext
        Throws:
        ChangeVetoException - if any of the distributions can't be trained
      • clearCounts

        public void clearCounts()

        Clears all of the counts to zero.

        Specified by:
        clearCounts in interface DistributionTrainerContext