Skip to main content

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)

Metadata

Release files for spectral-fingerprints 2.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spectral-fingerprints 2.1.2
File Size Uploaded Provenance Actions
spectral_fingerprints-2.1.2.tar.gz 22.2 kB Without provenance Details for spectral_fingerprints-2.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for spectral-fingerprints 2.1.2
File Interpreter ABI Platform Actions
spectral_fingerprints-2.1.2-py3-none-any.whl Python 3 none any Details for spectral_fingerprints-2.1.2-py3-none-any.whl

Total release size: 41.5 kB

Release files / spectral_fingerprints-2.1.2.tar.gz

Download URL spectral_fingerprints-2.1.2.tar.gz
Size 22.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a8f34b487ff2baf459026a8fae6bfe1b85c149f8828c5b7376660b66f6fa0609
BLAKE2b-256 checksum
How to use checksums
38b44e606a2c4cb74f70e398929d3422f798b7e59d4238450a783163911059ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release files / spectral_fingerprints-2.1.2-py3-none-any.whl

Download URL spectral_fingerprints-2.1.2-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c3e979d9987b6a8ea45ba8a4774d28e624bd43c10d85e0d124bd0df74b1b7d5
BLAKE2b-256 checksum
How to use checksums
6d51cb684af4c1e2fa256fa09c48d39671c6f4e22a892572e46f3888a277bff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Security for spectral-fingerprints 2.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page