This package implements fingerprints of the electronic density-of-states (DOS) for the evaluation of similarity of materials based on their electronic structures.
The fingerprints are based on a modification on the D-Fingerprints presented in Ref. [1]. Our modification allows to target specific energy ranges for the evaluation of the similarity of the electronic structure. As a similarity measure we use the Tanimoto coefficient [2].
Fingerprints are instances of the DOSFingerprint()
class and can be calculated by providing the energy in [Joule] and the DOS in [states/unit cell/Joule] to the calculate()
method. Furthermore, the parameters of a non-uniform grid can be chosen. The default grid is specialized on the energy range between -10 and 5 eV and emphasizes the upper valence region.
from nomad_dos_fingerprints import DOSFingerprint
dos_fingerprint = DOSFingerprint().calculate(<dos_energies>,<dos_values>)
To evaluate the similarity, the function tanimoto_similarity()
can be used:
from nomad_dos_fingerprints import tanimoto_similarity
tc = tanimoto_similarity(dos_fingerprint_1, dos_fingerprint_2)
[1] Isayev et al., Chem. Mater. 2015, 27, 3, 735–743 (doi:10.1021/cm503507h)
[2] P. Willet et al., J. Chem. Inf. Comput . 38 , 983 996 (1998) (doi:10.1021/ci9800211)