peppr.find_matching_atoms#

peppr.find_matching_atoms(reference: AtomArray, pose: AtomArray, min_sequence_identity: float = 0.95) tuple[ndarray[tuple[int, ...], dtype[int64]], ndarray[tuple[int, ...], dtype[int64]]][source]#

Find the optimal atom order for each pose that minimizes the RMSD to the reference.

Parameters:
referencestruc.AtomArray, shape=(n,)

The reference structure.

posestruc.AtomArray, shape=(n,)

The pose structure.

min_sequence_identityfloat

The minimum sequence identity between two chains to be considered the same entity.

Returns:
reference_order,np.array, shape=(n,), dtype=int

The atom order that should be applied to reference.

pose_ordernp.array, shape=(n,), dtype=int

The atom order that should be applied to pose.

Notes

For finding the optimal chain permutation, the function uses the algorithm described in [1].

References

[1]

Protein complex prediction with AlphaFold-Multimer, Section 7.3, https://doi.org/10.1101/2021.10.04.463034