aiidateam / team-compass

A repository for storing the AiiDA team roadmap
https://team-compass.readthedocs.io
MIT License
0 stars 0 forks source link

Future: Allow users to use the optimade structure as first-class citizen that can import/export to AiiDA #15

Open unkcpz opened 1 year ago

unkcpz commented 1 year ago

Motivation

Integrate the OPTIMADE API as a first-class citizen into the AiiDA ecosystem. This will enable AiiDA users to import and export structure data easily using the OPTIMADE API, providing a more streamlined and convenient way to access and share structure data.

Use case 1: Users can use the OPTIMADE API to query for structures and use it directly for their AiiDA workflow.

Use case 2: Users running calculations have a group of structures in the database they want to convert to the OPTIMADE server for hosting the data. Currently, this can be achieved using aiida-optimade by using the AiiDA data type. It would be very useful if the output structures conform to the OPTIMADE specification format and can be easily served using optimade-python-tool.

Desired Outcome

The optimade query can be directly used as the structure input of a calculation. The export data can be a database type that can be served as OPTIMADE server without data modification or other plugins (aiida-optimade) required.

Impact

If the OPTIMADE data can be recognized by the AiiDA, the Materials Cloud can easily use the exported MongoDB JSON database to serve the Materials Cloud OPTIMADE sub-databases. Probably it is possible to dynamically serving the data from the Materials Cloud archive that is a database compatible with OPTIMADE specification.

The utilization of AiiDA as the workflow engine, coupled with the utilization of structures from an OPTIMADE-supported database, enables high-throughput calculations to seamlessly traverse the database without necessitating additional structure conversion or sanitization procedures.

Complexity

We need an additional structure data type, other than StructureData and CifData, we want to have OptimadeData. However, we don't want to introduce any more domain-specific data types to the aiida-core. One option is to implement it as a plugin, but this would require moving both StructureData and CifData at the same time. This goes against the goal of having a domain-agnostic AiiDA core, as discussed in another roadmap issue (TODO: link required). While it's straightforward to add a plugin for the new structure data type, replacing the current data in aiida-core with the new plugin is not a simple task.

Progress

NaN

unkcpz commented 1 year ago

@eimrek @ml-evs @giovannipizzi I did this roadmap item which I opened and assigned to myself last year after the workshop. Sadly no progress on this but it is very related to what we are going to discuss on Monday.