Class AlternativeAlignment

java.lang.Object
org.biojava.nbio.structure.align.pairwise.AlternativeAlignment
All Implemented Interfaces:
Serializable

public class AlternativeAlignment extends Object implements Serializable
Implements a class which handles one possible (alternative) solution. Alternative alignments arise from different seed alignments or seed FPairs. The AltAlg class contains methods for refinement (Dynamic Programming based) and filtering (i.e. removing probably wrongly matched APairs). In the refinement phase, different seed alignments can converge to the same solution.
Since:
3:04:26 PM
Version:
%I% %G%
Author:
Andreas Prlic,, Peter Lackner (original Python and C code)
See Also:
  • Field Details

    • logger

      public static Logger logger
  • Constructor Details

    • AlternativeAlignment

      public AlternativeAlignment()
  • Method Details

    • toString

      public String toString()
      print the idx positions of this alignment
      Overrides:
      toString in class Object
      Returns:
      a String representation
    • getCluster

      public int getCluster()
      get the number of the cluster this alignment belongs to
      Returns:
      an int giving the number of the cluster
    • setCluster

      public void setCluster(int cluster)
      set the number of the cluster this alignment belongs to. All alignments in a cluster are quite similar.
      Parameters:
      cluster - the number of the cluster
    • getRmsd

      public double getRmsd()
    • setRms

      public void setRms(double rms)
      the rms in the structurally equivalent regions
      Parameters:
      rms -
    • getScore

      public float getScore()
      the alignment score
      Returns:
      the score of this alignment
    • setScore

      public void setScore(float score)
    • getGaps

      public int getGaps()
      return the number of gaps in this alignment
      Returns:
      the number of Gaps
    • getEqr

      public int getEqr()
      returns the number of euqivalent residues in this alignment
      Returns:
      the number of equivalent residues
    • getIdx1

      public int[] getIdx1()
      the positions of the structure equivalent positions in atom set 1
      Returns:
      the array of the positions
    • getIdx2

      public int[] getIdx2()
      the positions of the structure equivalent atoms in atom set 2
      Returns:
      the array of the positions
    • getPercId

      public int getPercId()
    • setPercId

      public void setPercId(int percId)
    • apairs_from_seed

      public void apairs_from_seed(int l, int i, int j)
      Set apairs according to a seed position.
      Parameters:
      l -
      i -
      j -
    • apairs_from_idxlst

      public void apairs_from_idxlst(JointFragments jf)
      Set apairs according to a list of (i,j) tuples.
      Parameters:
      jf - a JoingFragment
    • getAltAligNumber

      public int getAltAligNumber()
      returns the sequential number of this alternative alignment
      Returns:
      the sequential number of this alternative alignment
    • setAltAligNumber

      public void setAltAligNumber(int fromia)
    • finish

      public void finish(StrucAligParameters params, Atom[] ca1, Atom[] ca2) throws StructureException
      Throws:
      StructureException
    • getDistanceMatrix

      public static Matrix getDistanceMatrix(Atom[] ca1, Atom[] ca2)
    • refine

      public void refine(StrucAligParameters params, Atom[] ca1, Atom[] ca2) throws StructureException
      Refinement procedure based on superposition and dynamic programming. Performs an iterative refinement. Several methods apply such a procedure, e.g. CE or ProSup. Here we additionally test for circular permutation, which are in the same frame of superposition as the optimal alignment. This feature may be switched off by setting permsize to -1.
      Parameters:
      params - the parameters
      ca1 - atoms of structure 1
      ca2 - atoms of structure 2
      Throws:
      StructureException
    • getPDBresnum1

      public String[] getPDBresnum1()
    • setPDBresnum1

      public void setPDBresnum1(String[] pdbresnum1)
    • getPDBresnum2

      public String[] getPDBresnum2()
    • setPDBresnum2

      public void setPDBresnum2(String[] pdbresnum2)
    • calculateSuperpositionByIdx

      public void calculateSuperpositionByIdx(Atom[] ca1, Atom[] ca2) throws StructureException
      Throws:
      StructureException
    • getRotationMatrix

      public Matrix getRotationMatrix()
      returns the rotation matrix that needs to be applied to structure 2 to rotate on structure 1
      Returns:
      the rotation Matrix
    • getShift

      public Atom getShift()
      returns the shift vector that has to be applied on structure to to shift on structure one
      Returns:
      the shift vector
    • calcScores

      public void calcScores(Atom[] ca1, Atom[] ca2)
      calculates scores for this alignment ( %id )
      Parameters:
      ca1 - set of Atoms for molecule 1
      ca2 - set of Atoms for molecule 2
    • getAlignedStructure

      public Structure getAlignedStructure(Structure s1, Structure s2)
      create an artifical Structure object that contains the two structures superimposed onto each other. Each structure is in a separate model. Model 1 is structure 1 and Model 2 is structure 2.
      Parameters:
      s1 - the first structure. its coordinates will not be changed
      s2 - the second structure, it will be cloned and the cloned coordinates will be rotated according to the alignment results.
      Returns:
      composite structure containing the 2 aligned structures as a models 1 and 2
    • toPDB

      public String toPDB(Structure s1, Structure s2)
      converts the alignment to a PDB file each of the structures will be represented as a model.
      Parameters:
      s1 -
      s2 -
      Returns:
      a PDB file as a String
    • getDistanceMatrix

      public Matrix getDistanceMatrix()
      The distance matrix this alignment is based on
      Returns:
      a Matrix object.
    • setDistanceMatrix

      public void setDistanceMatrix(Matrix distanceMatrix)
      The distance matrix this alignment is based on
      Parameters:
      distanceMatrix -
    • getPath

      public IndexPair[] getPath()