Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jstacs.scoringFunctions.mix
Class MixtureScoringFunction

    java.lang.Object
      de.jstacs.scoringFunctions.AbstractNormalizableScoringFunction
          de.jstacs.scoringFunctions.mix.AbstractMixtureScoringFunction
              de.jstacs.scoringFunctions.mix.MixtureScoringFunction

All Implemented Interfaces:
  MotifDiscoverer, MutableMotifDiscoverer, NormalizableScoringFunction, ScoringFunction, Storable, Cloneable

Direct Known Subclasses:
  VariableLengthMixtureScoringFunction

    public class MixtureScoringFunction

extends AbstractMixtureScoringFunction
implements MutableMotifDiscoverer

This class implements a real mixture model.

Author:
  Jens Keilwagen

Nested Class Summary

Nested classes/interfaces inherited from interface de.jstacs.motifDiscovery.MotifDiscoverer
`MotifDiscoverer.KindOfProfile`

Field Summary

Fields inherited from class de.jstacs.scoringFunctions.mix.AbstractMixtureScoringFunction
`componentScore, dList, freeParams, function, hiddenParameter, hiddenPotential, iList, logGammaSum, logHiddenNorm, logHiddenPotential, norm, optimizeHidden, paramRef, partNorm`

Fields inherited from class de.jstacs.scoringFunctions.AbstractNormalizableScoringFunction
`alphabets, length, r`

Fields inherited from interface de.jstacs.scoringFunctions.ScoringFunction
`UNKNOWN`

Constructor Summary
`MixtureScoringFunction(int starts, boolean plugIn, NormalizableScoringFunction... component)` This constructor creates a new `MixtureScoringFunction`.
`MixtureScoringFunction(StringBuffer xml)` This is the constructor for the interface `Storable`.

Method Summary
`void` | `adjustHiddenParameters(int index, Sample[] data, double[][] weights)` Adjusts all hidden parameters including duration and mixture parameters according to the current values of the remaining parameters.
`MixtureScoringFunction` | `clone()` Creates a clone (deep copy) of the current `ScoringFunction` instance.
`protected void` | `fillComponentScores(Sequence seq, int start)` Fills the internal array `AbstractMixtureScoringFunction.componentScore` with the logarithmic scores of the components given a `Sequence`.
`double` | `getEss()` Returns the equivalent sample size (ess) of this model, i.e. the equivalent sample size for the class or component that is represented by this model.
`int` | `getGlobalIndexOfMotifInComponent(int component, int motif)` Returns the global index of the `motif` used in `component`.
`double` | `getHyperparameterForHiddenParameter(int index)` This method returns the hyperparameter for the hidden parameter with index `index`.
`int` | `getIndexOfMaximalComponentFor(Sequence sequence)` Returns the index of the component with the maximal score for the sequence `sequence`.
`String` | `getInstanceName()` Returns a short instance name.
`protected double` | `getLogNormalizationConstantForComponent(int i)` Computes the logarithm of the normalization constant for the component `i`.
`double` | `getLogPartialNormalizationConstant(int parameterIndex)` Returns the logarithm of the partial normalization constant for the parameter with index `parameterIndex`.
`double` | `getLogScoreAndPartialDerivation(Sequence seq, int start, IntList indices, DoubleList partialDer)` Returns the logarithmic score for a `Sequence` beginning at position `start` in the `Sequence` and fills lists with the indices and the partial derivations.
`int` | `getMotifLength(int motif)` This method returns the length of the motif with index `motif` .
`int` | `getNumberOfMotifs()` Returns the number of motifs for this `MotifDiscoverer`.
`int` | `getNumberOfMotifsInComponent(int component)` Returns the number of motifs that are used in the component `component` of this `MotifDiscoverer`.
`double[]` | `getProfileOfScoresFor(int component, int motif, Sequence sequence, int startpos, MotifDiscoverer.KindOfProfile kind)` Returns the profile of the scores for component `component` and motif `motif` at all possible start positions of the motif in the sequence `sequence` beginning at `startpos`.
`double[]` | `getStrandProbabilitiesFor(int component, int motif, Sequence sequence, int startpos)` This method returns the probabilities of the strand orientations for a given subsequence if it is considered as site of the motif model in a specific component.
`void` | `initializeMotif(int motifIndex, Sample data, double[] weights)` This method allows to initialize the model of a motif manually using a weighted sample.
`void` | `initializeMotifRandomly(int motif)` This method initializes the motif with index `motif` randomly using for instance `ScoringFunction.initializeFunctionRandomly(boolean)`.
`protected void` | `initializeUsingPlugIn(int index, boolean freeParams, Sample[] data, double[][] weights)` This method initializes the functions using the data in some way.
`boolean` | `modifyMotif(int motifIndex, int offsetLeft, int offsetRight)` Manually modifies the motif model with index `motifIndex`.
`String` | `toString()`

