|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.jstacs.scoringFunctions.AbstractNormalizableScoringFunction
de.jstacs.scoringFunctions.VariableLengthScoringFunction
de.jstacs.scoringFunctions.homogeneous.HomogeneousScoringFunction
de.jstacs.scoringFunctions.homogeneous.HMM0ScoringFunction
public class HMM0ScoringFunction
This scoring function implements a homogeneous Markov model of order zero (hMM(0)) for a fixed sequence length.
| Field Summary |
|---|
| Fields inherited from class de.jstacs.scoringFunctions.AbstractNormalizableScoringFunction |
|---|
alphabets, length, r |
| Fields inherited from interface de.jstacs.scoringFunctions.ScoringFunction |
|---|
UNKNOWN |
| Constructor Summary | |
|---|---|
HMM0ScoringFunction(AlphabetContainer alphabets,
int length,
double ess,
boolean plugIn,
boolean optimize)
The main constructor that creates an instance of a homogeneous Markov model of order 0. |
|
HMM0ScoringFunction(StringBuffer xml)
This is the constructor for Storable. |
|
| Method Summary | |
|---|---|
void |
addGradientOfLogPriorTerm(double[] grad,
int start)
This method computes the gradient of getLogPriorTerm() for each parameter of this model. |
HMM0ScoringFunction |
clone()
Creates a clone (deep copy) of the current ScoringFunction instance. |
protected void |
fromXML(StringBuffer xml)
This method is called in the constructor to create a scoring function from a StringBuffer |
double[][][] |
getAllConditionalStationaryDistributions()
This method returns the all stationary conditional distribution. |
double[] |
getCurrentParameterValues()
Returns a double array of dimension getNumberOfParameters() containing the current parameter
values. |
double |
getEss()
Returns the equivalent sample size of this model, i.e. the equivalent sample size for the class or component that is represented by this model. |
String |
getInstanceName()
Returns a short instance name. |
double |
getLogPriorTerm()
This method computes a value that is proportional to getESS()*Math.log( getNormalizationConstant() ) + Math.log( prior ). |
double |
getLogScore(Sequence seq,
int start,
int length)
This method computes the logarithm of the score for a given subsequence. |
double |
getLogScoreAndPartialDerivation(Sequence seq,
int start,
int length,
IntList indices,
DoubleList dList)
This method computes the logarithm of the score and the partial derivations for a given subsequence. |
int |
getMaximalMarkovOrder()
Returns the maximal used markov oder. |
double |
getNormalizationConstant(int length)
This method returns the normalization constant for a given sequence length. |
int |
getNumberOfParameters()
The number of parameters in this scoring function. |
double |
getPartialNormalizationConstant(int parameterIndex,
int length)
This method returns the partial normalization constant for a given parameter index and sequence length. |
int |
getSizeOfEventSpaceForRandomVariablesOfParameter(int index)
Returns the size of the event space of the random variables that are affected by parameter no. |
void |
initializeFunction(int index,
boolean freeParams,
Sample[] data,
double[][] weights)
This method creates the underlying structure of the scoring function. |
void |
initializeFunctionRandomly(boolean freeParams)
This method initializes the scoring function randomly. |
boolean |
isInitialized()
This method can be used to determine whether the model is initialized. |
void |
setParameters(double[] params,
int start)
This method sets the internal parameters to the values of params between start and
start + this.getNumberOfParameters() - 1 |
void |
setStatisticForHyperparameters(int[] length,
double[] weight)
This method sets the hyperparameters for the model parameters by evaluating the given statistic. |
String |
toString()
|
StringBuffer |
toXML()
This method returns an XML-representation of an instance of the implementing class. |
| Methods inherited from class de.jstacs.scoringFunctions.VariableLengthScoringFunction |
|---|
getLogScore, getLogScoreAndPartialDerivation, getNormalizationConstant, getPartialNormalizationConstant |
| Methods inherited from class de.jstacs.scoringFunctions.AbstractNormalizableScoringFunction |
|---|
getAlphabetContainer, getInitialClassParam, getLength, getLogScore, getLogScoreAndPartialDerivation, getNumberOfRecommendedStarts, isNormalized, isNormalized |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public HMM0ScoringFunction(AlphabetContainer alphabets,
int length,
double ess,
boolean plugIn,
boolean optimize)
alphabets - the AlphabetContainer of the modellength - the length of sequences respectively the modeless - the equivalent sample size (ess)plugIn - whether to use a plug-in strategy to initialize the parametersoptimize - whether to optimize the parameters or not after they have been initialized
public HMM0ScoringFunction(StringBuffer xml)
throws NonParsableException
Storable.
xml - the xml representation
NonParsableException - if the representation could not be parsed.| Method Detail |
|---|
public HMM0ScoringFunction clone()
throws CloneNotSupportedException
ScoringFunctionScoringFunction instance.
clone in interface ScoringFunctionclone in class AbstractNormalizableScoringFunctionCloneNotSupportedExceptionpublic String getInstanceName()
ScoringFunction
public double getLogScore(Sequence seq,
int start,
int length)
VariableLengthScoringFunction
getLogScore in class VariableLengthScoringFunctionseq - the sequencestart - the start indexlength - the end index
ScoringFunction.getLogScore(Sequence, int)
public double getLogScoreAndPartialDerivation(Sequence seq,
int start,
int length,
IntList indices,
DoubleList dList)
VariableLengthScoringFunction
getLogScoreAndPartialDerivation in class VariableLengthScoringFunctionseq - the sequencestart - the start indexlength - the end indexindices - the list for the indices of the parametersdList - the list for the partial derivations
ScoringFunction.getLogScoreAndPartialDerivation(Sequence, int, IntList,
DoubleList)public int getNumberOfParameters()
ScoringFunctionUNKNOWN.
ScoringFunction.UNKNOWN
public void setParameters(double[] params,
int start)
ScoringFunctionparams between start and
start + this.getNumberOfParameters() - 1
params - the parametersstart - the start indexpublic StringBuffer toXML()
Storable
public double[] getCurrentParameterValues()
ScoringFunctiongetNumberOfParameters() containing the current parameter
values. If on e likes to use these parameters to start an optimization it is highly recommended to invoke
ScoringFunction.initializeFunction(int, boolean, Sample[], double[][]) before. After an optimization
this method can be used to get the current parameter values.
public double[][][] getAllConditionalStationaryDistributions()
VariableLengthScoringFunctionde.jstacs.motifDiscovery.Mutable#expand(int, double[], double[], double),
de.jstacs.motifDiscovery.Mutable#shift(double[], double[], double),
and
de.jstacs.motifDiscovery.Mutable#shrink(double[], double[], double)
.
getAllConditionalStationaryDistributions in class VariableLengthScoringFunctionMutable
public void initializeFunction(int index,
boolean freeParams,
Sample[] data,
double[][] weights)
ScoringFunction
index - the index of the class the scoring function modelsfreeParams - if true, the (reduced) parameterization is useddata - the samplesweights - the weights of the sequences in the samplespublic void initializeFunctionRandomly(boolean freeParams)
ScoringFunction
freeParams - if true, the (reduced) parameterization is used
protected void fromXML(StringBuffer xml)
throws NonParsableException
AbstractNormalizableScoringFunction
fromXML in class AbstractNormalizableScoringFunctionxml - the XML representation
NonParsableException - if the StringBuffer could not be parsed.public int getSizeOfEventSpaceForRandomVariablesOfParameter(int index)
NormalizableScoringFunctionindex,
i.e. the product of the sizes of the alphabets at the position of each random variable affected by parameter
index. For DNA-alphabets this corresponds to 4 for a PWM, 16 for a WAM except position 0, ...
index - the index of the parameter
public double getNormalizationConstant(int length)
VariableLengthScoringFunction
getNormalizationConstant in class VariableLengthScoringFunctionlength - the sequence length
NormalizableScoringFunction.getNormalizationConstant()
public double getPartialNormalizationConstant(int parameterIndex,
int length)
throws Exception
VariableLengthScoringFunction
getPartialNormalizationConstant in class VariableLengthScoringFunctionparameterIndex - the index of the parameterlength - the sequence length
Exception - if something went wrongNormalizableScoringFunction.getPartialNormalizationConstant(int)public double getEss()
NormalizableScoringFunction
public String toString()
toString in class Objectpublic double getLogPriorTerm()
NormalizableScoringFunction
getESS()*Math.log( getNormalizationConstant() ) + Math.log( prior ).
prior is the prior for the parameters of this model.
- Returns:
getESS()*Math.log( getNormalizationConstant() ) + Math.log( prior )- See Also:
NormalizableScoringFunction.getEss(),
NormalizableScoringFunction.getNormalizationConstant()
public void addGradientOfLogPriorTerm(double[] grad,
int start)
NormalizableScoringFunctiongetLogPriorTerm() for each parameter of this model. The
results are added to the array grad beginning at index start.
grad - the gradientstart - the start index in the grad array, where the partial derivations for the parameters of
this models shall be enterNormalizableScoringFunction.getLogPriorTerm()public boolean isInitialized()
ScoringFunctionScoringFunction.initializeFunction(int, boolean, Sample[], double[][]).
true if the model is initializedpublic int getMaximalMarkovOrder()
HomogeneousScoringFunction
getMaximalMarkovOrder in class HomogeneousScoringFunction
public void setStatisticForHyperparameters(int[] length,
double[] weight)
throws Exception
VariableLengthScoringFunctionlength) and how often (weight) they have been seen.
setStatisticForHyperparameters in class VariableLengthScoringFunctionlength - the non-negative lengths of the sequencesweight - the non-negative weight for the corresponding sequence
Exception - if something went wrongMutable
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||