https://github.com/atomicarchitects/symphony

[ICLR'24] Symphony: Symmetry-Equivariant Point-Centered Spherical Harmonics for Molecule Generation

https://github.com/atomicarchitects/symphony

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

machine-learning molecular-modeling molecule-generation
Last synced: 10 months ago · JSON representation

Repository

[ICLR'24] Symphony: Symmetry-Equivariant Point-Centered Spherical Harmonics for Molecule Generation

Basic Info
  • Host: GitHub
  • Owner: atomicarchitects
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 356 MB
Statistics
  • Stars: 7
  • Watchers: 3
  • Forks: 4
  • Open Issues: 2
  • Releases: 0
Topics
machine-learning molecular-modeling molecule-generation
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Symphony: Symmetry-Equivariant Point-Centered Spherical Harmonics for Molecule Generation

A high-level overview of Symphony.

This is the official code-release for the paper Symphony: Symmetry-Equivariant Point-Centered Spherical Harmonics for Molecule Generation, published at ICLR 2024.

Instructions

Clone the repository:

shell git clone git@github.com:atomicarchitects/symphony.git cd symphony git checkout iclr_2024_final

Since this repository is actively being developed, we recommend using the iclr_2024_final branch for the most stable version of the code.

Default Setup

Create and activate a virtual environment:

shell python -m venv .venv && source .venv/bin/activate

Install pip dependencies with:

shell pip install --upgrade pip && pip install -r requirements.txt

For GPU support, install JAX with CUDA support afterwards: shell pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Some of the analysis scripts require openbabel==3.1.1. This can be installed through conda.

Checking Installation

Check that installation suceeded by running a short test:

shell python -m tests.train_test

Start a Training Run

Start training with a configuration defined under configs/:

shell python -m symphony \ --config configs/qm9/e3schnet_and_nequip.py \ --workdir ./workdirs

The --workdir flag specifies the directory where the model checkpoints, logs, and other artifacts will be saved.

Changing Hyperparameters

Since the configuration is defined using config_flags, you can override hyperparameters. For example, to change the number of training steps, and the batch size:

shell python -m symphony --config configs/qm9/e3schnet_and_nequip.py \ --workdir ./workdirs \ --config.num_train_steps=10 --config.max_n_graphs=16

For more extensive changes, directly edit the configuration files, or add your own.

Citation

Please cite our paper if you use this code!

bibtex @inproceedings{ daigavane2024symphony, title={Symphony: Symmetry-Equivariant Point-Centered Spherical Harmonics for Molecule Generation}, author={Ameya Daigavane and Song Eun Kim and Mario Geiger and Tess Smidt}, booktitle={The Twelfth International Conference on Learning Representations}, year={2024}, url={https://openreview.net/forum?id=MIEnYtlGyv} }

Owner

  • Name: The Atomic Architects
  • Login: atomicarchitects
  • Kind: organization
  • Location: United States of America

Research Group of Prof. Tess Smidt

GitHub Events

Total
  • Issues event: 1
  • Watch event: 15
  • Delete event: 2
  • Issue comment event: 1
  • Push event: 68
  • Pull request review event: 6
  • Pull request review comment event: 8
  • Pull request event: 17
  • Fork event: 1
  • Create event: 15
Last Year
  • Issues event: 1
  • Watch event: 15
  • Delete event: 2
  • Issue comment event: 1
  • Push event: 68
  • Pull request review event: 6
  • Pull request review comment event: 8
  • Pull request event: 17
  • Fork event: 1
  • Create event: 15

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 7
  • Average time to close issues: 9 minutes
  • Average time to close pull requests: 3 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 7
  • Average time to close issues: 9 minutes
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • oopstom (1)
  • NiklasGebauer (1)
Pull Request Authors
  • songk42 (14)
  • ameya98 (5)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

pyproject.toml pypi
  • absl-py *
  • allegro-jax @ git+https://github.com/mariogeiger/allegro-jax
  • chex *
  • clu *
  • dm-haiku *
  • e3nn_jax *
  • flax *
  • jax *
  • jraph *
  • mace-jax @ git+https://github.com/ACEsuit/mace-jax
  • nequip-jax @ git+https://github.com/mariogeiger/nequip-jax
  • numpy *
  • optax *
  • scipy *
requirements.txt pypi
setup.py pypi