Class AbstractMatrixAligner<S extends Sequence<C>,​C extends Compound>

    • Field Detail

      • cutsPerSection

        protected int cutsPerSection
      • xyStart

        protected int[] xyStart
        Start position of the aligned sequence in the query and target respectively
      • xyMax

        protected int[] xyMax
        End position of the aligned sequence in the query and target respectively
      • max

        protected int max
      • min

        protected int min
      • score

        protected int score
      • scores

        protected int[][][] scores
        Dynamic programming score matrix The first dimension has the length of the first (query) sequence + 1 The second has the length of the second (target) sequence + 1 The third has length 1 for linear gap penalty and 3 for affine/constant gap (one each for match/substitution, deletion, insertion)
      • time

        protected long time
    • Constructor Detail

      • AbstractMatrixAligner

        protected AbstractMatrixAligner​(GapPenalty gapPenalty,
                                        SubstitutionMatrix<C> subMatrix)
        Prepares for an alignment.
        Parameters:
        gapPenalty - the gap penalties used during alignment
        subMatrix - the set of substitution scores used during alignment
      • AbstractMatrixAligner

        protected AbstractMatrixAligner​(GapPenalty gapPenalty,
                                        SubstitutionMatrix<C> subMatrix,
                                        boolean local)
        Prepares for an alignment.
        Parameters:
        gapPenalty - the gap penalties used during alignment
        subMatrix - the set of substitution scores used during alignment
        local - if true, find a region of similarity rather than aligning every compound
    • Method Detail

      • getGapPenalty

        public GapPenalty getGapPenalty()
        Returns the gap penalties.
        Returns:
        the gap penalties used during alignment
      • getSubstitutionMatrix

        public SubstitutionMatrix<C> getSubstitutionMatrix()
        Returns the substitution matrix.
        Returns:
        the set of substitution scores used during alignment
      • isLocal

        public boolean isLocal()
        Returns whether alignment finds a region of similarity rather than aligning every compound.
        Returns:
        true if alignment finds a region of similarity rather than aligning every compound
      • isStoringScoreMatrix

        public boolean isStoringScoreMatrix()
        Returns choice to cache the score matrix or to save memory by deleting score matrix after alignment.
        Returns:
        choice to cache the score matrix
      • setGapPenalty

        public void setGapPenalty​(GapPenalty gapPenalty)
        Sets the gap penalties.
        Parameters:
        gapPenalty - the gap penalties used during alignment
      • setSubstitutionMatrix

        public void setSubstitutionMatrix​(SubstitutionMatrix<C> subMatrix)
        Sets the substitution matrix.
        Parameters:
        subMatrix - the set of substitution scores used during alignment
      • setStoringScoreMatrix

        public void setStoringScoreMatrix​(boolean storingScoreMatrix)
        Sets choice to cache the score matrix or to save memory by deleting score matrix after alignment.
        Parameters:
        storingScoreMatrix - choice to cache the score matrix
      • getScoreMatrix

        public int[][][] getScoreMatrix()
        Description copied from interface: MatrixAligner
        Returns the entire score matrix built during alignment. The first dimension has the length of the first (query) sequence + 1; the second has the length of the second (target) sequence + 1; the third has length equal to the number of scores stored per pairing of an element from each Sequence.
        Specified by:
        getScoreMatrix in interface MatrixAligner<S extends Sequence<C>,​C extends Compound>
        Returns:
        the score matrix
      • getScoreMatrixAsString

        public java.lang.String getScoreMatrixAsString()
        Description copied from interface: MatrixAligner
        Returns a depiction of the score matrix as a String. This may include additional description such as labels for each dimension: element from query sequence, element from target sequence, and meaning of each score.
        Specified by:
        getScoreMatrixAsString in interface MatrixAligner<S extends Sequence<C>,​C extends Compound>
        Returns:
        the score matrix as a character sequence
      • getComputationTime

        public long getComputationTime()
        Description copied from interface: Aligner
        Returns the computation time needed for an alignment computed in nanoseconds.
        Specified by:
        getComputationTime in interface Aligner<S extends Sequence<C>,​C extends Compound>
        Returns:
        the computation time in nanoseconds
      • getMaxScore

        public double getMaxScore()
        Description copied from interface: Scorer
        Returns maximum possible score.
        Specified by:
        getMaxScore in interface Scorer
        Returns:
        maximum possible score
      • getMinScore

        public double getMinScore()
        Description copied from interface: Scorer
        Returns minimum possible score.
        Specified by:
        getMinScore in interface Scorer
        Returns:
        minimum possible score
      • align

        protected void align()
        Performs alignment
      • getSubstitutionScoreVector

        protected int[] getSubstitutionScoreVector​(int queryColumn)
        Returns score for the alignment of the query column to all target columns
        Parameters:
        queryColumn -
        Returns:
      • getSubstitutionScoreVector

        protected int[] getSubstitutionScoreVector​(int queryColumn,
                                                   AlignerHelper.Subproblem subproblem)
        Returns score for the alignment of the query column to all target columns
        Parameters:
        queryColumn -
        subproblem -
        Returns:
      • reset

        protected void reset()
        Resets output fields; should be overridden to set max and min
      • getCompoundSet

        protected abstract CompoundSet<C> getCompoundSet()
      • getCompoundsOfQuery

        protected abstract java.util.List<C> getCompoundsOfQuery()
      • getCompoundsOfTarget

        protected abstract java.util.List<C> getCompoundsOfTarget()
      • getScoreMatrixDimensions

        protected abstract int[] getScoreMatrixDimensions()
      • getSubstitutionScore

        protected abstract int getSubstitutionScore​(int queryColumn,
                                                    int targetColumn)
      • isReady

        protected abstract boolean isReady()