Source-linked AI summary
ChemTS: An Efficient Python Library for de novo Molecular Generation
Xiufeng Yang, Jinzhe Zhang, Kazuki Yoshizoe, Kei Terayama, Koji Tsuda
TL;DR
Molecular design must search a vast chemical space efficiently without relying on predetermined fragments. ChemTS combines Monte Carlo tree search with an RNN and, in a benchmark optimizing logP and synthesizability, found high-scoring molecules more efficiently than comparison methods.
Problem
Efficiently optimizing molecules in vast chemical spaces is difficult because random candidate generation requires many valid molecules and makes black-box optimization slow.
Method
ChemTS represents SMILES strings as a search tree explored by Monte Carlo tree search, using an RNN trained on SMILES strings for rollout.
Results
ChemTS performed best at finding high-scoring molecules, generating 40.89 molecules per minute, close to RNN random sampling at 41.33 molecules per minute.
Takeaways & Limitations
Combining MCTS with RNN-guided rollout provides an efficient approach for de novo molecular generation and black-box optimization.
Takeaways & Limitations
The package is planned for further extension with more sophisticated tree-search methods and neural networks.
Abstract
from arXiv · showhide
Automatic design of organic materials requires black-box optimization in a vast chemical space. In conventional molecular design algorithms, a molecule is built as a combination of predetermined fragments. Recently, deep neural network models such as variational auto encoders (VAEs) and recurrent neural networks (RNNs) are shown to be effective in de novo design of molecules without any predetermined fragments. This paper presents a novel python library ChemTS that explores the chemical space by combining Monte Carlo tree search (MCTS) and an RNN. In a benchmarking problem of optimizing the octanol-water partition coefficient and synthesizability, our algorithm showed superior efficiency in finding high-scoring molecules. ChemTS is available at https://github.com/tsudalab/ChemTS.
1. Introduction
Molecular design is framed as black-box optimization across a vast chemical space, while conventional methods rely on predefined fragments. ChemTS addresses the efficiency challenge by combining an RNN with MCTS for de novo generation.
- Organic molecule design is formulated as a combinatorial optimization problem over a vast chemical space.
- Conventional computer-aided methods construct molecules from combinations of predefined fragments.
- RNN-generated SMILES are often invalid, requiring repeated generation to obtain chemical structures.
- Generating very large candidate sets can make black-box optimization prohibitively slow.
- ChemTS combines an RNN with MCTS and generated about 40 molecules per minute, producing high-scoring molecules within several hours.
2. Method
ChemTS represents SMILES strings as a search tree and uses an RNN-guided MCTS procedure to generate and evaluate molecules. The RNN learns next-symbol probabilities from molecular strings, while rollout rewards update the search tree.
- ChemTS requires a SMILES-string database, a reward function r(S), and an RNN trained before search begins.
- MCTS represents each SMILES symbol as a node and repeatedly performs selection, expansion, simulation, and backpropagation.
- During expansion, ChemTS samples 30 child nodes from the RNN, then uses RNN rollouts to complete paths to terminal SMILES strings.
- Rewards are computed for generated strings and propagated backward to update the UCB scores of traversed nodes.
- 2.1. Recurrent Neural Network: The RNN maps input strings to output-symbol probability distributions using two stacked gated recurrent units.
- 2.1. Recurrent Neural Network: Training minimizes a loss by teaching the network to output a right-shifted version of each training string.
- 2.1. Recurrent Neural Network: After training, ChemTS computes next-symbol probabilities from partial strings and repeatedly samples them to perform rollouts.
3. Experiments
The experiments compare ChemTS with VAE- and RNN-based molecular-generation methods on multi-objective optimization and generation speed. ChemTS found high-scoring molecules most effectively while retaining nearly the generation speed of random RNN sampling.
- ChemTS jointly optimizes logP, synthetic accessibility, and a ring penalty in its molecular score.
- The benchmark measures maximum score J at 2, 4, 6, and 8 hours plus generated molecules per minute, averaged over 10 trials.
- RNN combined with Bayesian optimization did not find high-scoring molecules, while preparing more candidates would further slow generation.
- ChemTS performed best in finding high-scoring molecules among the compared methods.
- 40.89 molecules per minute for ChemTS was only slightly below 41.33 molecules per minute for random RNN generation.
- VAE methods generated molecules substantially more slowly than RNN-based methods because valid SMILES strings had lower generation probability.
4. Conclusion
The conclusion presents ChemTS as a Python package for molecular generation and points toward future extensions and open-source use in organic materials development.
- ChemTS is presented as a new Python package for molecular generation.
- The package is intended for future extension with more sophisticated tree-search methods and neural networks.
- Additional computational-physics packages such as pymatgen can help users implement their own reward functions.
- The authors envision ChemTS becoming part of the open-source ecosystem for organic materials development.
Funding
The work received support from Japanese research initiatives and agencies spanning materials information integration, JST, JSPS, and MEXT programs.
- The research was supported by the Materials research by Information Integration Initiative and a CREST grant from JST.
- Additional support came from JSPS's Nano Informatics initiative and MEXT's Priority Issue on Post-K computer program.
Notes on contributors
The contributors divided responsibilities across research conception, ChemTS design, experiment analysis, implementation, and manuscript preparation.
- K. Tsuda proposed the research idea, supported experiment design, and helped draft the manuscript.
- K. Yoshizoe supported ChemTS design.
- J. Zhang and J. Terayama helped analyze the experimental data.
- X. Yang designed and implemented ChemTS, analyzed the data, and compiled the manuscript.