Methods inherited from class de.jstacs.scoringFunctions.mix.AbstractMixtureScoringFunction
`addGradientOfLogPriorTerm, cloneFunctions, computeHiddenParameter, computeLogGammaSum, determineIsNormalized, extractFurtherInformation, fromXML, getCurrentParameterValues, getFunction, getFunctions, getFurtherInformation, getIndexOfMaximalComponentFor, getIndices, getLogNormalizationConstant, getLogPriorTerm, getLogScore, getNumberOfComponents, getNumberOfParameters, getNumberOfRecommendedStarts, getProbsForComponent, getScoringFunctions, getSizeOfEventSpaceForRandomVariablesOfParameter, getXMLTag, init, initializeFunction, initializeFunctionRandomly, initializeHiddenPotentialRandomly, initializeHiddenUniformly, initWithLength, isInitialized, isNormalized, precomputeNorm, setHiddenParameters, setParameters, setParametersForFunction, toXML`

Methods inherited from class de.jstacs.scoringFunctions.AbstractNormalizableScoringFunction
`getAlphabetContainer, getInitialClassParam, getLength, getLogScore, getLogScoreAndPartialDerivation, getNumberOfStarts, isNormalized`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface de.jstacs.motifDiscovery.MotifDiscoverer
`getNumberOfComponents`

Methods inherited from interface de.jstacs.Storable
`toXML`

Constructor Detail

### MixtureScoringFunction

    public MixtureScoringFunction(int starts,
                                  boolean plugIn,
                                  NormalizableScoringFunction... component)
                           throws CloneNotSupportedException

  This constructor creates a new `MixtureScoringFunction`. The first component determines the length of the sequences that can be modeled.

  Parameters:
    `starts` - the number of starts that should be done in an optimization
    `plugIn` - indicates whether the initial parameters for an optimization should be related to the data or randomly drawn
    `component` - the `ScoringFunction`s
  Throws:
    `CloneNotSupportedException` - if an element of `component` could not be cloned

### MixtureScoringFunction

    public MixtureScoringFunction(StringBuffer xml)
                           throws NonParsableException

  This is the constructor for the interface `Storable`. Creates a new `MixtureScoringFunction` out of a `StringBuffer`.

  Parameters:
    `xml` - the XML representation as `StringBuffer`
  Throws:
    `NonParsableException` - if the XML representation could not be parsed

Method Detail

### clone

    public MixtureScoringFunction clone()
                                 throws CloneNotSupportedException

  Description copied from interface: `ScoringFunction`
  Creates a clone (deep copy) of the current `ScoringFunction` instance.

  Specified by:
    `clone` in interface `MotifDiscoverer`
  Specified by:
    `clone` in interface `ScoringFunction`
  Overrides:
    `clone` in class `AbstractMixtureScoringFunction`
  Returns:
    the cloned instance of the current `ScoringFunction`
  Throws:
    `CloneNotSupportedException` - if something went wrong while cloning the `ScoringFunction`
  See Also:
    `Cloneable`

### getLogNormalizationConstantForComponent

    protected double getLogNormalizationConstantForComponent(int i)

  Description copied from class: `AbstractMixtureScoringFunction`
  Computes the logarithm of the normalization constant for the component `i`.

  Specified by:
    `getLogNormalizationConstantForComponent` in class `AbstractMixtureScoringFunction`
  Parameters:
    `i` - the index of the component
  Returns:
    the logarithm of the normalization constant of the component

### getLogPartialNormalizationConstant

    public double getLogPartialNormalizationConstant(int parameterIndex)
                                              throws Exception

  Description copied from interface: `NormalizableScoringFunction`
  Returns the logarithm of the partial normalization constant for the parameter with index `parameterIndex`. This is the logarithm of the partial derivation of the normalization constant for the parameter with index `parameterIndex`,
  .

  Specified by:
    `getLogPartialNormalizationConstant` in interface `NormalizableScoringFunction`
  Parameters:
    `parameterIndex` - the index of the parameter
  Returns:
    the logarithm of the partial normalization constant
  Throws:
    `Exception` - if something went wrong with the normalization
  See Also:
    `NormalizableScoringFunction.getLogNormalizationConstant()`

### getHyperparameterForHiddenParameter

    public double getHyperparameterForHiddenParameter(int index)

  Description copied from class: `AbstractMixtureScoringFunction`
  This method returns the hyperparameter for the hidden parameter with index `index`.

  Specified by:
    `getHyperparameterForHiddenParameter` in class `AbstractMixtureScoringFunction`
  Parameters:
    `index` - the index of the hidden parameter
  Returns:
    the hyperparameter for the hidden parameter

