A junction tree variational autoencoder for generating valid molecular graphs with desired chemical properties.
JT-VAE is a deep learning model for generating molecular graphs with desired chemical properties. It uses a junction tree decomposition to represent molecules as trees of chemically valid substructures, combined with a variational autoencoder to learn latent representations. This enables property-guided molecule generation for applications like drug discovery and materials design.
Researchers and practitioners in computational chemistry, drug discovery, and materials science who need to generate novel molecules with specific properties using machine learning.
It generates chemically valid molecules by enforcing syntactic constraints through junction tree decomposition, offers property-guided optimization, and provides an accelerated implementation for efficient training and inference.
Junction Tree Variational Autoencoder for Molecular Graph Generation (ICML 2018)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses junction tree decomposition to enforce syntactic validity, ensuring all generated molecules are chemically plausible based on substructure trees.
Integrates Bayesian optimization and joint training with property predictors, enabling targeted generation of molecules with specific desired traits like drug-likeness.
Includes optimized code in `fast_jtnn/` and `fast_molvae/` directories, significantly speeding up training and inference compared to the original version.
Based on a peer-reviewed ICML paper, providing a reproducible methodology with clear experimental scripts in directories like `bo/` and `molopt/`.
Requires Python 2.7, which is no longer supported, complicating integration with modern libraries and tools, as noted in the README.
Necessitates installation of RDKit and specific PyTorch versions, making initial configuration error-prone, especially for users unfamiliar with conda.
The README explicitly recommends using a newer repository (hgraph2graph), indicating this version may be less maintained and potentially buggy for current use.