Skip to main content

UMA machine-learned force-field integrated with ASE workflows

Project description

UMA-ASE

UMA-ASE bundles UMA (Universal Model for Atoms (https://huggingface.co/facebook/UMA) machine-learned force-field (MLFF) with the Atomic Simulation Environment (ASE) methods (https://ase-lib.org/). It supports single-point energy evaluations, geometry optimisation, and vibrational/thermochemical analysis from a single command-line entry point or an optional web GUI service.

Installation

Released package (after publishing to PyPI)

pip install "UMA-ASE[server]"

The server extra installs the optional GUI web interface. Omit it when you only need the command-line tooling.

From source

python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e ".[server]"

The editable install registers the uma-ase and uma-ase-server console scripts for local development.

Command-line usage

Usage depends on how you obtain the package:

  • Installed via pip (PyPI, wheel, or editable install)

    # Single run
    uma-ase -input geometry.xyz -chg 0 -spin 1 -run-type sp
    
    # Using local checkpoints
    export UMA_CUSTOM_CHECKPOINT_DIR=/abs/path/to/checkpoints
    uma-ase -input geometry.xyz -chg +1 -run-type sp freqs -temperature 300 -pressure 130000.0
    
  • Working from a cloned repository without installing

    export PYTHONPATH=src
    python -m uma_ase.cli -input geometry.xyz -chg 0 -spin 1 -run-type geoopt
    

The CLI always emits a consolidated log (e.g. molecule-SP-OPT.log), a trajectory (*.traj), an optimised XYZ (*-geoopt-OPT.xyz), and frequency outputs when requested. Run uma-ase -h (or python -m uma_ase.cli -h) for the full reference.

FairChem’s UMA models can be loaded directly from the official distribution (see the FairChem/UMA docs), or you can download the checkpoint files yourself for extra stability and keep them wherever you prefer. Point the shell environment variable UMA_CUSTOM_CHECKPOINT_DIR at your directory so -mlff-chk uma-s-1p1 and similar shortcuts resolve against your local files.

Web interface (optional)

uma-ase-server

then visit http://127.0.0.1:8000. The webapp (UMA-ASE.html) is bundled with the package and submits jobs to /api/uma-ase/run. The backend stores each uploaded geometry in a temporary directory, delegates to the CLI, returns the generated log, and removes temporary files automatically. The page focuses on job submission, showing a live summary of the uploaded structure, and exposing UMA checkpoint/task selectors.

Working directly from the source tree without installing? Prefix the module path:

PYTHONPATH=src python -m uma_ase.server
# or export PYTHONPATH=src once, then:
python -m uma_ase.server

Each run stores the returned log under ~/.uma_ase/results/ (configurable via UMA_RESULTS_DIR), and the interface enables a Download Log button once a job finishes.

uma-ase web interface

Package layout

src/uma_ase/
├── __init__.py          # Version metadata
├── __main__.py          # Enables `python -m uma_ase`
├── cli.py               # Console entry point
├── server.py            # Flask application (optional)
├── utils.py             # CLI parser and helper utilities
├── workflows.py         # Core UMA/ASE workflow orchestration
└── static/UMA-ASE.html  # Single-page frontend served by the Flask app

Development workflow

  1. Create a virtual environment and install the package in editable mode (pip install -e .[server]).
  2. Run unit or integration tests as desired (add your preferred framework).
  3. Build distributions for publishing:
    python -m build
    
  4. Upload to a package index (e.g., GitLab Package Registry or PyPI):
    python -m twine upload dist/*
    

License

This code has been generated by CODEX ChatGPT agent under the supervision of Carles Bo, October 2025. (c) CC BY Codex & Carles Bo

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

uma_ase-0.2.0.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

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

uma_ase-0.2.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file uma_ase-0.2.0.tar.gz.

File metadata

  • Download URL: uma_ase-0.2.0.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for uma_ase-0.2.0.tar.gz
Algorithm Hash digest
SHA256 80f048011ef2e0315e2133be85541592b0b8a425fdb964a79988f71233254434
MD5 cbc4c80ea9e6b1d6ae420e09ad96f086
BLAKE2b-256 7fec5d0977d1b7c69fc1dcf73f8affd23b43e4c5b0578e67eab946460e7472ea

See more details on using hashes here.

File details

Details for the file uma_ase-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: uma_ase-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for uma_ase-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f05632dc5f9cc6842519f02026e8ed2730c2cfa0400a4fb2dd2f343656ba56e7
MD5 10ca2d6cc6438eb29ffa69a99b222534
BLAKE2b-256 401efd0d3c0707c33287c690847a93a2511af4a1631e3b708446f7c8640f7ed8

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