peppr.BondAngleViolations#
- class peppr.BondAngleViolations(tolerance: float = np.float64(0.2617993877991494))[source]#
Check for unusual bond angles in the structure by comparing against idealized bond geometry. Returns the percentage of bonds that are outside acceptable ranges.
- Parameters:
- tolerancefloat, optional
The tolerance in radians for acceptable deviation from ideal bond angles.
- disable_atom_matching() bool #
Defines whether the upstream atom matching is disabled for this metric.
By default the reference and pose are already matched by the calling
Evaluator
. This behavior can be disabled by overriding this method.- Returns:
- bool
If set to true, the upstream atom matching using
find_optimal_match()
is disabled. Note that this causes the reference and pose passed toevaluate()
to be unmatched to each other. Hence, if some kind of matching is still required, it must be done inside theevaluate()
method.
- evaluate(reference: AtomArray, pose: AtomArray) float #
Calculate the percentage of bonds that are outside acceptable ranges.
- Parameters:
- referenceAtomArray
Not used in this metric as we compare against ideal bond angles.
- poseAtomArray
The structure to evaluate.
- Returns:
- float
Percentage of bonds outside acceptable ranges (0.0 to 1.0).
- smaller_is_better() bool #
Whether as smaller value of this metric is considered a better prediction.
ABSTRACT: Must be overridden by subclasses.
- Returns:
- bool
If true, a smaller value of this metric is considered a better prediction. Otherwise, a larger value is considered a better prediction.