How to featurize materials based on density of states

I am trying to featurize materials based on a material’s electronic density of states. It seems that there are already classes developed for this in matminer in matminer.featurizers.dos.

I want to use SiteDOS, DOSFeaturizer, DopingFermi, Hybridization and DosAsymmetry. It seems that to featurize the materials for example in DOSFeaturizer you need to have the structure data as shown in matminer/si_dos.json at 7f8520b97175db3c4fc6afe055cee664ebd77238 · hackingmaterials/matminer · GitHub

Can anyone please tell me how to generate this si_dos.json file ?
Do you need a software like vasp or can you get this from the density of states graph as shown in materialsproject website ?. If this is from the materials project can anyone guide me for the code ?

Also I would like to know how nb3sn_dos.json, si_bandstructure_line.json, si_structure.json, si_bandstructure_uniform.json in matminer/matminer/featurizers/tests at main · hackingmaterials/matminer · GitHub
files were generated as well.

Thank you.

I think you haven’t done your research enough before posting this question. Please do your research before posting questions in this forum.


To answer the question - the DOS files were generated using the VASP software to perform DFT calculations and the pymatgen software to parse the resulting DOS and generate the JSON.

1 Like

Thank you. Can the json files be generated by downloading the data for density of states diagram from the materials project for a particular material and then parsing with pymatgen to generate the JSON.
And If so, can anyone guide me through the code please.

You should be able to download the DOS from Materials Project. Please check the documentation for MP. There is also a function called get_dos_by_material_id in the pymatgen package (in pymatgen/ext/

1 Like