Class AFPChain

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class AFPChain
    extends java.lang.Object
    implements java.io.Serializable, java.lang.Cloneable
    A bean to contain the core of a structure alignment. The FatCat aligner class is working on the AFPChain class.
    Author:
    Andreas Prlic, Aleix Lafita
    See Also:
    Serialized Form
    • Field Detail

      • newline

        public static final java.lang.String newline
      • UNKNOWN_ALGORITHM

        public static final java.lang.String UNKNOWN_ALGORITHM
        See Also:
        Constant Field Values
    • Constructor Detail

      • AFPChain

        public AFPChain​(java.lang.String algorithmName)
        Construction of an AFPChain needs the algorithm name, since downstream analysis methods (scores, display, etc) behave differently if the alignment is flexible (created with FatCat).
        Parameters:
        algorithmName -
      • AFPChain

        @Deprecated
        public AFPChain()
        Deprecated.
        Use the constructor with the algorithmName (design condition).
        See Also:
        AFPChain(String)
      • AFPChain

        public AFPChain​(AFPChain o)
        Copy constructor
        Parameters:
        o - AFPChain to duplicate
    • Method Detail

      • clone

        public java.lang.Object clone()
        Creates and returns a copy of this object.
        Overrides:
        clone in class java.lang.Object
      • getId

        public long getId()
      • setId

        public void setId​(long id)
      • toCE

        public java.lang.String toCE​(Atom[] ca1,
                                     Atom[] ca2)
      • toRotMat

        public java.lang.String toRotMat()
      • toFatcat

        public java.lang.String toFatcat​(Atom[] ca1,
                                         Atom[] ca2)
      • toDBSearchResult

        public java.lang.String toDBSearchResult()
      • calcSimilarity

        protected void calcSimilarity()
      • getNrEQR

        public int getNrEQR()
        Get the number of structurally equivalent residues
        Returns:
        nr of EQR
      • getCoverage1

        public int getCoverage1()
        Get the coverage of protein 1 with the alignment
        Returns:
        percentage of coverage, between 0 and 100.
      • getCoverage2

        public int getCoverage2()
        Get the coverage of protein 2 with the alignment
        Returns:
        percentage of coverage, between 0 and 100.
      • getSimilarity1

        @Deprecated
        public int getSimilarity1()
        Deprecated.
        use getCoverage1() instead
        get the coverage of protein 1 with the alignment
        Returns:
        percentage of coverage, between 0 and 100.
      • getSimilarity2

        @Deprecated
        public int getSimilarity2()
        Deprecated.
        use getCoverage2() instead
        get the coverage of protein 2 with the alignment
        Returns:
        percentage of coverage, between 0 and 100.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isSignificantResult

        public boolean isSignificantResult()
      • getPdbAln

        public java.lang.String[][][] getPdbAln()
        used temporarily during XML serialization to track the PDB positions of the alignmnet
        Returns:
        String array
      • setPdbAln

        public void setPdbAln​(java.lang.String[][][] pdbAln)
      • getConn

        public java.lang.Double getConn()
      • setConn

        public void setConn​(java.lang.Double conn)
      • getDVar

        public java.lang.Double getDVar()
      • setDVar

        public void setDVar​(java.lang.Double dvar)
      • getMaxTra

        public int getMaxTra()
        get the maximum nr of Twists that are allowed...
        Returns:
        maxTra, the max nr of twists
      • setMaxTra

        public void setMaxTra​(int maxTra)
        Set the maximum number of Twists that are allowed...
        Parameters:
        maxTra -
      • getAlignScore

        public double getAlignScore()
      • setAlignScore

        public void setAlignScore​(double alignScore)
      • getAlignScoreUpdate

        public double getAlignScoreUpdate()
      • setAlignScoreUpdate

        public void setAlignScoreUpdate​(double alignScoreUpdate)
      • getAfpChainTwiNum

        public int getAfpChainTwiNum()
      • setAfpChainTwiNum

        public void setAfpChainTwiNum​(int afpChainTwiNum)
      • getMinLen

        public int getMinLen()
      • setMinLen

        public void setMinLen​(int minLen)
      • getAfpSet

        public java.util.List<AFP> getAfpSet()
        Get the set of AFPs for this alignment. An AFP is a local ungapped alignment between the two peptides. AFPs are set before the final optimization step. To get the final alignment, look at the aligned pairs from getOptAln().
        Returns:
        The optimal set of AFPs
        See Also:
        getOptAln()
      • setAfpSet

        public void setAfpSet​(java.util.List<AFP> afpSet)
        Set the set of AFPs for this alignment. An AFP is a local ungapped alignment between the two peptides. AFPs are set before the final optimization step. To get the final alignment, look at the aligned pairs from getOptAln().
      • getAfpIndex

        public int[][] getAfpIndex()
      • setAfpIndex

        public void setAfpIndex​(int[][] afpIndex)
      • getAfpAftIndex

        public int[][] getAfpAftIndex()
      • setAfpAftIndex

        public void setAfpAftIndex​(int[][] afpAftIndex)
      • getAfpBefIndex

        public int[][] getAfpBefIndex()
      • setAfpBefIndex

        public void setAfpBefIndex​(int[][] afpBefIndex)
      • getDisTable1

        public Matrix getDisTable1()
      • setDisTable1

        public void setDisTable1​(Matrix disTable1)
      • getDisTable2

        public Matrix getDisTable2()
      • setDisTable2

        public void setDisTable2​(Matrix disTable2)
      • getTwi

        public int[] getTwi()
      • setTwi

        public void setTwi​(int[] twi)
      • getAfpChainLen

        public int getAfpChainLen()
      • setAfpChainLen

        public void setAfpChainLen​(int afpChainLen)
      • getAfpChainList

        public int[] getAfpChainList()
      • setAfpChainList

        public void setAfpChainList​(int[] afpChainList)
      • getAfpChainTwiBin

        public double[] getAfpChainTwiBin()
      • setAfpChainTwiBin

        public void setAfpChainTwiBin​(double[] afpChainTwiBin)
      • getAfpChainTwiList

        public double[] getAfpChainTwiList()
      • setAfpChainTwiList

        public void setAfpChainTwiList​(double[] afpChainTwiList)
      • getChainRmsd

        public double getChainRmsd()
      • setChainRmsd

        public void setChainRmsd​(double chainRmsd)
        The RMSD of the chain of AFPs. Set during AFPCHainer.traceBack();
        Parameters:
        chainRmsd -
      • getChainLen

        public int getChainLen()
      • setChainLen

        public void setChainLen​(int chainLen)
      • getMisLen

        public int getMisLen()
      • setMisLen

        public void setMisLen​(int misLen)
      • getGapLen

        public int getGapLen()
      • setGapLen

        public void setGapLen​(int gapLen)
      • getBlockNum

        public int getBlockNum()
        The number of blocks in the alignment
        Returns:
        the nr of blocks in alignment
      • setBlockNum

        public void setBlockNum​(int blockNum)
      • getBlockNumIni

        public int getBlockNumIni()
      • setBlockNumIni

        public void setBlockNumIni​(int blockNumIni)
      • getBlockNumClu

        public int getBlockNumClu()
      • setBlockNumClu

        public void setBlockNumClu​(int blockNumClu)
      • getBlockNumSpt

        public int getBlockNumSpt()
      • setBlockNumSpt

        public void setBlockNumSpt​(int blockNumSpt)
      • getBlockRmsd

        public double[] getBlockRmsd()
      • setBlockRmsd

        public void setBlockRmsd​(double[] blockRmsd)
      • getBlock2Afp

        public int[] getBlock2Afp()
      • setBlock2Afp

        public void setBlock2Afp​(int[] block2Afp)
      • getBlockSize

        public int[] getBlockSize()
      • setBlockSize

        public void setBlockSize​(int[] blockSize)
      • getBlockScore

        public double[] getBlockScore()
      • setBlockScore

        public void setBlockScore​(double[] blockScore)
      • getBlockGap

        public int[] getBlockGap()
      • setBlockGap

        public void setBlockGap​(int[] blockGap)
      • getBlockResSize

        public int[] getBlockResSize()
      • setBlockResSize

        public void setBlockResSize​(int[] blockResSize)
      • getBlockResList

        public int[][][] getBlockResList()
        tracks the residues of the initial blocks (before optimization)
        Returns:
        list of block residues
      • setBlockResList

        public void setBlockResList​(int[][][] blockResList)
      • getFocusResn

        public int getFocusResn()
      • setFocusResn

        public void setFocusResn​(int focusResn)
      • getFocusRes1

        public int[] getFocusRes1()
      • setFocusRes1

        public void setFocusRes1​(int[] focusRes1)
      • getFocusRes2

        public int[] getFocusRes2()
      • setFocusRes2

        public void setFocusRes2​(int[] focusRes2)
      • getFocusAfpn

        public int getFocusAfpn()
      • setFocusAfpn

        public void setFocusAfpn​(int focusAfpn)
      • getFocusAfpList

        public int[] getFocusAfpList()
      • setFocusAfpList

        public void setFocusAfpList​(int[] focusAfpList)
      • isShortAlign

        public boolean isShortAlign()
      • setShortAlign

        public void setShortAlign​(boolean shortAlign)
      • getOptAln

        public int[][][] getOptAln()
        Tracks the Atom positions in the optimal alignment. Note: only considers the equivalent positions, gaps are ignored... first dimension is the block nr second dimension is 0 or 1 (the alignment chain index) third is the position
        Returns:
        int array
      • setOptAln

        public void setOptAln​(int[][][] optAln)
      • getOptLen

        public int[] getOptLen()
        The length of each block
        Returns:
        lengths
      • setOptLen

        public void setOptLen​(int[] optLen)
      • getOptRmsd

        public double[] getOptRmsd()
      • setOptRmsd

        public void setOptRmsd​(double[] optRmsd)
      • getOptLength

        public int getOptLength()
      • setOptLength

        public void setOptLength​(int optLength)
        The length of the optimal alignment. Set by AFPOptimizer.optimizeAln(). This should be the sum of the elements in optLen
        Parameters:
        optLength -
      • getAlnsymb

        public char[] getAlnsymb()
      • setAlnsymb

        public void setAlnsymb​(char[] alnsymb)
      • getAlnseq1

        public char[] getAlnseq1()
      • setAlnseq1

        public void setAlnseq1​(char[] alnseq1)
      • getAlnseq2

        public char[] getAlnseq2()
      • setAlnseq2

        public void setAlnseq2​(char[] alnseq2)
      • getAlnLength

        public int getAlnLength()
        Returns:
        The total length of the alignment, including gaps
      • setAlnLength

        public void setAlnLength​(int alnLength)
      • getAlnbeg1

        public int getAlnbeg1()
        Returns:
        The index of the first aligned residue in protein 1
      • setAlnbeg1

        public void setAlnbeg1​(int alnbeg1)
      • getAlnbeg2

        public int getAlnbeg2()
        Returns:
        The index of the first aligned residue in protein 2
      • setAlnbeg2

        public void setAlnbeg2​(int alnbeg2)
      • getTotalLenIni

        public int getTotalLenIni()
      • setTotalLenIni

        public void setTotalLenIni​(int totalLenIni)
      • getTotalLenOpt

        public int getTotalLenOpt()
      • setTotalLenOpt

        public void setTotalLenOpt​(int totalLenOpt)
      • getTotalRmsdIni

        public double getTotalRmsdIni()
        this is the init-RMSD, not the final RMSD after refinement.
        Returns:
        totalRmsdIni
      • setTotalRmsdIni

        public void setTotalRmsdIni​(double totalRmsdIni)
        this is the init-RMSD, not the final RMSD after refinement.
        Parameters:
        totalRmsdIni -
      • getTotalRmsdOpt

        public double getTotalRmsdOpt()
        The RMSD of the final alignment. Use this to print overal alignment RMSD.
        Returns:
        total RMSD of the optimal alignment.
      • setTotalRmsdOpt

        public void setTotalRmsdOpt​(double totalRmsdOpt)
        The RMSD of the final alignment. Use this to print overal alignment RMSD.
        Parameters:
        totalRmsdOpt - : total RMSD of the optimal alignment
      • getName1

        public java.lang.String getName1()
      • setName1

        public void setName1​(java.lang.String name1)
      • getName2

        public java.lang.String getName2()
      • setName2

        public void setName2​(java.lang.String name2)
      • getCalculationTime

        public long getCalculationTime()
      • setCalculationTime

        public void setCalculationTime​(long calculationTime)
      • getCa1Length

        public int getCa1Length()
      • setCa1Length

        public void setCa1Length​(int ca1Length)
      • getCa2Length

        public int getCa2Length()
      • setCa2Length

        public void setCa2Length​(int ca2Length)
      • getIoTime

        public long getIoTime()
      • setIoTime

        public void setIoTime​(long ioTime)
      • getProbability

        public double getProbability()
        The probability (FATCAT) or Z-score (CE) of the alignment.
        Returns:
        either the probability (FATCAT) or the Z-score (CE) of the alignment.
      • setProbability

        public void setProbability​(double probability)
      • getIdentity

        public double getIdentity()
        The percent of residues that are sequence-identical in the alignment.
        Returns:
        a value between 0 and 1
      • setIdentity

        public void setIdentity​(double identity)
      • getSimilarity

        public double getSimilarity()
        Returns the similarity score for the alignment. This gives the percent of sequence similar residues in the alignment.
        Returns:
        a double between 0 and 1
      • setSimilarity

        public void setSimilarity​(double similarity)
      • getNormAlignScore

        public double getNormAlignScore()
      • setNormAlignScore

        public void setNormAlignScore​(double normAlignScore)
      • getBlockRotationMatrix

        public Matrix[] getBlockRotationMatrix()
      • setBlockRotationMatrix

        public void setBlockRotationMatrix​(Matrix[] blockRotationMatrix)
      • getBlockShiftVector

        public Atom[] getBlockShiftVector()
      • setBlockShiftVector

        public void setBlockShiftVector​(Atom[] blockShiftVector)
      • getAlgorithmName

        public java.lang.String getAlgorithmName()
      • setAlgorithmName

        public void setAlgorithmName​(java.lang.String algorithmName)
        Caution has to be made when changing the algorithmName of an AFPChain, since downstream analysis methods (scores, display, etc) behave differently if the alignment is flexible (created with FatCat).
        Parameters:
        algorithmName -
      • getVersion

        public java.lang.String getVersion()
      • setVersion

        public void setVersion​(java.lang.String version)
      • isSequentialAlignment

        public boolean isSequentialAlignment()
        Get whether this alignment has the normal topology, ie the residues aligned in each block increase sequentially over the original protein. This will be false if a circular permutation was detected.
        Returns:
        true if the alignment is sequential
      • setSequentialAlignment

        public void setSequentialAlignment​(boolean sequentialAlignment)
        Set whether this alignment has the normal topology, ie the residues aligned in each block increase sequentially over the original protein. This will be false if a circular permutation was detected.
      • getDistanceMatrix

        public Matrix getDistanceMatrix()
        A matrix with ca1length rows and ca2length columns. For CE this is the distance matrix, but the exact interpretation is left up to the alignment algorithm.

        Note: A JMatrixPanel, which is used in the structure-gui package to display distance matrices, will display the transpose of this matrix. Be sure to take that into account when debugging visually.

        Returns:
        A matrix with dimensions ca1length x ca2length, or null
      • setDistanceMatrix

        public void setDistanceMatrix​(Matrix distanceMatrix)
        A matrix with ca1length rows and ca2length columns. For CE this is the distance matrix, but the exact interpretation is left up to the alignment algorithm.
        Parameters:
        distanceMatrix - A matrix with dimensions ca1length x ca2length
      • setTMScore

        public void setTMScore​(double tmScore)
      • getTMScore

        public double getTMScore()
        Returns the tmScore of the alignment. If the score has not been calcualted yet, returns -1. To calculate it call AFPChainScorer.getTMScore(afpChain, ca1, ca2);
        Returns:
        -1, if not calculated, or the TM-score, a score between 0 and 1
      • getDescription2

        public java.lang.String getDescription2()
        Get a textual description for the protein 2 of the alignment.
        Returns:
      • setDescription2

        public void setDescription2​(java.lang.String desc)
        Set the textual description for protein 2.
        Parameters:
        desc -
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        A week equality metric. Checks if the optAlign is the same, and if the objects being compared seem to be the same (same names, lengths). Does not check properties of the alignment such as scores or superposition matrices.
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)