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.2.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.2-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for spectral_fingerprints-2.1.2.tar.gz
Algorithm Hash digest
SHA256 a8f34b487ff2baf459026a8fae6bfe1b85c149f8828c5b7376660b66f6fa0609
MD5 5f0c07ff4701414c12bb6113e326e8df
BLAKE2b-256 38b44e606a2c4cb74f70e398929d3422f798b7e59d4238450a783163911059ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spectral_fingerprints-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c3e979d9987b6a8ea45ba8a4774d28e624bd43c10d85e0d124bd0df74b1b7d5
MD5 d8860fb8a27ba91ef9b83312077e35bf
BLAKE2b-256 6d51cb684af4c1e2fa256fa09c48d39671c6f4e22a892572e46f3888a277bff0

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