rl_graph_generation  by bowenliu16

TensorFlow implementation for molecular graph generation research paper

created 7 years ago
354 stars

Top 80.0% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a TensorFlow implementation of a Graph Convolutional Policy Network (GCNP) for goal-directed molecular graph generation. It is intended for researchers and practitioners in cheminformatics and reinforcement learning who aim to generate novel molecules with specific desired properties. The approach leverages GCNs within a reinforcement learning framework to guide the molecular generation process.

How It Works

The project utilizes a Graph Convolutional Policy Network, where the policy network is a GCN that learns to predict the next atom and bond to add to a growing molecular graph. This GCN policy is trained using the Proximal Policy Optimization (PPO) algorithm, specifically a variant tuned for GCNs. The environment is a custom molecule gym environment that provides rewards based on the desired properties of the generated molecules, enabling goal-directed generation.

Quick Start & Requirements

  • Primary install / run command: python run_molecule.py or mpirun -np 8 python run_molecule.py
  • Prerequisites: RDKit (Anaconda recommended), mpi4py, networkx (version 1.11), OpenAI baselines, and a customized molecule gym environment.
  • Monitoring: TensorBoard can be used via tensorboard --logdir runs.
  • Generated molecules are stored in the molecule_gen folder.

Highlighted Details

  • Implements a Graph Convolutional Policy Network for molecular generation.
  • Utilizes Proximal Policy Optimization (PPO) for training the policy.
  • Features a custom molecule gym environment for goal-directed generation.
  • Supports multi-process execution via mpirun.

Maintenance & Community

No information on maintainers, community channels, or roadmap is available in the README.

Licensing & Compatibility

The README does not specify a license. Compatibility for commercial use or closed-source linking is not mentioned.

Limitations & Caveats

The README specifies networkx=1.11, which is an older version and may have compatibility issues with newer Python versions or other libraries. The project appears to be a direct implementation of a specific research paper, and its generalizability or ongoing maintenance status is not detailed.

Health Check
Last commit

2 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.