Giter VIP home page Giter VIP logo

rl_graph_generation's Introduction

Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation

This repository is the official Tensorflow implementation of "Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation".

Jiaxuan You*, Bowen Liu*, Rex Ying, Vijay Pande, Jure Leskovec, Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation

Installation

  • Install rdkit, please refer to the offical website for further details, using anaconda is recommended:
conda create -c rdkit -n my-rdkit-env rdkit
  • Install mpi4py, networkx:
conda install mpi4py
pip install networkx=1.11
  • Install OpenAI baseline dependencies:
cd rl-baselines
pip install -e .
  • Install customized molecule gym environment:
cd gym-molecule
pip install -e.

Code description

There are 4 important files:

  • run_molecule.py is the main code for running the program. You may tune all kinds of hyper-parameters there.
  • The molecule environment code is in gym-molecule/gym_molecule/envs/molecule.py.
  • RL related code is in rl-baselines/baselines/ppo1 folder: gcn_policy.py is the GCN policy network; pposgd_simple_gcn.py is the PPO algorithm specifically tuned for GCN policy.

Run

  • single process run
python run_molecule.py
  • mutiple processes run
mpirun -np 8 python run_molecule.py 2>/dev/null

2>/dev/null will hide the warning info provided by rdkit package.

We highly recommend using tensorboard to monitor the training process. To do this, you may run

tensorboard --logdir runs

All the generated molecules along the training process are stored in the molecule_gen folder, each run configuration is stored in a different csv file. Molecules are stored using SMILES strings, along with the desired properties scores.

rl_graph_generation's People

Contributors

jiaxuanyou avatar bowenliu16 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.