Skip to main content

Python module for dealing with chemical coordinates.

Project description

Latest Release

https://img.shields.io/pypi/v/chemcoord.svg

Package Status

https://img.shields.io/pypi/status/chemcoord.svg

Documentation

Documentation Status

License

https://img.shields.io/pypi/l/chemcoord.svg

Build Status

https://circleci.com/gh/mcocdawc/chemcoord/tree/master.svg?style=shield

Coverage

https://codecov.io/gh/mcocdawc/chemcoord/branch/master/graph/badge.svg

Website

The project’s website with documentation is: http://chemcoord.readthedocs.org/

Features

  • Molecules are reliably transformed between cartesian space and non redundant internal coordinates (Zmatrices). Dummy atoms are inserted and removed automatically on the fly if necessary.

  • The created Zmatrix is not only a structure expressed in internal coordinates, it is a “chemical” Zmatrix. “Chemical” Zmatrix means, that e.g. distances are along bonds or dihedrals are defined as they are drawn in chemical textbooks (Newman projections).

  • Analytical gradients for the transformations between the different coordinate systems are implemented.

  • Performance intensive functions/methods are implemented with Fortran/C like speed using numba.

  • Geometries may be defined with symbolic expressions using sympy.

  • Built on top of pandas with very similar syntax. This allows for example distinct label or row based indexing.

  • It derived from my own work and I heavily use it during the day. So all functions are tested and tailored around the work flow in theoretical chemistry.

  • It as a python module ;)

Installation guide

A working python 3 installation is required (>=3.7 are possible).

It is highly recommended to use this module in combination with Ipython and jupyter. They come shipped by default with the anaconda3 installer

Unix

For the packaged version, the following commands have to be executed in the terminal:

pip install chemcoord

For the up to date development version (experimental):

git clone https://github.com/mcocdawc/chemcoord.git
cd chemcoord
pip install .

Windows

Neither installation nor running the module are tested on windows. To the best of my knowledge it should work there as well. Just use the same steps as for UNIX.

Citation and mathematical background

The theory behind chemcoord is described in this paper. If this package is used in a project that leads to a scientific publication, please acknowledge it by citing.

@article{https://doi.org/10.1002/jcc.27029,
    author = {Weser, Oskar and Hein-Janke, Björn and Mata, Ricardo A.},
    title = {Automated handling of complex chemical structures in Z-matrix coordinates—The chemcoord library},
    journal = {Journal of Computational Chemistry},
    volume = {44},
    number = {5},
    pages = {710-726},
    keywords = {analytical gradients, geometry optimization, non-linear constraints, transition state search, Z-matrix},
    doi = {10.1002/jcc.27029},
    year = {2023}
}

My (Oskar Weser) master thesis including a more detailed derivation of implemented equations and the mathematical background can be found here.

Acknowledgement

https://github.com/zulip/zulip/blob/main/static/images/logo/zulip-icon-circle.svg

Zulip is an open-source modern team chat app designed to keep both live and asynchronous conversations organized, that supports the development of chemcoord with a free plan.

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

chemcoord-2.1.0.tar.gz (103.2 kB view hashes)

Uploaded Source

Built Distribution

chemcoord-2.1.0-py3-none-any.whl (98.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page