Introduction

conformer_rl is an open-source deep reinforcement learning library for conformer generation, written in Python using PyTorch and RDKit.

Source code can be found on GitHub: https://github.com/ZimmermanGroup/conformer-rl.

What is Conformer Generation?

Most covalently bonded molecules (including proteins and most drug-like molecules) can take on a variety of different shapes, or conformations. The task of conformer generation involves generating a representative set of likely (low-energy) conformers that the molecule can take on. Efficient generation of such conformations is useful for a variety of applications in chemistry.

conformer_rl is an open-source software library for using deep reinforcement learning methods in conformer generation.

Features

Scripts and Examples

Using conformer_rl’s API, a reinforcement learning agent can be trained in generating conformers for a molecule given only that molecule as input. Several examples of training scripts can be found in the examples directory, which can be easily modified to set up a training script for your own molecule. For more details on setting up a Python training script see Getting Started - Training a Conformer Generation Agent.

Reinforcement Learning components

Agents

conformer_rl contains implementations of several state-of-the-art algorithms for training reinforcement learning agents on a task, including recurrent and non-recurrent versions of advantage actor critic (A2C) and proximal policy optimization (PPO). conformer_rl also includes a base agent interface base_agent for constructing new agents.

Models

Implementations of various graph neural network models are included. Each neural network implementation is modular and can be used with molecules of varying sizes.

Environments

conformer_rl contains several pre-built reinforcement learning environments that simulate the conformer generation task for any covalently bonded molecule. Many environments are similar (i.e., variations) to the conformer generation environment described in 1, where in each episode, conformers for the molecule are sequentially generated in each step. However, environments are built on top of the modularized conformer_env interface, making it easy to create custom environments and mix-and-match different environment components.

Analysis

conformer_rl contains a module for visualizing metrics and molecule conformers in Jupyter/IPython notebooks. The example notebook shows some examples on how the visualizing tools can be used.

Getting Started

The examples directory contains several scripts for training on pre-built agents and environments. See Installation on how to install conformer_rl. See the Getting Started - Training a Conformer Generation Agent section to learn how to train an agent on your own custom molecule.

1

TorsionNet Paper