/iclr19-graph2graph

Learning Multimodal Graph-to-Graph Translation for Molecular Optimization (ICLR 2019)

Primary LanguagePythonMIT LicenseMIT

Learning Multimodal Graph-to-Graph Translation for Molecular Optimization

This is the official implementation of junction tree encoder-decoder model in https://arxiv.org/abs/1812.01070

Requirements

  • Python == 2.7
  • RDKit >= 2017.09
  • PyTorch >= 0.4.0
  • Numpy
  • scikit-learn

The code has been tested under python 2.7 with pytorch 0.4.1.

Quick Start

The tutorial of training and testing our variational junction tree encoder-decoder is in diff_vae/README.md.

A quick summary of different folders:

  • data/ contains the training, validation and test set of logP, QED and DRD2 tasks described in the paper.
  • fast_jtnn/ contains the implementation of junction tree encoder-decoder.
  • diff_vae/ includes the training and decoding script of variational junction tree encoder-decoder (README).
  • diff_vae_gan/ includes the training and decoding script of adversarial training module (README).
  • props/ is the property evaluation module, including penalized logP, QED and DRD2 property calculation.
  • scripts/ provides evaluation and data preprocessing scripts.

Contact

Wengong Jin (wengong@csail.mit.edu)