SynFormer: Generative Model for Synthesizable Molecule Generation
Project description
SynFormer
SynFormer is a generative modeling framework designed to efficiently explore and navigate synthesizable chemical space.
[Paper]
Install
Environment
# Install conda environment
conda env create -f env.yml -n synformer
conda activate synformer
# Install SynFormer package
pip install --no-deps -e .
Building Block Database
We provide preprocessed building block data. You can download it from here and put it in the data directory.
However, the data is derived from Enamine's building block catalog, which are available only upon request.
Therefore, you should first request the data from Enamine here and download the US Stock catalog into the data/building_blocks directory.
Then run the following script which will check whether you have a copy of the Enamine's catalog and unarchive the preprocessed data for you:
python scripts/unarchive_wizard.py
Trained Models
You can download the trained weights from here and put them in the data/trained_weights directory.
Usage
Bottom-Up Synthesis Planning
You can create a list of SMILES strings in CSV format (example: data/example.csv) and run the following command to project them into the synthesizable chemical space.
python sample.py \
--model-path data/trained_weights/original_default.ckpt \
--input data/example.csv \
--output results/example.csv
Reference
If you find our code/model useful, please cite our papers:
@article{gao2024synformer,
title={Generative artificial intelligence for navigating synthesizable chemical space},
author={Wenhao Gao and Shitong Luo and Connor W. Coley},
year={2024}
}
@inproceedings{luo2024chemprojector,
title={Projecting Molecules into Synthesizable Chemical Spaces},
author={Shitong Luo and Wenhao Gao and Zuofan Wu and Jian Peng and Connor W. Coley and Jianzhu Ma},
booktitle={Forty-first International Conference on Machine Learning},
year={2024}
}
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synformer-0.1.1.tar.gz.
File metadata
- Download URL: synformer-0.1.1.tar.gz
- Upload date:
- Size: 57.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86394260f2e24a3ff917b0775c600aa9a8037a8bdb693da2adcea3db1f42f4ea
|
|
| MD5 |
ad1d8f45765a92208988159f0b54bc4c
|
|
| BLAKE2b-256 |
46d3ab57555ca19a0b24db8590b7c442864e896098522767f29f53d07f801be9
|
File details
Details for the file synformer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: synformer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 106.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f967af1e1a8c47ceb344836ef065eedc5a0dbf5f9ce92df231d52f732405d85
|
|
| MD5 |
7ad8033c151ab2f89c2ea028daf75b4f
|
|
| BLAKE2b-256 |
938ad4bd4ad4584e46cb6575ef73cb565f7f572891f5b8e13e16627d232b7447
|