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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spectral_fingerprints-2.1.2.tar.gz.
File metadata
- Download URL: spectral_fingerprints-2.1.2.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8f34b487ff2baf459026a8fae6bfe1b85c149f8828c5b7376660b66f6fa0609
|
|
| MD5 |
5f0c07ff4701414c12bb6113e326e8df
|
|
| BLAKE2b-256 |
38b44e606a2c4cb74f70e398929d3422f798b7e59d4238450a783163911059ec
|
File details
Details for the file spectral_fingerprints-2.1.2-py3-none-any.whl.
File metadata
- Download URL: spectral_fingerprints-2.1.2-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c3e979d9987b6a8ea45ba8a4774d28e624bd43c10d85e0d124bd0df74b1b7d5
|
|
| MD5 |
d8860fb8a27ba91ef9b83312077e35bf
|
|
| BLAKE2b-256 |
6d51cb684af4c1e2fa256fa09c48d39671c6f4e22a892572e46f3888a277bff0
|