peppr.GlobalLDDTScore#

class peppr.GlobalLDDTScore(backbone_only: bool = True)[source]#

Compute the lDDT score for all contacts in the system, i.e. both intra- and inter-chain contacts. This is equivalent to the original lDDT definition in [1].

Parameters:
backbone_onlybool, optional

If True, only consider \(C_{\alpha}\) from peptides and \(C_3^'\) from nucleic acids. Otherwise, consider all heavy atoms.

References

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.

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.