DScribe

https://dev.azure.com/laurihimanen/DScribe%20CI/_apis/build/status/SINGROUP.dscribe?branchName=master https://coveralls.io/repos/github/SINGROUP/dscribe/badge.svg?branch=master https://img.shields.io/badge/code%20style-black-000000.svg

DScribe is a Python package for transforming atomic structures into fixed-size numerical fingerprints. These fingerprints are often called “descriptors” and they can be used in various tasks, including machine learning, visualization, similarity analysis, etc. To get started you can check the basic tutorial.

Note

Version 1.1.0 introduces new features and improvements to the SOAP descriptor: increased maximum lmax to 20 and added support for more customized weighting of the atomic density through weighting functions. Please check out the new section in the SOAP tutorial to learn more about weighting the atomic density. Also check out the new tutorial on using DScribe for clustering.

Note

We are incrementally adding support for calculating the derivatives of descriptors with respect to the atom positions. From version 1.0.0 upwards you can find an implementation for getting derivatives of non-periodic systems for the SOAP descriptor. Please check the new documentation on derivatives and the new new tutorial on predicting energies and forces using these derivatives.

Capabilities at a Glance

DScribe currently includes the following descriptors:

Descriptor name

Features

Derivatives

Coulomb matrix

Sine matrix

Ewald sum matrix

Atom-centered Symmetry Functions (ACSF)

Smooth Overlap of Atomic Positions (SOAP)

Many-body Tensor Representation (MBTR)

Local Many-body Tensor Representation (LMBTR)

Check the tutorials for more information.

Go Deeper

You can find more details in our open-access article: DScribe: Library of descriptors for machine learning in materials science

Documentation for the source code can be found here. The full source code with examples and regression tests can be explored at github.