Skip to main content

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

synformer-0.1.1.tar.gz (57.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synformer-0.1.1-py3-none-any.whl (106.1 kB view details)

Uploaded Python 3

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

Hashes for synformer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 86394260f2e24a3ff917b0775c600aa9a8037a8bdb693da2adcea3db1f42f4ea
MD5 ad1d8f45765a92208988159f0b54bc4c
BLAKE2b-256 46d3ab57555ca19a0b24db8590b7c442864e896098522767f29f53d07f801be9

See more details on using hashes here.

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

Hashes for synformer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f967af1e1a8c47ceb344836ef065eedc5a0dbf5f9ce92df231d52f732405d85
MD5 7ad8033c151ab2f89c2ea028daf75b4f
BLAKE2b-256 938ad4bd4ad4584e46cb6575ef73cb565f7f572891f5b8e13e16627d232b7447

See more details on using hashes here.

Supported by

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