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.

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.