materialsproject / emmet

Be a master builder of databases of material properties. Avoid the Kragle.
https://materialsproject.github.io/emmet/
Other
51 stars 63 forks source link

Add triaging to emmet core and cli #897

Closed esoteric-ephemera closed 8 months ago

esoteric-ephemera commented 8 months ago

Adds triaging feature to emmet core and cli to compare ingested entries against reasonable physical parameters in MP. Allows for quarantining possible ingested entries to manually review. Physical criteria include maximum coordination number, bounds on atomic packing density, and relative compositional presence (e.g., to filter out point defects of 99.9x% alloys).

Main use in cli is the TriageDoc class from emmet.core.triage.MP_triager. The Filter and Triager classes in emmet.core.triage might be better served somewhere else in the MP stack, and the MP_triager module contains wrapped versions of both that are specific to emmet (EmmetFilter to handle enum-based error messages and MPTriager). TriageDoc is a light wrapper around MPTriager. Both have a from_task_doc class-method that accepts either TaskDoc or TaskDocument args.

Started adding tests. Params of the triager subject to change pending further review/discussion.