Implementation of Gated graph neural network for molecules in tensorflow.
Gated graph neural network paper
- Rdkit
conda install -c rdkit rdkit
- Tensorflow
- cpu-version
pip install tensorflow
- gpu-version
pip install tensorflow-gpu
- others(for preprocessing): pandas, tqdm, sklearn
conda install pandas tqdm sklearn
Tox21 Data was used for training.
sdf data was converted to graph.(Only mols valid by rdkit was used.) graph data consists:
- node features:
- atomic number(onehot)
- atomic number
- formal charge
- radical eletrons
- is aromatic(bool)
- hybridization(onehot)
- edge features:
- bond type(onehot)
- is in ring(bool)
Does the following steps:
- Extracts labels from csv file.
- Check mols.
- Get features.
- Saves train/val/test data.
Variant of Gated Graph Neural Network(GGNN)
- modifications:
- modified for undirected graph
- edge hidden features are used instead of weights per edge types
- node hidden features are updated via stacked GRUs instead of one GRU
Does the following steps:
- Loads preprcessed data
- Trains with missing labels
- Saves weights(best)
Current trained model(weights.best.hdf5) is in this folder.
Model can be evaluated.
ex) Receiver Operating Characteristic curve of current saved model.