Overview
JT-VAE provides the official implementation of the Junction Tree Variational Autoencoder for Molecular Graph Generation, linked to the paper at https://arxiv.org/abs/1802.04364. Its workflow role is molecular graph generation and associated model-training experiments. The README identifies molecular graphs as the generation target, but the source excerpts do not specify dataset preparation, accepted input formats, output serialization or checkpoint availability.
The repository separates model implementation from training and experiment scripts. The README directs users to fast_jtnn/ for the accelerated implementation and fast_molvae/ for VAE training. It also identifies directories supporting experiments from the original ICML paper: bo/ for Bayesian optimization, molvae/ for VAE-only training, molopt/ for joint training of the VAE and property predictors, and jtnn/ for the model formulation. These are documented workflow components, not evidence of reproduced results.
The listed requirements are Linux, Python 2.7, RDKit version 2017.09 or later, and PyTorch version 0.2 or later; the authors report testing only on Ubuntu. These historical requirements warrant environment planning before evaluation. The README also recommends the separate hgraph2graph repository for architecture improvements. Its described ChEMBL-pretrained model and property-guided generation scripts should not be attributed to this JT-VAE repository. Although the README calls the newer implementation accelerated, the supplied evidence provides no numerical speed comparison.
Key Features
- Official implementation of the Junction Tree Variational Autoencoder for molecular graph generation, with a linked research paper.
- Accelerated model implementation in `fast_jtnn/`, paired with VAE training code in `fast_molvae/`.
- VAE-only training scripts in `molvae/` for experiments associated with the original ICML paper.
- Joint VAE and property-predictor training scripts in `molopt/`.
- Bayesian optimization experiment scripts in `bo/`, with a directory-specific README identified by the main documentation.
Use Cases
- Intended evaluation: investigate JT-VAE as a molecular graph generation model using the documented implementation and training workflow.
- Intended evaluation: examine joint representation learning and molecular property prediction through the `molopt/` training scripts.
- Intended evaluation: study the repository's Bayesian optimization experiments as a starting point for a molecular optimization research workflow.
How to Use
- Read the official README and linked paper to establish the model's purpose and distinguish implementation instructions from research claims.
- Assess the listed environment requirements: Linux, Python 2.7, RDKit >= 2017.09 and PyTorch >= 0.2. Consult the linked RDKit installation documentation; the README recommends conda and reports Ubuntu-only testing.
- In the repository, inspect
fast_jtnn/and readfast_molvae/README.mdbefore attempting accelerated VAE training. Confirm input preparation and outputs there rather than assuming formats. - Select the experiment directory appropriate to your evaluation:
bo/,molvae/ormolopt/. Read its README for the actual procedure; commands are not supplied in the excerpts. - Review the repository code licence. If architecture improvements are relevant, separately inspect hgraph2graph without treating its capabilities as JT-VAE features.