de.jstacs.motifDiscovery
Interface Mutable

All Known Implementing Classes:
MutableMarkovModelScoringFunction, NormalizedScoringFunction, StrandScoringFunction

public interface Mutable

This interface allows to modify a motif model.

Author:
Jan Grau, Jens Keilwagen

Method Summary
 int[] determineNotSignificantPositions(double samples, double[] weightsLeft, double[] weightsRight, double[][][][] contrastLeft, double[][][][] contrastRight, double sign)
          This method determines the number of not significant positions from each side of the motif using the the significance level sign and the contrast distributions of the left or right side, contrastLeft and contrastRight, respectively.
 boolean modify(double[] weightsLeft, double[] weightsRight, double[][][][] replacementLeft, double[][][][] replacementRight, int offsetLeft, int offsetRight)
          Manually modifies the model.
 

Method Detail

determineNotSignificantPositions

int[] determineNotSignificantPositions(double samples,
                                       double[] weightsLeft,
                                       double[] weightsRight,
                                       double[][][][] contrastLeft,
                                       double[][][][] contrastRight,
                                       double sign)
This method determines the number of not significant positions from each side of the motif using the the significance level sign and the contrast distributions of the left or right side, contrastLeft and contrastRight, respectively. The contrast array have four dimensions.
  1. The first is used for the possibility of having different contrast (caused by different flanking models).
  2. The second is used for the order of the contrast.
  3. The third is used for the (encoded) context.
  4. The fourth is used for the the realization of the random variable
For example, if we have only one flanking model which is a homogeneous Markov model of order 0 for a DNAAlphabet, the contrast array has the dimension new double[1][1][1][4]. For the same example but with order 1, the contrast array has the dimension new double[1][1][4][4]. Left and right contrast can have different dimensions.

Parameters:
samples - the summed weights of Sequence containing this motif
weightsLeft - the weights for the left contrast distributions
weightsRight - the weights for the right contrast distributions
contrastLeft - the left contrast distributions
contrastRight - the right contrast distributions
sign - the significance level
Returns:
a two dimensional array containing at position 0 the number of not significant positions from the left side using contrastLeft and at position 1 the number of not significant positions from the right side using contrastRight
See Also:
modify(double[], double[], double[][][][], double[][][][], int, int)

modify

boolean modify(double[] weightsLeft,
               double[] weightsRight,
               double[][][][] replacementLeft,
               double[][][][] replacementRight,
               int offsetLeft,
               int offsetRight)
Manually modifies the model. 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.

Parameters:
weightsLeft - the weights for the left replacement distributions
weightsRight - the weights for the left replacement distributions
replacementLeft - the replacement distribution for the left side
replacementRight - the replacement distribution for the right side
offsetLeft - the offset on the left side
offsetRight - the offset on the right side
Returns:
true if the motif model was modified otherwise false