peppr.Metric#

class peppr.Metric[source]#

The base class for all evaluation metrics.

The central evaluate() method takes a for a system reference and pose structures as input and returns a sclar score.

Attributes:
namestr

The name of the metric. Used for displaying the results via the Evaluator. ABSTRACT: Must be overridden by subclasses.

thresholdsdict (str -> float)

The named thresholds for the metric. Each threshold contains the lower bound

abstractmethod evaluate(reference: AtomArray, pose: AtomArray) float#

Apply this metric on the given predicted pose with respect to the given reference.

ABSTRACT: Must be overridden by subclasses.

Parameters:
referenceAtomArray, shape=(n,)

The reference structure of the system. Each separate instance/molecule must have a distinct chain_id.

poseAtomArray, shape=(n,)

The predicted pose. Must have the same length and atom order as the reference.

Returns:
float

The metric computed for each pose. NaN, if the structure is not suitable for this metric.

Notes

Missing atoms in either the reference or the pose can be identified with NaN values.

abstractmethod 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.