### getEss

    public double getEss()

  Description copied from interface: `NormalizableScoringFunction`
  Returns the equivalent sample size (ess) of this model, i.e. the equivalent sample size for the class or component that is represented by this model.

  Specified by:
    `getEss` in interface `NormalizableScoringFunction`
  Returns:
    the equivalent sample size.

### initializeUsingPlugIn

    protected void initializeUsingPlugIn(int index,
                                         boolean freeParams,
                                         Sample[] data,
                                         double[][] weights)
                                  throws Exception

  Description copied from class: `AbstractMixtureScoringFunction`
  This method initializes the functions using the data in some way.

  Specified by:
    `initializeUsingPlugIn` in class `AbstractMixtureScoringFunction`
  Parameters:
    `index` - the class index
    `freeParams` - if `true`, the (reduced) parameterization is used``
    `data` - the data
    `weights` - the weights for the data
  Throws:
    `Exception` - if the initialization could not be done
  See Also:
    `ScoringFunction.initializeFunction(int, boolean, Sample[], double[][])`

### adjustHiddenParameters

    public void adjustHiddenParameters(int index,
                                       Sample[] data,
                                       double[][] weights)
                                throws Exception

  Adjusts all hidden parameters including duration and mixture parameters according to the current values of the remaining parameters.

  Specified by:
    `adjustHiddenParameters` in interface `MutableMotifDiscoverer`
  Parameters:
    `index` - the index of the class of this instance
    `data` - the array of data for all classes
    `weights` - the weights for all sequences in data
  Throws:
    `Exception` - thrown if the hidden parameters could not be adjusted

### getInstanceName

    public String getInstanceName()

  Description copied from interface: `ScoringFunction`
  Returns a short instance name.

  Specified by:
    `getInstanceName` in interface `ScoringFunction`
  Returns:
    a short instance name

### fillComponentScores

    protected void fillComponentScores(Sequence seq,
                                       int start)

  Description copied from class: `AbstractMixtureScoringFunction`
  Fills the internal array `AbstractMixtureScoringFunction.componentScore` with the logarithmic scores of the components given a `Sequence`.

  Specified by:
    `fillComponentScores` in class `AbstractMixtureScoringFunction`
  Parameters:
    `seq` - the sequence
    `start` - the start position in `seq`

### getLogScoreAndPartialDerivation

    public double getLogScoreAndPartialDerivation(Sequence seq,
                                                  int start,
                                                  IntList indices,
                                                  DoubleList partialDer)

  Description copied from interface: `ScoringFunction`
  Returns the logarithmic score for a `Sequence` beginning at position `start` in the `Sequence` and fills lists with the indices and the partial derivations.

  Specified by:
    `getLogScoreAndPartialDerivation` in interface `ScoringFunction`
  Parameters:
    `seq` - the `Sequence`
    `start` - the start position in the `Sequence`
    `indices` - an `IntList` of indices, after method invocation the list should contain the indices i where is not zero
    `partialDer` - a `DoubleList` of partial derivations, after method invocation the list should contain the corresponding that are not zero
  Returns:
    the logarithmic score for the `Sequence`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### initializeMotif

    public void initializeMotif(int motifIndex,
                                Sample data,
                                double[] weights)
                         throws Exception

  Description copied from interface: `MutableMotifDiscoverer`
  This method allows to initialize the model of a motif manually using a weighted sample.

  Specified by:
    `initializeMotif` in interface `MutableMotifDiscoverer`
  Parameters:
    `motifIndex` - the index of the motif in the motif discoverer
    `data` - the sample of sequences
    `weights` - either `null` or an array of length `data.getNumberofElements()` with non-negative weights.
  Throws:
    `Exception` - if initialize was not possible

### initializeMotifRandomly

    public void initializeMotifRandomly(int motif)
                                 throws Exception

  Description copied from interface: `MutableMotifDiscoverer`
  This method initializes the motif with index `motif` randomly using for instance `ScoringFunction.initializeFunctionRandomly(boolean)`. Furthermore, if available, it also initializes the positional distribution.

  Specified by:
    `initializeMotifRandomly` in interface `MutableMotifDiscoverer`
  Parameters:
    `motif` - the index of the motif
  Throws:
    `Exception` - either if the index is wrong or if it is thrown by the method `ScoringFunction.initializeFunctionRandomly(boolean)`

