materialsproject / api

New API client for the Materials Project
https://materialsproject.github.io/api/
Other
104 stars 38 forks source link

Material missing from Materials Explorer #802

Closed keeganq closed 1 year ago

keeganq commented 1 year ago

I was working with a local copy of the charge density data today and I decided to cross reference what I have downloaded locally with what is on the Materials Explorer. I searched by MPID for "mp-31053", but it doesn't seem to be found by Materials Explorer.

I went back and tried using the MPRester client to retrieve the material using the API, and it appears to still be present in the database.

from mp_api.client import MPRester

with MPRester(MP_API_KEY) as mpr:
    chgcar, taskdoc = mpr.get_charge_density_from_material_id("mp-31053", inc_task_doc=True)

However, I also found that the data that was retrieved did not match what I have stored locally (downloaded last fall). I realize that the charge density information may have been updated since it was last retrieved, but I mention it here to help debug if it wasn't recently updated.

FWIW, I tried this with a few other materials and was able to find their data on the Materials Explorer, and API calls retrieved data that matched what I had stored locally, but I haven't done further testing.

munrojm commented 1 year ago

Unfortunately, it looks like that material was deprecated which is why it isn't showing up in the explorer. You can definitely still access its related data through the API, as you have done.

Indeed the charge density data may have also been updated since you last pulled it. If it is due to a replacement of the "canonical" task, then the other charge density data should still be available. If it is due to a much rarer re-parsing of the raw data (which only happens if significant issues come up), then it won't be. We are currently in the process of trying to make it easier to access previous version of all of our data, and will hopefully have more to share on this soon.

keeganq commented 1 year ago

Ah, I see. What does "deprecation" mean in this case? Is there any way to identify deprecated materials through the API?

munrojm commented 1 year ago

If there is an issue with one or more calculations associated with a material, we may choose to deprecate it. Meaning, it doesn't show up by default on the website, but remains available through the API. You can query using the deprecated input argument to MPRester.materials.search or MPRester.summary.search.