Graph Neural Network With Local Frame for Molecular Potential Energy Surface
April 21, 2023 ยท View on GitHub
This repository is the official implementation of the following paper
Xiyuan Wang, Muhan Zhang: Graph Neural Network With Local Frame for Molecular Potential Energy Surface. LoG 2022.
@inproceedings{GNNLF,
author = {Xiyuan Wang and
Muhan Zhang},
editor = {Bastian Rieck and
Razvan Pascanu},
title = {Graph Neural Network With Local Frame for Molecular Potential Energy
Surface},
booktitle = {Learning on Graphs Conference, LoG 2022, 9-12 December 2022, Virtual
Event},
series = {Proceedings of Machine Learning Research},
volume = {198},
pages = {19},
publisher = {{PMLR}},
year = {2022}
}
Requirements
Tested combination: Python 3.9.6 + PyTorch 1.11.0
Other required python libraries include: numpy, scikit-learn, optuna, torch_geometric, etc.
Prepare Data
We write a script for preparing datasets.
python prepare_dataset.py
Reproduce Results on MD17
To reproduce results of the benzene molecule.
python main_md17.py --dataset benzene --test
"benzene" can be replaced with other molecules: benzene, uracil, naphthalene, aspirin, salicylic_acid, malonaldehyde, ethanol, toluene
To do ablation analysis.
NoDir2
python main_md17.py --nodir2 --dataset benzene --test
NoDir3
python main_md17.py --nodir3 --dataset benzene --test
Global
python main_md17.py --global_frame --dataset benzene --test
NoDecomp
python main_md17.py --no_filter_decomp --dataset benzene --test
NoShare
python main_md17.py --no_share_filter --dataset benzene --test
Reproduce Results on QM9
To reproduce results of the homo target
python main_qm9.py --dataset homo --test
"homo" can be replaced with other targets: dipole_moment, isotropic_polarizability, homo, lumo, gap, electronic_spatial_extent, zpve, energy_U0, energy_U, enthalpy_H, free_energy, heat_capacity