Skip to content

TorchANI

Ignacio Pickering; Xiang Gao; Jinze Xue / Roitberg group

TorchANI is a PyTorch library for developing, training and using ANI-style neural network interatomic potentials, with optional C++ and CUDA extensions for descriptors and inference.

Catalog updated ·

Overview

TorchANI implements the ANI neural network potential family in PyTorch. Its documented role is to support training, development and research on ANI-style neural network interatomic potentials, rather than provide a single standalone predictive model. The README identifies the Roitberg group as its original developer and current maintainer, and links documentation and publications describing the library.

In a molecular-modeling workflow, TorchANI provides infrastructure for working with these potentials, including descriptor computation and network inference. Optional C++ and CUDA extensions support accelerated execution of those operations. The source excerpts do not specify the exact molecular input schema, output structure, supported elements or coverage of individual pretrained models; those details need to be checked in the linked documentation before selecting a scientific application. For molecular dynamics with Amber, the README points to a separate TorchANI-Amber interface supporting full machine-learning and ML/MM workflows, not an integration established by the core package alone.

Installation guidance favors pip within an isolated environment because the conda package is described as unmaintained. Package metadata requires Python >=3.10 and specifies PyTorch dependencies. CUDA-enabled GPUs are supported and recommended in the README, which warns of reduced performance without a GPU. It also states that AMD GPU support and Apple MPS are untested, and that macOS has no CUDA support. Existing users are directed to a migration guide for API changes. The excerpts provide no quantitative accuracy or speed benchmarks, so suitability for a particular chemistry task remains an evaluation question.

Key Features

  • PyTorch implementation of the ANI neural network potential family for training, development and research.
  • Optional C++ and CUDA extensions for descriptor computation and network inference.
  • Execution on CUDA-enabled GPUs, with GPU use recommended by the project.
  • An `ani` command-line entry point for project utilities, including building extensions.
  • A `.legacy_state_dict()` method for accessing older ANI model state dictionaries during migration.

Use Cases

  • Suggested evaluation: develop or train an ANI-style interatomic potential, using the documentation to establish supported data representations and training procedures.
  • Suggested evaluation: assess neural-potential inference on representative molecular systems after checking each model’s supported chemistry and documented outputs.
  • Suggested evaluation: investigate full ML or ML/MM molecular dynamics with Amber through the separate TorchANI-Amber interface.
  • Suggested evaluation: migrate an existing TorchANI workflow using the migration guide and legacy state-dictionary access where needed.

How to Use

  1. Start with the official documentation to select a training or inference example. Confirm its molecular inputs, expected outputs and model coverage; these details are not supplied in the excerpts.
  2. Review the repository installation guidance. Choose an isolated environment and check Python and PyTorch requirements in the supplied package metadata. The README recommends pip because the conda package is not maintained.
  3. Decide whether CUDA execution is appropriate. For compiled extensions, follow the linked CUDA Toolkit guidance and ensure the toolkit matches the chosen PyTorch environment before following the repository’s build instructions.
  4. For an existing workflow, consult the migration guide. Check API changes and whether older model state dictionaries are needed.
  5. As an intended evaluation, run a documented example on representative inputs and assess scientific suitability separately from installation success. For Amber simulations, consult the distinct TorchANI-Amber repository before planning integration.

Related resources

DimeNet

Model

DimeNet provides reference implementations of DimeNet and DimeNet++ for directional message passing on molecular graphs, with training notebooks, test-set prediction workflows and pretrained models.

Python

Molecular Property Prediction · Quantum Chemistry

PhysNet

Model

PhysNet is a TensorFlow implementation of a neural network for predicting molecular energies, forces, dipole moments and partial charges, with a configurable training workflow and an example dataset.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

QML

Open Source

QML is an archived Python toolkit for quantum machine learning with Fortran-backed representation, kernel and solver modules. Further development has moved to qmllib.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

SchNetPack is a Python toolkit for building and training atomistic neural networks, with SchNet and PaiNN representations, quantum-chemical property outputs, and molecular dynamics components.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

SpookyNet is a Python research package described as learning force fields with electronic degrees of freedom and nonlocal effects, with a cited publication and MIT-licensed repository code.

Open sourcePython

Molecular Property Prediction · Quantum Chemistry

ANI-1

Dataset

ANI-1 provides calculated off-equilibrium molecular conformations, with Python readers for accessing HDF5 files containing coordinates and energies for organic molecules.

Open sourcePython

Quantum Chemistry

Related guides