bioneuralnet.network_embedding.gnn_models

Functions

get_activation(activation_choice)

Retrieve the corresponding PyTorch activation function based on string name.

process_dropout(dropout)

Convert dropout input into a valid float probability.

set_seed(seed_value)

Sets seeds for maximum reproducibility across Python, NumPy, and PyTorch.

Classes

GAT(*args, **kwargs)

Graph Attention Network - uses edge_dim=1 to incorporate edge weights.

GCN(*args, **kwargs)

Graph Convolutional Network

GIN(*args, **kwargs)

Graph Isomorphism Network - uses GINEConv for edge-weight awareness.

SAGE(*args, **kwargs)

GraphSAGE - aligned layer_num convention.

class bioneuralnet.network_embedding.gnn_models.GAT(*args: Any, **kwargs: Any)[source]

Bases: Module

Graph Attention Network - uses edge_dim=1 to incorporate edge weights.

In DPMON edge_dim=1 in GATConv so the attention mechanism can leverage the network’s structural information.

Parameters:
  • input_dim (int) – Dimensionality of input features.

  • hidden_dim (int) – Dimensionality of hidden layers.

  • layer_num (int) – Total layer count.

  • heads (int) – Number of attention heads.

  • dropout (Union[bool, float]) – Dropout probability.

  • final_layer (str) – Head type.

  • activation (str) – Activation function name.

forward(data)[source]

Full forward pass.

get_embeddings(data)[source]

Extract latent node embeddings.

class bioneuralnet.network_embedding.gnn_models.GCN(*args: Any, **kwargs: Any)[source]

Bases: Module

Graph Convolutional Network

layer_num=2 -> 1 conv layer (first only, 0 hidden) layer_num=4 -> 3 conv layers (first + 2 hidden)

Parameters:
  • input_dim (int) – Dimensionality of input features.

  • hidden_dim (int) – Dimensionality of hidden layers.

  • layer_num (int) – Total layer count (including conv_first).

  • dropout (Union[bool, float]) – Dropout probability or toggle.

  • final_layer (str) – Head type (“regression” or “none”).

  • activation (str) – Activation function name.

  • seed (Optional[int]) – Random seed.

  • self_loop_and_norm (Optional[bool]) – Flags for manual GCNConv normalization.

forward(data)[source]

Full forward pass including the task-specific head.

get_embeddings(data)[source]

Extract latent node embeddings.

class bioneuralnet.network_embedding.gnn_models.GIN(*args: Any, **kwargs: Any)[source]

Bases: Module

Graph Isomorphism Network - uses GINEConv for edge-weight awareness.

DPMON utilizes GINEConv with edge_dim=1 to incorporate edge weights into the MLP-based message passing.

Parameters:
  • input_dim (int) – Dimensionality of input features.

  • hidden_dim (int) – Dimensionality of hidden layers.

  • layer_num (int) – Total layer count.

forward(data)[source]

Full forward pass.

get_embeddings(data)[source]

Extract latent node embeddings.

class bioneuralnet.network_embedding.gnn_models.SAGE(*args: Any, **kwargs: Any)[source]

Bases: Module

GraphSAGE - aligned layer_num convention.

Note: SAGEConv does not natively support edge weights.

Parameters:
  • input_dim (int) – Dimensionality of input features.

  • hidden_dim (int) – Dimensionality of hidden layers.

  • layer_num (int) – Total layer count.

forward(data)[source]

Full forward pass.

get_embeddings(data)[source]

Extract latent node embeddings.

bioneuralnet.network_embedding.gnn_models.get_activation(activation_choice)[source]

Retrieve the corresponding PyTorch activation function based on string name.

Parameters:

activation_choice (str) – The name of the activation (relu, elu, leaky_relu).

Returns:

The PyTorch activation layer.

Return type:

nn.Module

bioneuralnet.network_embedding.gnn_models.process_dropout(dropout)[source]

Convert dropout input into a valid float probability.

Parameters:

dropout (Union[bool, int, float]) – Input dropout specification.

Returns:

The validated dropout probability.

Return type:

float