Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 2.62 KB

File metadata and controls

59 lines (44 loc) · 2.62 KB

Saturn: Sample-efficient Generative Molecular Design using Memory Manipulation

Saturn Logo

Saturn is a language model based molecular generative design framework that is focused on sample-efficient de novo small molecule design.

In the experimental_reproduction sub-folder, prepared files and checkpoint models are provided to reproduce the experiments. There is also a Jupyter notebook to construct your own configuration files to run Saturn.

Git Hash Code Versions

Installation

  1. Install Conda

  2. Clone this Git repository

  3. Open terminal and install the saturn environment:

     $ source setup.sh
    

Potential Installation Issues

  • GLIBCXX_3.4.29 version not found - thank you to @PatWalters for flagging this and solving via:

      $ conda uninstall openbabel 
      $ conda install gcc_linux-64
      $ conda install gxx_linux-64
      $ conda install -c conda-forge openbabel
    
  • causal-conv1d and mamba-ssm installation error - see Issue 1 - thank you to @surendraphd for sharing their solution.

System Requirements

  • Python 3.10
  • Cuda-enabled GPU (CPU-only works but runs times will be much slower)
  • Tested on Linux

Acknowledgements

The Mamba architecture code was adapted from the following sources:

References

  1. Saturn Pre-print
  2. Generating Synthesizable Molecules - Coupling Saturn with Retrosynthesis Models
  3. TANGO Constrained Synthesizability Pre-print
  4. Steerable and Granular Synthesizability Control Pre-print
  5. Augmented Memory
  6. Beam Enumeration
  7. GraphGA