Skip to main content

Binary-valued fingerprints for describing spectral properties.

Project description

Fingerprinting of materials based on their electronic structure.

Python package to compute binary valued fingerprints of spectral quantities and evaluate their similarity.

This package implements the electronic density-of-states fingerprints and the similarity metrics introduced in Refs. [1,2].

As a similarity measure we use the Tanimoto coefficient [3].

This package is the continuation of https://github.com/kubanmar/dos-fingerprints.

Installation

The package can be installed via pip:

pip install spectral-fingerprints

or you can clone and install from source:

git clone https://github.com/kubanmar/spectral-fingerprints.git
cd spectral-fingerprints
pip install .

Usage

Fingerprints of, e.g., the electronic density-of-states (DOS), are instances of the SpectralFingerprint() class and can be calculated by providing, e.g., the energy in [eV] and the DOS in [states/unit cell/eV] to the calculate() method. Furthermore, the energy axis can be discretized over a non-uniform grid. For this, specific parameters must be provided. By default, the grid is specialized on the energy range between -10 and 5 eV, thereby emphasizing the upper valence region.

from spectral_fingerprints import SpectralFingerprint
dos_fingerprint = SpectralFingerprint().calculate(<dos_energies>,<dos_values>)

To evaluate the similarity, the function tanimoto_similarity() can be used:

from spectral_fingerprints import tanimoto_similarity
tc = tanimoto_similarity(dos_fingerprint_1, dos_fingerprint_2)

Additionally, the SpectralFingerprint() functions get_similarty and get_similarities can be used:

similarity = dos_fingerprint_1.get_similarity(dos_fingerprint_2)
similarities = dos_fingerprint_1.get_similarity([dos_fingerprint_1, dos_fingerprint_2])

Citation

If you use this package in a publication, please cite it in the following way:

Martin Kuban, Santiago Rigamonti, Markus Scheidgen, and Claudia Draxl: Density-of-states similarity descriptor for unsupervised learning from materials data Sci Data 9, 646 (2022). https://doi.org/10.1038/s41597-022-01754-z

References

[1] Martin Kuban, Santiago Rigamonti, Markus Scheidgen, and Claudia Draxl: Density-of-states similarity descriptor for unsupervised learning from materials data. Sci Data 9, 646 (2022). https://doi.org/10.1038/s41597-022-01754-z

[2] Martin Kuban, Šimon Gabaj, Wahib Aggoune, Cecilia Vona, Santiago Rigamonti, Claudia Draxl: Similarity of materials and data-quality assessment by fingerprinting. MRS Bulletin 47, 991–999 (2022). https://doi.org/10.1557/s43577-022-00339-w

[3] P. Willet et al., J. Chem. Inf. Comput. 38 , 983 996 (1998) (https://doi.org/10.1021/ci9800211)

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

spectral_fingerprints-2.1.1.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

spectral_fingerprints-2.1.1-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file spectral_fingerprints-2.1.1.tar.gz.

File metadata

File hashes

Hashes for spectral_fingerprints-2.1.1.tar.gz
Algorithm Hash digest
SHA256 55d4ac50116293eeac6c30c681d6b7dc362525a4798d2431856fb77e4a7ce100
MD5 f686139da1a9a44a8e7bf3ed8cd82ec5
BLAKE2b-256 4e6f117295133786aaa3db0df053e13c1fa782b8b54feb088416bdb76038629f

See more details on using hashes here.

File details

Details for the file spectral_fingerprints-2.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for spectral_fingerprints-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c7f6f0f583336b017608c696b7ff98ecb3e7f47967a93f59ad8f10792330d3c
MD5 d6e0628770d119e268f504c6f2167184
BLAKE2b-256 22ca5bf1074ba98a96cb79bcc8dfd04368f9efab941d23b8f16371919993564e

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