Class FragmentJoiner
- java.lang.Object
-
- org.biojava.nbio.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
Fields Modifier and Type Field Description static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description FragmentJoiner()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
angleCheckOk(FragmentPair a, FragmentPair b, float distcutoff)
JointFragments[]
approach_ap3(Atom[] ca1, Atom[] ca2, FragmentPair[] fraglst, StrucAligParameters params)
void
extendFragments(Atom[] ca1, Atom[] ca2, JointFragments[] fragments, StrucAligParameters params)
void
extendFragments(Atom[] ca1, Atom[] ca2, JointFragments fragments, 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 fragstatic 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.
-
-
-
Field Detail
-
logger
public static final org.slf4j.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) throws StructureException
- Throws:
StructureException
-
getRMS
public static double getRMS(Atom[] ca1, Atom[] ca2, JointFragments frag) throws StructureException
Get the RMS of the JointFragments pair frag- Parameters:
ca1
- the array of all atoms of structure1ca2
- the array of all atoms of structure1frag
- the JointFragments object that contains the list of identical positions- Returns:
- the rms
- Throws:
StructureException
-
angleCheckOk
public boolean angleCheckOk(FragmentPair a, FragmentPair b, float distcutoff)
-
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[] arrayangleDiff
- angle cutofffragCompatDist
- distance cutoffmaxRefine
- max number of solutions to keep- Returns:
- JointFragments[]
-
extendFragments
public void extendFragments(Atom[] ca1, Atom[] ca2, JointFragments[] fragments, StrucAligParameters params) throws StructureException
- Throws:
StructureException
-
extendFragments
public void extendFragments(Atom[] ca1, Atom[] ca2, JointFragments fragments, StrucAligParameters params) throws StructureException
- Throws:
StructureException
-
-