Mvc- not working, Downloading huge chucks of data based on material_id

I have several questions:

1: When I use pymatgen.ext.matproj to extract information I can not find anything when using the material id starting with “mvc-”, It only returns empty lists. It works fine if it is a “mp-” query.

2: I am looking to get all the information from the mvc project and was curious if there were some simple way of doing this, something like “get_entries(mvc-*)”?

Thank you!


Update on 1: Solved the issue by changing the query from m.get_something to: m.query(criteria={“task_id”: {"$in": [“mvc-1200012825”, “mvc-1”]}}, properties=[“structure”]).

Hi @Sondre_Torp,

The MVC IDs are being rebadged with MP Ids to maintain a consistent naming scheme in the DB. We still have the MVC IDs in the task_ids list which you can also search using a mongo query syntax: criteria={"task_ids": {"$in": ["mvc-1200012825"]}}

if you want all MVC IDs, you’ll need to do some work with something like this:

all_task_ids = {task_id for doc in m.query(criteria={},["task_ids"]) for task_id in doc.get("task_ids",[])}
mvc_ids = {task_id for task_id in all_task_ids if "mvc" in task_id}

Thank you Shyamd!

That helps a lot!


Hello again Shyamd,

I have now manage to get “many” of the mvc’s with; criteria={“task_id”: {"$regex":“mvc-”}, my problem still being that I do not get any of the information on materials under the /batteries/- category. Even if I ask for specific once, like “mvc-1200012825” it only returns an empty list. While mvc’s under /materials/ work as expected (f.eks. mvc-3668). I have tested this for several other material ID’s and it seems not to work for any material from the intercalation battery framework.

How do i get the rest of the mvc-'s, or rather the once that I am interested in?

Thanks again!

Hi @Sondre_Torp

The battery IDs don’t correspond to material IDs. This is something we are considering changing in the future, but are not yet sure how to go about that.

1 Like