Skip to main content

python implementation of the Freezing String Method

Project description

ML-FSM

License Powered by: Pixi Code style: ruff GitHub Workflow Status Documentation Status codecov

Open In Colab

This repository provides an implementation of the Freezing String Method (FSM) for double-ended transition state searches with internal coordinates interpolation with ML-based potentials.

Installation

Clone the repository and install:

git clone https://github.com/jonmarks12/ML-FSM.git
cd ML-FSM
pip install .

Perform a test run with default parameters and the EMT calculator:

python examples/fsm_example.py data/sharada/06_diels_alder/ --calculator emt

Note the EMT calculator should only be used for quick demonstrations/tests.

Tutorials

  1. A Google Colab notebook example is available at:
examples/FSM_Colab_AIMNet2.ipynb

This notebook demonstrates how to run a full FSM calculation on a Diels–Alder reaction using the AIMNet2 potential.

  1. Example Script

The script:

examples/fsm_example.py

is a comprehensive and flexible tool that supports most ML-FSM functionality.

Note: Users are responsible for installing their desired quantum chemistry backend, current calculators supported in fsm_example.py are AIMNet2, MACEOFF23, FAIR UMA, TensorNet, xTB, QChem.

  1. Some ML potentials do not offer a native ASE interface. To accommodate these, a minimal example of custom ase.Calculator wrappers is provided in the examples/ folder. This serves as templates for integrating arbitrary NNPs with ML-FSM

Usage

For projects referencing algorithmic improvements to the FSM please cite:

Marks, J., & Gomes, J. (2024). Incorporation of Internal Coordinates Interpolation into the Freezing String Method. http://arxiv.org/abs/2407.09763

For projects using the FSM with ML-based potentials please cite:

Marks, J., & Gomes, J. (2025). Efficient Transition State Searches by Freezing String Method with Graph Neural Network Potentials. http://arxiv.org/abs/2501.06159

License

This project is licensed under the MIT License. See the LICENSE file for details.

Third-Party Licenses and Attribution

This project depends on several third-party open-source Python packages. These dependencies are not bundled with this repository and must be installed separately by the user.

Below is a list of direct dependencies and their respective licenses:

Package License Link
ASE LGPL-2.1 https://gitlab.com/ase/ase
geomeTRIC BSD 3-Clause https://github.com/leeping/geomeTRIC
NumPy BSD 3-Clause https://numpy.org/
SciPy BSD 3-Clause https://scipy.org/
NetworkX BSD 3-Clause https://networkx.org/

These licenses are all compatible with the MIT license under which this project is distributed. Please refer to each package’s own repository for the full license text.

Credits

This package was created with Cookiecutter and the jevandezande/pixi-cookiecutter project template.

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

mlfsm-1.0.0.tar.gz (8.8 MB view details)

Uploaded Source

Built Distribution

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

mlfsm-1.0.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file mlfsm-1.0.0.tar.gz.

File metadata

  • Download URL: mlfsm-1.0.0.tar.gz
  • Upload date:
  • Size: 8.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for mlfsm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 dc4644583694d1faa8dbd7ebe158fccfdd4e2226c05776b531b7b81aaea7b7c6
MD5 7c2a66e44fbb44342f4ad8b512dcec5a
BLAKE2b-256 3151d5c5a180d65676b6a4de7e699cac88aff22f6c65c8b9462444eb16656a5c

See more details on using hashes here.

File details

Details for the file mlfsm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mlfsm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for mlfsm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad26e09fc252b119bdaf73da2339a348c5e6b202656e716dff42ab12c2a69202
MD5 dd423812d9a2a5af25c9fa2108f0b0b2
BLAKE2b-256 ce32939f02df23a47d780571af66a54a21835cea6f2efa53182b76887192be51

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