MolecularDiffusion.modules.models.syncogen.api.ops.coordinates_ops

Functions

center(→ torch.Tensor)

Center coordinates by mask; supports [N,3], [B,N,3], or [B,S,N,3].

kabsch_align(→ torch.Tensor)

Align src to ref using Kabsch; supports [N,3] or [B,N,3].

random_rotate(→ torch.Tensor)

Apply random rotation(s) to coords, preserving masked-out positions.

random_translate(→ torch.Tensor)

Apply random translation(s) to coords, preserving masked-out positions.

Module Contents

MolecularDiffusion.modules.models.syncogen.api.ops.coordinates_ops.center(coords: torch.Tensor, mask: torch.Tensor, custom_center: torch.Tensor = None, apply_mask: torch.Tensor = None) torch.Tensor

Center coordinates by mask; supports [N,3], [B,N,3], or [B,S,N,3].

Parameters:
  • coords – Coordinates tensor [N,3], [B,N,3], or [B,S,N,3]

  • mask – Mask for computing center

  • custom_center – Optional pre-computed center to subtract

  • apply_mask – Optional separate mask for zeroing after centering. If None, NO zeroing is applied (matches old behavior).

MolecularDiffusion.modules.models.syncogen.api.ops.coordinates_ops.kabsch_align(src: torch.Tensor, ref: torch.Tensor, mask: torch.Tensor, weights: torch.Tensor = None, debug: bool = True) torch.Tensor

Align src to ref using Kabsch; supports [N,3] or [B,N,3].

MolecularDiffusion.modules.models.syncogen.api.ops.coordinates_ops.random_rotate(coords: torch.Tensor, mask: torch.Tensor) torch.Tensor

Apply random rotation(s) to coords, preserving masked-out positions.

MolecularDiffusion.modules.models.syncogen.api.ops.coordinates_ops.random_translate(coords: torch.Tensor, mask: torch.Tensor, scale: float = 1.0) torch.Tensor

Apply random translation(s) to coords, preserving masked-out positions.