Skip to content
/ saturn Public

Sample Efficient Generative Molecular Design using Memory Manipulation

License

Notifications You must be signed in to change notification settings

GuoJeff/saturn

Repository files navigation

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.

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. Saturn Synthesizability Pre-print
  3. Augmented Memory
  4. Beam Enumeration
  5. GraphGA

About

Sample Efficient Generative Molecular Design using Memory Manipulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published