MolecularDiffusion.modules.models.ligandiff.conv_layer

GVP message passing. Verbatim port of LigandDiff’s src/conv_layer.py.

Classes

GVPConvLayer

One GVP conv block: message passing + residual feed-forward.

GVPMessagePassing

Edge-GVP message passing with optional scalar attention gating.

Module Contents

class MolecularDiffusion.modules.models.ligandiff.conv_layer.GVPConvLayer(node_dims: Tuple[int, int], edge_dims: Tuple[int, int], drop_rate: float = 0.0, activations=(F.relu, torch.sigmoid), vector_gate: bool = False, residual: bool = True, attention: bool = True, aggr: str = 'add', normalization_factor: float = 1.0)

Bases: GVPMessagePassing, abc.ABC

One GVP conv block: message passing + residual feed-forward.

forward(x: MolecularDiffusion.modules.models.ligandiff.gvp.s_V | torch.Tensor, edge_index: torch.Tensor, edge_attr: torch.Tensor) MolecularDiffusion.modules.models.ligandiff.gvp.s_V
drop_rate = 0.0
dropout
ff_func
norm
residual = True
class MolecularDiffusion.modules.models.ligandiff.conv_layer.GVPMessagePassing(in_dims: Tuple[int, int], out_dims: Tuple[int, int], edge_dims: Tuple[int, int], hidden_dims: Tuple[int, int] | None = None, activations=(F.relu, torch.sigmoid), vector_gate: bool = False, attention: bool = True, aggr: str = 'add', normalization_factor: float = 1.0)

Bases: torch_geometric.nn.MessagePassing, abc.ABC

Edge-GVP message passing with optional scalar attention gating.

forward(x: MolecularDiffusion.modules.models.ligandiff.gvp.s_V, edge_index: torch.Tensor, edge_attr: torch.Tensor) MolecularDiffusion.modules.models.ligandiff.gvp.s_V
message(s_i, s_j, V_i, V_j, edge_attr, v_dim)
reset_parameters() None
update(aggr_out: torch.Tensor) MolecularDiffusion.modules.models.ligandiff.gvp.s_V
attention = True
edge_gvps
hidden_scalar
hidden_vector
in_vector
normalization_factor = 1.0