Skip to content

Sample-efficient Generative Molecular Design using Memory Manipulation

License

Notifications You must be signed in to change notification settings

schwallergroup/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 Extension Pre-print - code is on the synth branch
  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