FAMEX: Fast Mechanistic Explorer
FAMEX provides a unified interface for molecular geometry optimization using machine learning potentials. It supports minima optimization, transition state searches, and reaction path calculations through both a command-line interface and Python API.
Quick Start
Installation
pip install famex
# Or from source:
git clone https://github.com/rlaplaza-lab/famex.git && cd famex && pip install -e .
Install a backend separately:
| Backend | Installation | Notes |
|---|---|---|
aimnet2 |
pip install torch |
Recommended for beginners, no conflicts |
uma |
pip install "fairchem-core>=2.21.0" or pip install famex[uma] |
Materials science (default model: uma-s-1p2) |
mace |
pip install mace-torch |
High accuracy, conflicts with UMA |
orb |
pip install orb-models |
Universal forcefield |
so3lr |
pip install so3lr |
Research, custom models |
tblite |
pip install tblite |
Fast semi-empirical |
pet |
pip install upet or pip install famex[pet] |
Universal PET-MAD potential (Python 3.11+) |
Note: Python 3.10+ required. MACE and UMA conflict - use separate environments.
Your First Optimization
Command Line:
# Create a test structure
echo "3
Water
O 0.0 0.0 0.0
H 0.0 0.0 1.0
H 0.0 1.0 0.0" > water.xyz
# Optimize it (default backend is uma; use aimnet2 for torch-only install)
famex minima --strategy local water.xyz
# famex minima --strategy local water.xyz --backend aimnet2
Python API:
import famex
# Load and optimize
explorer = famex.Explorer.from_file("water.xyz", backend="aimnet2", target="minima", strategy="local")
result = explorer.run(fmax=0.05, steps=1000)
# Save results
explorer.save_structure(result["optimized_atoms"], "water_optimized.xyz")
print(f"Final energy: {result['optimized_atoms'].get_potential_energy():.6f} eV")
Key Features
- Multiple ML backends (UMA, AIMNet2, MACE, SO3LR, Orb, TBLite, PET)
- GPU acceleration with CUDA support
- Semantic target/strategy interface (minima, ts, path)
- Advanced methods (NEB, CI-NEB, IRC, growing string)
- Frequency analysis and thermodynamics
- Command-line and Python API
- Supports XYZ, CIF, PDB via ASE
Documentation
- Documentation index - Overview and defaults
- User Guide - Complete reference for CLI, Python API, and backends
- Tutorials - Hands-on guides for optimization and transition states
- FAQ - Troubleshooting and common questions
Examples
Runnable demos and benchmarks: examples/README.md.
# Transition state search
famex ts --strategy interpolate reactant.xyz --product product.xyz
# NEB reaction path
famex path --strategy neb reactant.xyz product.xyz --npoints 11
# IRC from transition state
famex path --strategy irc ts.xyz --direction both
Community and Support
- GitHub Repository: https://github.com/rlaplaza-lab/famex
- Issues: Report bugs and request features
- License: MIT License
Citation
@software{famex2026,
title={FAMEX: Fast Mechanistic Explorer},
author={FAMEX Development Team},
year={2026},
url={https://github.com/rlaplaza-lab/famex}
}
Metadata
Release files for famex 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| famex-0.2.2.tar.gz | 299.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| famex-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 522.9 kB
Release files / famex-0.2.2.tar.gz
| Download URL | famex-0.2.2.tar.gz |
|---|---|
| Size | 299.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
952c4e5f9555ceb76a7e17f5c3febdd27aa4e7fbc1e24b1e417a30defa29bde7
|
|
BLAKE2b-256 checksum How to use checksums |
9c64dae8c6572cf3df2dbb7ba32cde2743c5c27fd537835304e7d1eb13b9feab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / famex-0.2.2-py3-none-any.whl
| Download URL | famex-0.2.2-py3-none-any.whl |
|---|---|
| Size | 223.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da7d7c042f5c9dc8848ef314be3e42e673caa194aff6fb44e890b85d84ec824d
|
|
BLAKE2b-256 checksum How to use checksums |
15d1f82c8e4e393d6cf92b469a4cc22b96ff6c4d27118fe1fafdd762dbf9bda1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|