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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.