org.biojava.bio.structure.align.pairwise
Class FragmentJoiner

java.lang.Object
  extended by org.biojava.bio.structure.align.pairwise.FragmentJoiner

public class FragmentJoiner
extends Object

Joins the initial Fragments together to larger Fragments

Since:
1.5
Version:
%I% %G%
Author:
Andreas Prlic, Peter Lackner

Field Summary
static Logger logger
           
 
Constructor Summary
FragmentJoiner()
           
 
Method Summary
 JointFragments[] approach_ap3(Atom[] ca1, Atom[] ca2, FragmentPair[] fraglst, StrucAligParameters params)
           
 JointFragments[] frag_pairwise_compat(FragmentPair[] fraglst, int angleDiff, float fragCompatDist, int maxRefine)
          Calculate the pairwise compatibility of fpairs.
static double getRMS(Atom[] ca1, Atom[] ca2, JointFragments frag)
          get the RMS of the JointFragments pair frag
static boolean reduceFragments(List<FragmentPair> fragments, FragmentPair f, Matrix rmsmat)
          In helices often many similar fragments can be found.
static Object resizeArray(Object oldArray, int newSize)
          Reallocates an array with a new size, and copies the contents of the old array to the new array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

public static Logger logger
Constructor Detail

FragmentJoiner

public FragmentJoiner()
Method Detail

resizeArray

public static Object resizeArray(Object oldArray,
                                 int newSize)
Reallocates an array with a new size, and copies the contents of the old array to the new array.

Parameters:
oldArray - the old array, to be reallocated.
newSize - the new array size.
Returns:
A new array with the same contents.

reduceFragments

public static boolean reduceFragments(List<FragmentPair> fragments,
                                      FragmentPair f,
                                      Matrix rmsmat)
In helices often many similar fragments can be found. To reduce these to a few representative ones this check can be used. It does a distance check between all known Fragments and a new one. If this one is on a similar diagonal and it has a lower rms, this one is a better representation. Note: shifts of one are not allowed.

Parameters:
fragments -
f -
rmsmat -
Returns:
true - if this is a better representant for a group of locala fragments.

approach_ap3

public JointFragments[] approach_ap3(Atom[] ca1,
                                     Atom[] ca2,
                                     FragmentPair[] fraglst,
                                     StrucAligParameters params)

getRMS

public static double getRMS(Atom[] ca1,
                            Atom[] ca2,
                            JointFragments frag)
get the RMS of the JointFragments pair frag

Parameters:
ca1 - the array of all atoms of structure1
ca2 - the array of all atoms of structure1
frag - the JointFragments object that contains the list of identical positions
Returns:
the rms

frag_pairwise_compat

public JointFragments[] frag_pairwise_compat(FragmentPair[] fraglst,
                                             int angleDiff,
                                             float fragCompatDist,
                                             int maxRefine)
Calculate the pairwise compatibility of fpairs. Iterates through a list of fpairs and joins them if they have compatible rotation and translation parameters.

Parameters:
fraglst - FragmentPair[] array
angleDiff - angle cutoff
fragCompatDist - distance cutoff
maxRefine - max number of solutions to keep
Returns:
JointFragments[]