Interface ScoringMatrix

  • All Known Implementing Classes:
    ScoringMatrixImpl

    public interface ScoringMatrix
    Representation of the scoring matrix of an dp algorithm.
    • Method Detail

      • initialize

        void initialize()
        Initialize the first row and first column to value zero.
      • set

        void set​(int queryIdx,
                 int caseIdx,
                 int stepToSource,
                 double value)
        Set a cell of the matrix to a given value and also provide the direction to the source cell.
        Parameters:
        queryIdx - Index of the query task to set.
        caseIdx - Index of the case task to set.
        stepToSource - Either DIAGONAL, VERTICAL or HORIZONTAL.
        value - The value to set this cell to.
      • set

        void set​(int queryIdx,
                 int caseIdx,
                 MatrixPath.MatrixCellPair source,
                 double value)
        Set a cell of the matrix to a given value and also provide a reference to the source cell.
        Parameters:
        queryIdx - Index of the query task to set.
        caseIdx - Index of the case task to set.
        source - The source cell.
        value - The value to set this cell to.
      • set

        void set​(MatrixPath.MatrixCellPair pair)
        Set a cell of the matrix to the given pair.
        Parameters:
        pair - The new cell entry containing also the indices.
      • get

        double get​(int queryIdx,
                   int caseIdx)
        Get the value of a cell.
        Parameters:
        queryIdx - The query task index.
        caseIdx - The case task index.
        Returns:
        The value at the given position.
      • get

        double get​(MatrixPath.MatrixCellPair pair)
        Get the value of a cell.
        Parameters:
        pair - Specifies the cell's position in the matrix.
        Returns:
        The value at the given position.
      • getPair

        MatrixPath.MatrixCellPair getPair​(int queryIdx,
                                          int caseIdx)
        Get the NESTTaskPair object at the specified position.
        Parameters:
        queryIdx -
        caseIdx -
        Returns:
      • getSourceOf

        MatrixPath.MatrixCellPair getSourceOf​(int queryIdx,
                                              int caseIdx)
        Get the source of a cell.
        Parameters:
        queryIdx - The query task index of the cell.
        caseIdx - The case task index of the dell.
        Returns:
        A pair representing the source cell.
      • getSourceStepOf

        int getSourceStepOf​(int queryIdx,
                            int caseIdx)
        Get the source step of a cell.
        Parameters:
        queryIdx - The query task index of the cell.
        caseIdx - The case task index of the dell.
        Returns:
        Either DIAGONAL, VERTICAL or HORIZONTAL.
      • getHighestScore

        double getHighestScore()
        Get the highest score in the last row of the matrix.
        Returns:
        The score.
      • getStartCell

        MatrixPath.MatrixCellPair getStartCell​(boolean onlyLastRow)
        Get the start cell of the alignment path. Always returns the cell with the highest value in the last row of the matrix.
        Parameters:
        onlyLastRow - Depicts whether only to search in last row of matrix.
        Returns:
        A pair representing the start cell.
      • backtrackFrom

        MatrixPath backtrackFrom​(MatrixPath.MatrixCellPair cell)
        Create the alignment path of this scoring matrix. Backtracks to a cell of value 0 (not included).
        Parameters:
        cell - The cell to start the backtrack from.
        Returns:
        The found path.
      • backtrackFrom

        MatrixPath backtrackFrom​(int queryIdx,
                                 int caseIdx)
        Create the alignment path of this scoring matrix. Backtracks to a cell of value 0 (not included).
        Parameters:
        queryIdx - The query task index of the starting cell.
        caseIdx - The case task index of the starting cell.
        Returns:
        The found path.
      • isInBounds

        boolean isInBounds​(int queryIdx,
                           int caseIdx)
        Whether or not the indices are in bounds.
        Parameters:
        queryIdx -
        caseIdx -
        Returns:
        True, if the indices are in bounds.