Class AngleOrderDetectorPlus
- java.lang.Object
-
- org.biojava.nbio.structure.symmetry.internal.AngleOrderDetectorPlus
-
- All Implemented Interfaces:
OrderDetector
public class AngleOrderDetectorPlus extends Object implements OrderDetector
Guesses an order of rotational symmetry from the angle.Improves upon the AngleOrderDetector used in the paper by checking all rotations, not just the base one.
- Since:
- 4.2.0
- Author:
- Spencer Bliven
-
-
Constructor Summary
Constructors Constructor Description AngleOrderDetectorPlus(double angleError)
AngleOrderDetectorPlus(int maxOrder)
AngleOrderDetectorPlus(int maxOrder, double angleError)
AngleOrderDetectorPlus(int maxOrder, double angleError, boolean normalize)
Determine order by finding the order (up to the maxOrder) which has the closest rotation angle to the observed rotation.
-
-
-
Constructor Detail
-
AngleOrderDetectorPlus
public AngleOrderDetectorPlus(double angleError)
- Parameters:
error
- maximum angular error, in radians
-
AngleOrderDetectorPlus
public AngleOrderDetectorPlus(int maxOrder)
-
AngleOrderDetectorPlus
public AngleOrderDetectorPlus(int maxOrder, double angleError)
- Parameters:
maxOrder
- maximum order to considererror
- maximum angular error, in radians
-
AngleOrderDetectorPlus
public AngleOrderDetectorPlus(int maxOrder, double angleError, boolean normalize)
Determine order by finding the order (up to the maxOrder) which has the closest rotation angle to the observed rotation. If normalized is false, then the error is taken to be the absolute error from the closest ideal angle (in radians). If normalized is true, error is taken to be relative to the fundamental rotation for a given order. For instance, for an error of .25, C2 order would be accepted for angles within .25*pi radians of 0 or pi, while C3 order would be acceptable within .25*2pi/3 radians of 0, 2pi/3, or 4pi/3. In the normalized case, numbers between 0 and .5 are sensible for error.- Parameters:
maxOrder
- maximum order to considererror
- maximum angular errornormalize
- indicates whether error should be normalized by the order
-
-
Method Detail
-
calculateOrder
public int calculateOrder(AFPChain afpChain, Atom[] ca) throws RefinerFailedException
- Specified by:
calculateOrder
in interfaceOrderDetector
- Throws:
RefinerFailedException
-
-