This is a PyTorch implementation of paper "Multi-View Spectral Graph Convolution with Consistent Edge Attention for Molecular Modeling" published at Neurocomputing.
Install pytorch and torchvision.
Four benchmark datasets (Tox21, HIV, Freesolv and Lipophilicity) are utilized in this study to evaluate the predictive performance of built graph convolutional networks. They are all downloaded from the MoleculeNet that hold various benchmark datasets for molecular machine learning.
Datasets are also provided in folder "Data".
Open the folder "eagcn_pytorch".
When you train the model, you can use:
python train.py
support files:
EAGCN_dataset.py: pre-processing data
neural_fp.py: from smiles to graph
layers.py: define layers
models.py: define models
utils.py: other tools
check_model.py: check parameters (edge attention for each layer).
mol_to_vec.py: visualize the molecule in 2D space, compare with other molecules which have similiar SMILEs.
plot.py: show model training process.
tsnes.py: tsne visualization about atom subtype, also provide umap option.
kmeans_atomrep.py: kmeans clustering for atom subtype.
plot_molecule.py: plot single molecule.
If you use this repository, e.g., the code and the datasets, in your research, please cite the following paper:
@article{shang2021multi,
title={Multi-view spectral graph convolution with consistent edge attention for molecular modeling},
author={Shang, Chao and Liu, Qinqing and Tong, Qianqian and Sun, Jiangwen and Song, Minghu and Bi, Jinbo},
journal={Neurocomputing},
volume={445},
pages={12--25},
year={2021},
publisher={Elsevier}
}
Code is inspired by GCN and conv_qsar_fast