Skip to main content

Deep Reinforcement Library for Conformer Generation

Project description

conformer-rl

An open-source deep reinforcement learning library for conformer generation.

Documentation Status PyPI version

Documentation

Documentation can be found at https://conformer-rl.readthedocs.io/.

Platform Support

Since conformer-rl can be run within a Conda environment, it should work on all platforms (Windows, MacOS, Linux).

Installation

  • We recommend installing in a new Conda environment.

    • If you are new to using Conda, you can install it here and learn more about environments here.
  • Install dependencies

    • Install PyTorch. PyTorch version of 1.8.0 or greater is required for conformer-rl.
    • Install PyTorch Geometric.
      • Important Note: Please make sure to use the same package installer for installing both PyTorch and PyTorch geometric.

        For example, if you installed PyTorch with pip, use the pip instructions for installing PyTorch Geometric. Similarly, if you installed PyTorch with Conda, use the Conda instructions for installing PyTorch Geometric. Otherwise you may run into errors such as "undefined symbol" when using PyTorch Geometric.

    • Install RDKit by running the following command
      conda install -c conda-forge rdkit
      
  • Install conformer-rl

    pip install conformer-rl
    
    • This will automatically install the additional dependencies needed for conformer-rl. Note that conformer-rl requires Python >= 3.7.

Verify Installation:

As a quick check to verify the installation has succeeded, navigate to the examples directory and run base_example.py. The script should finish running in a few minutes or less. If no errors ware encountered then most likely the installation has succeeded.

Additional Installation for Analysis/Visualization Tools

Some additional dependencies are required for visualizing molecules in Jupyter/IPython notebooks.

Firstly, install jupyterlab, py3Dmol, and seaborn (these should already be installed after installing conformer-rl):

pip install jupyterlab py3Dmol seaborn

Install nodejs. This is only required for creating interactive molecule visualizations in Jupyter:

conda install nodejs

Install the jupyterlab_3dmol extension for visualizing molecules interactively in Jupyter:

jupyter labextension install jupyterlab_3dmol

You should now be able to use the analysis components of conformer-rl for generating figures and visualizing molecule in Jupyter. To test that the installation was succesful, try running the example Jupyter notebook:

jupyter-lab examples/example_analysis.ipynb

Features

  • Agents - conformer_rl contains implementations of agents for several deep reinforcement learning algorithms, including recurrent and non-recurrent versions of A2C and PPO. conformer_rl also includes a base agent interface BaseAgent for constructing new agents.

  • Models - Implementations of various graph neural network models are included. Each model is compatible with any molecule.

  • Environments - Implementations for several pre-built environments that are compatible with any molecule. Environments are built on top of the modularized ConformerEnv interface, making it easy to create custom environments and max-and-match different environment components.

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

Quick Start

The examples directory contain several scripts for training on pre-built agents and environments. Visit Quick Start to get started.

Issues and Feature Requests

We are actively adding new features to this project and are open to all suggestions. If you believe you have encountered a bug, or if you have a feature that you would like to see implemented, please feel free to file an issue.

Developer Documentation

Pull requests are always welcome for suggestions to improve the code or to add additional features. We encourage new developers to document new features and write unit tests (if applicable). For more information on writing documentation and unit tests, see the developer documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conformer-rl-0.1.1.tar.gz (32.5 kB view hashes)

Uploaded Source

Built Distribution

conformer_rl-0.1.1-py3-none-any.whl (55.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page