Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
d963871
fg rule-based detection algo from FARM
aditya0by0 Apr 15, 2025
fb72489
Update .pre-commit-config.yaml
aditya0by0 Apr 15, 2025
85b9d8a
Update .gitignore
aditya0by0 Apr 19, 2025
4c6a191
remove redundant code functions
aditya0by0 Apr 19, 2025
5b4db35
reader: add fg augment reader
aditya0by0 Apr 19, 2025
4af345d
reader: add check for graph functional group
aditya0by0 Apr 19, 2025
2381686
reader: add ring size to node feature
aditya0by0 Apr 19, 2025
f596677
update logic for node features to be processed by properties
aditya0by0 Apr 21, 2025
5c61986
move fg constants to seperate file
aditya0by0 Apr 21, 2025
11ff800
Elements: re-align
aditya0by0 Apr 21, 2025
4162caa
properties: add base class for augmented bond property
aditya0by0 Apr 22, 2025
601d4c4
move augmented properties to utils
aditya0by0 Apr 22, 2025
51e4676
add bond level prop for augmented bond
aditya0by0 Apr 22, 2025
8a2f894
add fg reader
aditya0by0 Apr 28, 2025
c102fee
AtomFG prop reads from fgreader
aditya0by0 Apr 29, 2025
f9c959b
move properties to properties dir
aditya0by0 Apr 29, 2025
c3448e3
data config for augmented graph
aditya0by0 Apr 29, 2025
38de6f3
right molecular prop import
aditya0by0 Apr 29, 2025
6ff1609
move prop constants to props dir
aditya0by0 Apr 29, 2025
43fe5dc
make data dir a python dir
aditya0by0 Apr 29, 2025
45e15b7
Update .gitignore
aditya0by0 Apr 29, 2025
4e8c5fd
remove properties imports in preprocessing init
aditya0by0 Apr 29, 2025
c006887
resolve metaclass error
aditya0by0 Apr 29, 2025
501489c
move rule based reader to class init to avoid circular import
aditya0by0 Apr 29, 2025
45ba894
right order of import in properties init
aditya0by0 Apr 29, 2025
96232ec
remove graph fg check in augmentor reader
aditya0by0 Apr 29, 2025
52cc60a
right order of imports
aditya0by0 Apr 29, 2025
83aa7f9
make rings as a Functional Group
aditya0by0 Apr 29, 2025
94d9c08
utility to visualize augmented molecule
aditya0by0 Apr 29, 2025
49d85c5
rename fg_graph edge constant
aditya0by0 Apr 29, 2025
8805ecd
add diff color to diff edge type
aditya0by0 Apr 29, 2025
0ff4e86
Update visualize_augmented_molecule.py
aditya0by0 Apr 29, 2025
a78fe24
fix edge color mismatch bug
aditya0by0 Apr 30, 2025
52c106b
better position alignment of the nodes
aditya0by0 Apr 30, 2025
5eb462c
add CLI
aditya0by0 Apr 30, 2025
56b970f
plot based on given plot type
aditya0by0 Apr 30, 2025
13f21b2
Update .pre-commit-config.yaml
aditya0by0 Apr 30, 2025
f2e2803
add 3d plot visualization
aditya0by0 Apr 30, 2025
a9a21de
pre-commit formatting
aditya0by0 Apr 30, 2025
368585b
ploty lib is a soft requirement, use dynamic import error
aditya0by0 Apr 30, 2025
38875c0
modularize plotting code
aditya0by0 Apr 30, 2025
c4e1cbf
restructure and add docstring, typehints
aditya0by0 Apr 30, 2025
468bfc8
proper namespace to avoid future conflicts
aditya0by0 May 1, 2025
f9a0da2
seperate file for augmented reader
aditya0by0 May 1, 2025
5d82229
abstract base class for augmentor readers
aditya0by0 May 1, 2025
4345b3d
for 3d plot hover info to be id of the node
aditya0by0 May 1, 2025
ad864c5
logic change to detect FG related to rings
aditya0by0 May 1, 2025
d0d35f7
restructure reader and add docstrings + typehints
aditya0by0 May 1, 2025
21160c3
rename to `fg_aware_rule_based` algorithm
aditya0by0 May 1, 2025
9150bb6
Create .gitignore
aditya0by0 May 7, 2025
06a71a6
update precommit + github action
aditya0by0 May 7, 2025
ff1adc9
pre-commit format files
aditya0by0 May 7, 2025
d7f30d3
change graph from directed to UNDIRECTED
aditya0by0 May 7, 2025
d3a6fe1
properties error fix
aditya0by0 May 7, 2025
0525470
fix props error
aditya0by0 May 8, 2025
33bf005
make augment prop a subclass of atom, bond prop
aditya0by0 May 8, 2025
d07e45c
remove rule based reader
aditya0by0 May 8, 2025
2b8206a
add vscode to ignore
aditya0by0 May 8, 2025
2681416
add data class for augmentation
aditya0by0 May 9, 2025
17115ff
skip if reader return None, using walrus operator in python >=3.8
aditya0by0 May 9, 2025
ce867cb
molecular prop also accepts dict in case of augmentation
aditya0by0 May 9, 2025
dfe51c9
update augmented reader for wildcard smiles
aditya0by0 May 9, 2025
8fd45d1
fix to cal right number of nodes
aditya0by0 May 10, 2025
e45c7c1
assert if num of prop values is equal to num of nodes/edges
aditya0by0 May 10, 2025
011ed73
take value from reader if not None
aditya0by0 May 14, 2025
b8189d1
add test data
aditya0by0 May 14, 2025
ad301e6
edge_features should be calculated after undirected graph
aditya0by0 May 14, 2025
344d828
directed edge which form an un-dir edge should be adjancent
aditya0by0 May 14, 2025
8a69828
add test for GraphPropertyReader
aditya0by0 May 14, 2025
e0064b8
add gt test data for aspirin
aditya0by0 May 14, 2025
a9c7228
Update test_data.py
aditya0by0 May 14, 2025
fa8dcc5
dir edges of undir should be adjacent
aditya0by0 May 14, 2025
1ef714f
assert checks for aug reader
aditya0by0 May 14, 2025
0a9760d
add more graph test
aditya0by0 May 14, 2025
1a8dcb6
first src to tgt edges then tgt to src
aditya0by0 May 14, 2025
5d4c174
add test for duplicate directed edges
aditya0by0 May 14, 2025
945ef7c
restore import
aditya0by0 May 14, 2025
53a240a
concat edge attr for undirected graph
aditya0by0 May 14, 2025
b1f2da3
concat prop values instead of edge_attr
aditya0by0 May 15, 2025
3615fb1
Merge branch 'dev' into fix/directed-to-undirected-graph
aditya0by0 May 21, 2025
bb133bc
edge_index: first src to tgt edges, then tgt to src edges
aditya0by0 May 21, 2025
7a8b664
Merge branch 'dev' into fix/directed-to-undirected-graph
aditya0by0 May 21, 2025
53ca438
inherit from ChebiOverX
aditya0by0 May 23, 2025
7b0b9ff
add augmented props to config
aditya0by0 May 23, 2025
1d5698b
gat wrapper
aditya0by0 May 24, 2025
0e6c481
add linear layers to gat
aditya0by0 May 24, 2025
98fa827
gat ffn fix
aditya0by0 May 24, 2025
4319e47
`nan_to_num` numpy2.x compatibility
aditya0by0 May 25, 2025
7c0a484
add print statements
aditya0by0 May 25, 2025
ffc0b75
remove print for dataloader phase
aditya0by0 May 25, 2025
3a77a6c
Merge branch 'fix/directed-to-undirected-graph' into thesis_augmented…
aditya0by0 May 26, 2025
f2cafbf
gat model pop config if used
aditya0by0 May 26, 2025
39fadac
gat config
aditya0by0 May 26, 2025
abe65b4
add GAT wrapper to init models
aditya0by0 May 26, 2025
dc4d3a7
heads should be divisible by output or hidden channels
aditya0by0 May 26, 2025
66ea248
why in_length is needed ? if n_atom_properties is available
aditya0by0 May 28, 2025
6bc4f35
fg level edge fix
aditya0by0 May 28, 2025
4fb00e6
assert statements for num of edges and nodes
aditya0by0 May 28, 2025
65dfda6
bond prop fix
aditya0by0 May 28, 2025
200d2cd
num_undir_edges key fix
aditya0by0 May 28, 2025
1a80678
graphpropertyreader should inherit from Data reader
aditya0by0 Jun 5, 2025
86a1121
merge
aditya0by0 Jun 5, 2025
0bad480
Merge branch 'fix/after_setup_hook' into thesis_augmented_gnn
aditya0by0 Jun 5, 2025
5dbb516
for ring, assigned connected atom ring_size as fg
aditya0by0 Jun 5, 2025
dfb6b9b
make fg graph code more efficient
aditya0by0 Jun 6, 2025
2cff242
Merge branch 'dev' into thesis_augmented_gnn
aditya0by0 Jun 6, 2025
c0739ad
add plot option to plot only rdkit molecule using rdkit
aditya0by0 Jun 7, 2025
e4145a0
fix for atoms with no functional group
aditya0by0 Jun 7, 2025
ac8cb1e
add fg summary to reader
aditya0by0 Jun 7, 2025
f22cd84
assertion for atom belong to more than one fg
aditya0by0 Jun 7, 2025
d5a234c
Merge branch 'fix/optimize_index_encoder' into thesis_augmented_gnn
aditya0by0 Jun 7, 2025
08b7e7d
no default values, need to explicitly provided
aditya0by0 Jun 7, 2025
42e1b93
rectify assertion for multiple fg check
aditya0by0 Jun 7, 2025
7d6608d
common token for atoms with no FG
aditya0by0 Jun 7, 2025
d372c92
fix empty node error
aditya0by0 Jun 19, 2025
64b808d
print statemetns instead rank in pre-processing stage
aditya0by0 Jun 19, 2025
c576b36
Merge branch 'dev' into thesis_augmented_gnn
aditya0by0 Jun 19, 2025
20338b5
Revert "common token for atoms with no FG"
aditya0by0 Jun 19, 2025
f4829ef
separate out logic of setting fg prop into diff funcs
aditya0by0 Jun 20, 2025
5e9a133
separate frag for each ring in fused ring
aditya0by0 Jun 20, 2025
698a607
max_ring_size of atom belonging to more than one ring in fused ring
aditya0by0 Jun 20, 2025
4b4179b
edges between fg of rings belonging to fused rings
aditya0by0 Jun 20, 2025
0f137b8
3d ◀️ mean position of connected atoms for aug nodes
aditya0by0 Jun 20, 2025
adb3744
fix huge fused ring issue
aditya0by0 Jun 21, 2025
4651b5e
import data class in init
aditya0by0 Jun 21, 2025
cd4ae43
fix fg None error
aditya0by0 Jun 21, 2025
729fe09
add usual prop for augmented graph with default value
aditya0by0 Jun 21, 2025
88ed36b
set tensor of zeros if None value is given to encoder
aditya0by0 Jun 21, 2025
5202ef4
return None for augmented nodes
aditya0by0 Jun 21, 2025
33d60a9
move base prop class into another base file
aditya0by0 Jun 23, 2025
ed6787d
add wrapper to use mol prop for augmented graph
aditya0by0 Jun 23, 2025
ecfab05
avoid * imports for linters
aditya0by0 Jun 23, 2025
c943d08
restore aug prop dervied from aug graph to original cls name
aditya0by0 Jun 23, 2025
f148b0a
fix start imports in reader + minor other fix
aditya0by0 Jun 23, 2025
d579858
remove lambd exp as suggested by ruff linter
aditya0by0 Jun 23, 2025
243722b
remove chebi version
aditya0by0 Jun 23, 2025
751f63e
seperate pooling for atom and augmented nodes
aditya0by0 Jun 26, 2025
9f40c83
hydrogen bond donor/acceptor prop for fg
aditya0by0 Jun 28, 2025
d600474
is_alkyl fg prop
aditya0by0 Jun 28, 2025
8353cdd
add unk tokens to prop files
aditya0by0 Jun 30, 2025
0f1c8eb
base classes for seperate pooling of each type of node
aditya0by0 Jul 2, 2025
4d31642
Revert "add unk tokens to prop files"
aditya0by0 Jul 2, 2025
460fbba
activation for intermediate lin layers
aditya0by0 Jul 2, 2025
623b474
base class for fg node only pooling
aditya0by0 Jul 2, 2025
caeb931
model wrapper for resgated
aditya0by0 Jul 2, 2025
0a39390
classes for augmented graph with poolings
aditya0by0 Jul 2, 2025
192cb1d
resgated model separate file
aditya0by0 Jul 2, 2025
ad80e84
add normal regated without pool
aditya0by0 Jul 2, 2025
35f07c8
add ruff to pre-commit
aditya0by0 Jul 2, 2025
3041d40
fix ruff errors
aditya0by0 Jul 2, 2025
e95ea79
add ruff to action workflow
aditya0by0 Jul 2, 2025
c3e48b7
add gat model
aditya0by0 Jul 2, 2025
7efbea5
Create resgated.yml
aditya0by0 Jul 2, 2025
f52d6e3
more class for ablation studies
aditya0by0 Jul 2, 2025
55c4a97
add graph node mask
aditya0by0 Jul 3, 2025
d8059c9
few pooling single only class for ablation study
aditya0by0 Jul 3, 2025
947f536
resgated new ablation study classes
aditya0by0 Jul 3, 2025
adc55bc
fg node only fg nodes with edges only readers
aditya0by0 Jul 4, 2025
7d7b4bc
augmented readers for ablation studies
aditya0by0 Jul 4, 2025
bc605a8
adapt visualization code for other aug readers
aditya0by0 Jul 4, 2025
f0bb097
Merge branch 'dev' into thesis_augmented_gnn
aditya0by0 Jul 4, 2025
7560fec
add data classes for ablation readers
aditya0by0 Jul 5, 2025
416a395
adapt aug props for ablation data classes
aditya0by0 Jul 5, 2025
cf33cde
doc for chebi dataset class
aditya0by0 Jul 5, 2025
7524905
doc for props
aditya0by0 Jul 5, 2025
d11305f
doc for aug props
aditya0by0 Jul 5, 2025
ab25622
doc for reader
aditya0by0 Jul 5, 2025
c1faf98
doc for aug reader
aditya0by0 Jul 5, 2025
68f9f7a
doc for vis
aditya0by0 Jul 5, 2025
9914b0d
doc for graph collator
aditya0by0 Jul 5, 2025
b77d107
doc for encoder
aditya0by0 Jul 5, 2025
b3b3a69
doc of structures
aditya0by0 Jul 5, 2025
8f0a171
lint and pre-commit version should match
aditya0by0 Jul 6, 2025
98f007f
doc model base
aditya0by0 Jul 6, 2025
61473e2
doc for models augmented
aditya0by0 Jul 6, 2025
823a333
doc model resgated and gat
aditya0by0 Jul 6, 2025
7e074f5
fix GAT model edge-index and act error
aditya0by0 Jul 8, 2025
354f2d1
data configs for augmented graphs
aditya0by0 Jul 15, 2025
b68b520
remove mol props comment
aditya0by0 Jul 15, 2025
62e61d5
update model configs
aditya0by0 Jul 15, 2025
fb03f26
NO_FG instead to atom symbol to reduce no of tokens
aditya0by0 Jul 16, 2025
f6b88e1
fix RING key error
aditya0by0 Jul 16, 2025
331f941
fg detection algo - instead of atom symbol use NO_FG
aditya0by0 Jul 16, 2025
42ef9a2
fix: 'int' object has no attribute 'split'
aditya0by0 Jul 16, 2025
b6a4ab3
add alkyl prop to graph node
aditya0by0 Jul 16, 2025
c957d51
Revert "fg detection algo - instead of atom symbol use NO_FG"
aditya0by0 Jul 18, 2025
2097263
fix: changed number of augmented nodes (rollback to original)
aditya0by0 Jul 18, 2025
52cc901
refactor set fg properties logic
aditya0by0 Jul 18, 2025
342cb85
atomring size not required as its included as functional group
aditya0by0 Jul 18, 2025
5bb5f0f
restructure properties module
aditya0by0 Jul 19, 2025
c00b65c
add class for props as per node type
aditya0by0 Jul 19, 2025
280f71a
rearrange prop so that allnode prop type to be first
aditya0by0 Jul 20, 2025
6aa18d6
add atom and bond level prop tokens
aditya0by0 Jul 20, 2025
f776af1
restructure resgated params - add pyg impl to compare
aditya0by0 Jul 20, 2025
54b0d07
add test for grap prop as per node class
aditya0by0 Jul 21, 2025
e4e5397
modify merge method to have diff props for diff nodes
aditya0by0 Jul 21, 2025
dfdd810
use pyg model impl without changing the architecture
aditya0by0 Jul 23, 2025
ca3f305
zero padding for atom properties
aditya0by0 Jul 24, 2025
f5d3cb8
sort as per node prop to same seq as baseline for fair comparison
aditya0by0 Jul 24, 2025
e71dfa2
add string-based sorting for `GraphPropAsPerNodeType` too
aditya0by0 Jul 26, 2025
e30e3ac
static gni
aditya0by0 Jul 27, 2025
de0c97f
add as per node class to init
aditya0by0 Jul 28, 2025
84c170b
add aug rdkit norm prop
aditya0by0 Jul 28, 2025
4a1e82b
fix mol props for as per node data cls
aditya0by0 Jul 28, 2025
b205560
add few more ablation study aug readers
aditya0by0 Aug 3, 2025
36102f8
move vis script to results
aditya0by0 Aug 3, 2025
13384ac
new chebi data class for new readers
aditya0by0 Aug 7, 2025
d0ea81d
as node mask for as per node data cls
aditya0by0 Aug 11, 2025
fb27521
fix hyperparams for gat and resgated
aditya0by0 Aug 19, 2025
e09e23c
gat aug node pool class
aditya0by0 Aug 19, 2025
29c3ea3
add fg tokens file
aditya0by0 Aug 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions .github/workflows/black.yml

