python implementation of the Freezing String Method
Project description
ML-FSM
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
Install via PyPI
To install the latest stable release:
pip install mlfsm
Install from source (development version)
If you want the latest development version:
git clone https://github.com/thegomeslab/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
- 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.
- 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.
- Some ML potentials do not offer a native ASE interface. To accommodate these, a minimal example of custom
ase.Calculatorwrappers is provided in theexamples/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. (2025). Incorporation of Internal Coordinates Interpolation into the Freezing String Method. Journal of Chemical Theory and Computation. https://doi.org/10.1021/acs.jctc.5c01492
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
Contributing
Contributions are welcome! Please read the Contributing Guide before opening a pull request. We ask that you open an issue or reach out to the maintainer first to discuss proposed changes.
See the Changelog for a history of notable changes.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mlfsm-1.0.1.tar.gz.
File metadata
- Download URL: mlfsm-1.0.1.tar.gz
- Upload date:
- Size: 8.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7c7a900449a85cba5e37f8f51b0006ef9fd387a49b8aed155c2a5c531e7e036
|
|
| MD5 |
0b924baebf3bc3c2ad8fcd3ee4d392e2
|
|
| BLAKE2b-256 |
f0834f9ccc32fa8353ef1259c9661e222da1c22241378c19f13e0a1e2ddf65e3
|
File details
Details for the file mlfsm-1.0.1-py3-none-any.whl.
File metadata
- Download URL: mlfsm-1.0.1-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1701d577238d0ac334cb3285c539b7d192b4c26a5d3a86bdad720cdf34f81649
|
|
| MD5 |
dfc3118f17d244cc1b83d53711455878
|
|
| BLAKE2b-256 |
7b749269fb95f5f9610fddd416c51ff00c2e25e48486b5d1cdb86bfe9c1a81e3
|