### modifyMotif

    public boolean modifyMotif(int motifIndex,
                               int offsetLeft,
                               int offsetRight)
                        throws Exception

  Description copied from interface: `MutableMotifDiscoverer`
  Manually modifies the motif model with index `motifIndex`. The two offsets `offsetLeft` and `offsetRight` define how many positions the left or right border positions shall be moved. Negative numbers indicate moves to the left while positive numbers correspond to moves to the right. The distribution for sequences to the left and right side of the motif shall be computed internally.

  Specified by:
    `modifyMotif` in interface `MutableMotifDiscoverer`
  Parameters:
    `motifIndex` - the index of the motif in the motif discoverer
    `offsetLeft` - the offset on the left side
    `offsetRight` - the offset on the right side
  Returns:
    `true` if the motif model was modified otherwise `false`
  Throws:
    `Exception` - if some unexpected error occurred during the modification
  See Also:
    `MutableMotifDiscoverer.modifyMotif(int, int, int)`, `Mutable.modify(int, int)`

### getGlobalIndexOfMotifInComponent

    public int getGlobalIndexOfMotifInComponent(int component,
                                                int motif)

  Description copied from interface: `MotifDiscoverer`
  Returns the global index of the `motif` used in `component`. The index returned must be at least 0 and less than `MotifDiscoverer.getNumberOfMotifs()`.

  Specified by:
    `getGlobalIndexOfMotifInComponent` in interface `MotifDiscoverer`
  Parameters:
    `component` - the component index
    `motif` - the motif index in the component
  Returns:
    the global index of the `motif`in `component```

### getIndexOfMaximalComponentFor

    public int getIndexOfMaximalComponentFor(Sequence sequence)
                                      throws Exception

  Description copied from interface: `MotifDiscoverer`
  Returns the index of the component with the maximal score for the sequence `sequence`.

  Specified by:
    `getIndexOfMaximalComponentFor` in interface `MotifDiscoverer`
  Parameters:
    `sequence` - the given sequence
  Returns:
    the index of the component with the maximal score for the given sequence
  Throws:
    `Exception` - if the index could not be computed for any reasons

### getMotifLength

    public int getMotifLength(int motif)

  Description copied from interface: `MotifDiscoverer`
  This method returns the length of the motif with index `motif` .

  Specified by:
    `getMotifLength` in interface `MotifDiscoverer`
  Parameters:
    `motif` - the index of the motif
  Returns:
    the length of the motif with index `motif`

### getNumberOfMotifs

    public int getNumberOfMotifs()

  Description copied from interface: `MotifDiscoverer`
  Returns the number of motifs for this `MotifDiscoverer`.

  Specified by:
    `getNumberOfMotifs` in interface `MotifDiscoverer`
  Returns:
    the number of motifs

### getNumberOfMotifsInComponent

    public int getNumberOfMotifsInComponent(int component)

  Description copied from interface: `MotifDiscoverer`
  Returns the number of motifs that are used in the component `component` of this `MotifDiscoverer`.

  Specified by:
    `getNumberOfMotifsInComponent` in interface `MotifDiscoverer`
  Parameters:
    `component` - the component of the `MotifDiscoverer`
  Returns:
    the number of motifs

### getProfileOfScoresFor

    public double[] getProfileOfScoresFor(int component,
                                          int motif,
                                          Sequence sequence,
                                          int startpos,
                                          MotifDiscoverer.KindOfProfile kind)
                                   throws Exception

  Description copied from interface: `MotifDiscoverer`
  Returns the profile of the scores for component `component` and motif `motif` at all possible start positions of the motif in the sequence `sequence` beginning at `startpos`. This array should be of length
  `sequence.length() - startpos - motifs[motif].length() + 1`.
  A high score should encode for a probable start position.

  Specified by:
    `getProfileOfScoresFor` in interface `MotifDiscoverer`
  Parameters:
    `component` - the component index
    `motif` - the index of the motif in the component
    `sequence` - the given sequence
    `startpos` - the start position in the sequence
    `kind` - indicates the kind of profile
  Returns:
    the profile of scores
  Throws:
    `Exception` - if the score could not be computed for any reasons

### getStrandProbabilitiesFor

    public double[] getStrandProbabilitiesFor(int component,
                                              int motif,
                                              Sequence sequence,
                                              int startpos)
                                       throws Exception

  Description copied from interface: `MotifDiscoverer`
  This method returns the probabilities of the strand orientations for a given subsequence if it is considered as site of the motif model in a specific component.

  Specified by:
    `getStrandProbabilitiesFor` in interface `MotifDiscoverer`
  Parameters:
    `component` - the component index
    `motif` - the index of the motif in the component
    `sequence` - the given sequence
    `startpos` - the start position in the sequence
  Returns:
    the probabilities of the strand orientations
  Throws:
    `Exception` - if the strand could not be computed for any reasons

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD