Class CECalculator


  • public class CECalculator
    extends java.lang.Object
    This is based on the original Combinatorial Extension (CE) source code from 2003 or 2004 (CE version 2.3), as has been originally developed by I. Shindyalov and P.Bourne (1998). The original CE paper is available from here: http://peds.oxfordjournals.org/cgi/content/short/11/9/739. This class is a pretty much exact 1:1 port from C, where I cared about exact reproduce of the CE results and not about Java style.
    Author:
    Andreas Prlic
    • Field Detail

      • mat

        protected double[][] mat
      • bestTrace1

        protected int[] bestTrace1
      • bestTrace2

        protected int[] bestTrace2
      • bestTraces1

        protected int[][] bestTraces1
      • bestTraces2

        protected int[][] bestTraces2
      • nBestTrace

        protected int nBestTrace
      • nBestTraces

        protected int nBestTraces
      • bestTracesN

        protected int[] bestTracesN
      • bestTraceScore

        protected double bestTraceScore
      • nTrace

        protected int nTrace
      • bestTracesScores

        protected double[] bestTracesScores
      • trace1

        protected int[] trace1
      • trace2

        protected int[] trace2
      • nTraces

        protected int nTraces
    • Constructor Detail

      • CECalculator

        public CECalculator​(CeParameters params)
    • Method Detail

      • initSumOfDistances

        public double[][] initSumOfDistances​(int nse1,
                                             int nse2,
                                             int winSize,
                                             int winSizeComb1,
                                             Atom[] ca1,
                                             Atom[] ca2)
      • traceFragmentMatrix

        public void traceFragmentMatrix​(AFPChain afpChain,
                                        Atom[] ca1,
                                        Atom[] ca2)
      • getScore2

        protected double getScore2​(int jse1,
                                   int jse2,
                                   double[][] traceScore,
                                   int traceIndex_,
                                   int[] traceIndex,
                                   int winSizeComb1,
                                   int winSizeComb2,
                                   double score0,
                                   double score1)
      • doIter0

        protected int doIter0​(int newBestTrace,
                              double traceTotalScore,
                              double bestTracesMax)
      • getScoreFromDistanceMatrices

        protected double getScoreFromDistanceMatrices​(int mse1,
                                                      int mse2,
                                                      int winSize)
      • updateMatrixWithSequenceConservation

        public static double[][] updateMatrixWithSequenceConservation​(double[][] max,
                                                                      Atom[] ca1,
                                                                      Atom[] ca2,
                                                                      CeParameters params)
        Modifies an alignment matrix by favoring the alignment of similar and identical amino acids and penalizing the alignment of unrelated ones.
        Parameters:
        max - alignment matrix
        ca1 - Atoms for protein 1
        ca2 - Atoms for Protein 2
        params - alignment parameters
        Returns:
        modified alignment matrix
      • addMatrixListener

        public void addMatrixListener​(MatrixListener li)
      • calc_rmsd

        public double calc_rmsd​(Atom[] pro1,
                                Atom[] pro2,
                                int strLen,
                                boolean storeTransform)
                         throws StructureException
        superimpose and get rmsd
        Parameters:
        pro1 -
        pro2 -
        strLen - Number of atoms from pro1 and pro2 to use
        storeTransform - Store rotation and shift matrices locally
        Returns:
        RMSD
        Throws:
        StructureException
      • zStrAlign

        protected double zStrAlign​(int winSize,
                                   int nTrace,
                                   double score,
                                   int nGaps)
      • convertAfpChain

        public void convertAfpChain​(AFPChain afpChain,
                                    Atom[] ca1,
                                    Atom[] ca2)
        copy data from this class into AFPChain container object.
        Parameters:
        afpChain -
        ca1 -
        ca2 -
      • getnAtom

        public int getnAtom()
      • setnAtom

        public void setnAtom​(int nAtom)
      • getLcmp

        public int getLcmp()
      • setLcmp

        public void setLcmp​(int lcmp)
      • getAlign_se1

        public int[] getAlign_se1()
      • setAlign_se1

        public void setAlign_se1​(int[] alignSe1)
      • getAlign_se2

        public int[] getAlign_se2()
      • setAlign_se2

        public void setAlign_se2​(int[] alignSe2)
      • getMatMatrix

        public double[][] getMatMatrix()
        Caution: this matrix is overwriten with very different data at several points in the alignment algorithm. After initSumOfDistances is run, this will hold the distance matrix between AFPs.
        Returns:
        mat
      • setMatMatrix

        public void setMatMatrix​(double[][] matrix)
      • getRotationMatrix

        public Matrix getRotationMatrix()
        Gets the rotation matrix from the last call to calc_rmsd.
        Returns:
        The rotatiokn matrix
      • getShift

        public Atom getShift()
        Gets the shift from the last call to calc_rmsd.
        Returns:
        The shift
      • getDist1

        public double[][] getDist1()
      • setDist1

        public void setDist1​(double[][] dist1)
      • getDist2

        public double[][] getDist2()
      • setDist2

        public void setDist2​(double[][] dist2)