This file was deleted.

26 changes: 26 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Lint

on: [push, pull_request]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10' # or any version your project uses

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install black==25.1.0 ruff==0.12.2

- name: Run Black
run: black --check .

- name: Run Ruff (no formatting)
run: ruff check . --no-fix
34 changes: 28 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
repos:
#- repo: https://github.com/PyCQA/isort
# rev: "5.12.0"
# hooks:
# - id: isort
- repo: https://github.com/psf/black
rev: "22.10.0"
rev: "25.1.0"
hooks:
- id: black
- id: black
- id: black-jupyter # for formatting jupyter-notebook

- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
name: isort (python)
args: ["--profile=black"]

- repo: https://github.com/asottile/seed-isort-config
rev: v2.2.0
hooks:
- id: seed-isort-config

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.2
hooks:
- id: ruff
args: [--fix]
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Graph-based models for molecular property prediction and ontology classification

## Installation

To install this repository, download it and run
To install this repository, download it and run

```bash
pip install .
Expand All @@ -25,7 +25,7 @@ Replace:
- `${TORCH}` with your installed PyTorch version (e.g., `2.6.0`)
- `${CUDA}` with e.g. `cpu`, `cu118`, or `cu121` depending on your system and CUDA version

If you already have `torch` installed, make sure that `torch_scatter` and `torch_geometric` are compatible with your
If you already have `torch` installed, make sure that `torch_scatter` and `torch_geometric` are compatible with your
PyTorch version and are installed with the same CUDA version.

For a full list of currently available PyTorch versions and CUDA compatibility, please refer to libraries' official documentation:
Expand Down Expand Up @@ -63,11 +63,10 @@ my_projects/
### Ontology Prediction


This example command trains a Residual Gated Graph Convolutional Network on the ChEBI50 dataset (see [wiki](https://github.com/ChEB-AI/python-chebai/wiki/Data-Management)).
The dataset has a customizable list of properties for atoms, bonds and molecules that are added to the graph.
This example command trains a Residual Gated Graph Convolutional Network on the ChEBI50 dataset (see [wiki](https://github.com/ChEB-AI/python-chebai/wiki/Data-Management)).
The dataset has a customizable list of properties for atoms, bonds and molecules that are added to the graph.
The list can be found in the `configs/data/chebi50_graph_properties.yml` file.

```bash
python -m chebai fit --trainer=configs/training/default_trainer.yml --trainer.logger=configs/training/csv_logger.yml --model=../python-chebai-graph/configs/model/gnn_res_gated.yml --model.train_metrics=configs/metrics/micro-macro-f1.yml --model.test_metrics=configs/metrics/micro-macro-f1.yml --model.val_metrics=configs/metrics/micro-macro-f1.yml --data=../python-chebai-graph/configs/data/chebi50_graph_properties.yml --data.init_args.batch_size=128 --trainer.accumulate_grad_batches=4 --data.init_args.num_workers=10 --model.pass_loss_kwargs=false --data.init_args.chebi_version=241 --trainer.min_epochs=200 --trainer.max_epochs=200 --model.criterion=configs/loss/bce.yml
```

29 changes: 29 additions & 0 deletions chebai_graph/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from .augmented import (
GATAugNodePoolGraphPred,
ResGatedAugNodePoolGraphPred,
ResGatedAugOnlyPoolGraphPred,
ResGatedFGNodeNoGraphNodeGraphPred,
ResGatedFGNodePoolGraphPred,
ResGatedFGOnlyPoolGraphPred,
ResGatedGraphNodeFGNodePoolGraphPred,
ResGatedGraphNodeNoFGNodeGraphPred,
ResGatedGraphNodeOnlyPoolGraphPred,
ResGatedGraphNodePoolGraphPred,
)
from .gat import GATGraphPred
from .resgated import ResGatedGraphPred

__all__ = [
"GATGraphPred",
"ResGatedGraphPred",
"ResGatedFGNodeNoGraphNodeGraphPred",
"ResGatedAugNodePoolGraphPred",
"ResGatedGraphNodeFGNodePoolGraphPred",
"ResGatedGraphNodePoolGraphPred",
"ResGatedGraphNodeNoFGNodeGraphPred",
"ResGatedFGNodePoolGraphPred",
"ResGatedAugOnlyPoolGraphPred",
"ResGatedGraphNodeOnlyPoolGraphPred",
"ResGatedFGOnlyPoolGraphPred",
"GATAugNodePoolGraphPred",
]
119 changes: 119 additions & 0 deletions chebai_graph/models/augmented.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
from .base import (
AugmentedNodePoolingNet,
AugmentedOnlyPoolingNet,
FGNodePoolingNet,
FGNodePoolingNoGraphNodeNet,
FGOnlyPoolingNet,
GraphNodeFGNodePoolingNet,
GraphNodeNoFGNodePoolingNet,
GraphNodeOnlyPoolingNet,
GraphNodePoolingNet,
)
from .gat import GATGraphPred
from .resgated import ResGatedGraphPred


class ResGatedAugNodePoolGraphPred(AugmentedNodePoolingNet, ResGatedGraphPred):
"""
Combines:
- AugmentedNodePoolingNet: Pools atom and augmented node embeddings with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class GATAugNodePoolGraphPred(AugmentedNodePoolingNet, GATGraphPred):
"""
Combines:
- AugmentedNodePoolingNet: Pools atom and augmented node embeddings with molecule attributes.
- GATGraphPred: Graph attention network for final graph prediction.
"""

...


class ResGatedGraphNodePoolGraphPred(GraphNodePoolingNet, ResGatedGraphPred):
"""
Combines:
- GraphNodePoolingNet: Pools atom and graph node embeddings with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedFGNodePoolGraphPred(FGNodePoolingNet, ResGatedGraphPred):
"""
Combines:
- FGNodePoolingNet: Pools functional group nodes and other nodes with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedGraphNodeFGNodePoolGraphPred(
GraphNodeFGNodePoolingNet, ResGatedGraphPred
):
"""
Combines:
- GraphNodeFGNodePoolingNet: Pools atom, functional group, and graph nodes with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedGraphNodeNoFGNodeGraphPred(
GraphNodeNoFGNodePoolingNet, ResGatedGraphPred
):
"""
Combines:
- GraphNodeNoFGNodePoolingNet: Pools atom and graph nodes, excluding functional groups.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedFGNodeNoGraphNodeGraphPred(
FGNodePoolingNoGraphNodeNet, ResGatedGraphPred
):
"""
Combines:
- FGNodePoolingNoGraphNodeNet: Pools atom and functional group nodes, excluding graph nodes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedAugOnlyPoolGraphPred(AugmentedOnlyPoolingNet, ResGatedGraphPred):
"""
Combines:
- AugmentedOnlyPoolingNet: Pools only augmented nodes with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedGraphNodeOnlyPoolGraphPred(GraphNodeOnlyPoolingNet, ResGatedGraphPred):
"""
Combines:
- GraphNodeOnlyPoolingNet: Pools only graph nodes with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...


class ResGatedFGOnlyPoolGraphPred(FGOnlyPoolingNet, ResGatedGraphPred):
"""
Combines:
- FGOnlyPoolingNet: Pools only functional group nodes with molecule attributes.
- ResGatedGraphPred: Residual gated network for final graph prediction.
"""

...
Loading