Skip to content

openforcefield/tmos

Transition Metal Oxidation State (TMOS)

Documentation Status GitHub Actions Build Status

This is a set of informal tools for internal use. We make no guarantees of versioning, functionality, or support.

This package provides tools for analyzing and determining the oxidation state of transition metal complexes from molecular representations. The core functionality is provided by the sanitize_complex function, which processes a molecular structure and outputs a sanitized version suitable for oxidation state assignment.

Key utilities are available in the tmos/utils directory, others include:

  • mol_to_smiles: Converts molecular objects to SMILES strings for easy representation and interoperability.
  • mol_from_smiles: Generates molecular objects from SMILES strings, enabling flexible input formats.

As RDKit Molecule class instances of transition metal complexes must be handled carefully.

Together, these tools enable automated, reproducible workflows for transition metal chemistry analysis.

Installation

  • Step 1: Download the main branch from our GitHub page as a zip file, or clone it to your working directory with:

    git clone https://github.com/openforcefield/tmos

  • Step 2 (Optional): If you are using conda and you want to create a new environment for this package you may install with:

    conda env create -f requirements.yaml

  • Step 3: Install package with:

    pip install tmos/.

    or change directories and run

    pip install .

    Adding the flag -e will allow you to make changes that will be functional without reinstallation.

  • Step 4: Initialize pre-commits (for developers)

    pre-commit install

Copyright

Copyright (c) 2025, Jennifer A Clark

Acknowledgements

Project based on the Computational Molecular Science Python Cookiecutter version 1.10.

About

Python script to determine the oxidation state of a metal complex

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages