Skip to content

Conversation

JaGeo
Copy link
Member

@JaGeo JaGeo commented Apr 26, 2025

This is the PR to integrate LOBSTER into the Crystal Toolkit.

See below for a detailed explanation of the PR by @naik-aakash !

@JaGeo JaGeo changed the title Add LobsterNeighbors to list of bonding strategies Integrate LOBSTER apps into crystal toolkit Apr 26, 2025
@naik-aakash
Copy link

naik-aakash commented May 9, 2025

StructureMoleculeComponent update

  • @JaGeo added option to use LobsterNeighbors in structure visualization

CohpAndDosComponent Features

  • Get relevant bonds interactive cohp plots alongside dos from Lobstery by means of LobsterPy and existing dos plotter in crystaltoolkit
  • Include Bonding analysis summary and calculation quality texts
  • Include visualization of LobsterEnv identified environments
  • Hovering over atoms shows Mulliken charges and edges show the ICOHP values in the visualizer

Example rendered app

App_overview

Todos (Will be worked on once app layout is finalized))

  • Exception handling needs to be implemented
  • Add tests

Open questions and things to improve

  • App loading is currently slow as we pass in completecohp objects (this is quite large) as due to inherent nature of how ploty/dash handles callbacks, lot of time is spent in serialization and deserialization of this object

  • Vasprun.xml file seems to have issues with serialization via plotly so, I think, simple fix would be to just make a small change in pymatgen - Have included temporary workaround for it in the example script here.

  • Icohpcollection object also has serialization issues and currently a fix is a WIP via this Add custom as_dict/from_dict method for proper initialization of attributes of IcohpCollection pymatgen#4391

  • With the current changes LobsterNeighbors can also be used to visualize structure on the Main MP website. Is this desirable ? We think could be nice addition to already exisitng options.
    image

  • Need to agree on what would be best place to visualize LocalEnv identified from LobsterNeighbors, maybe in crystaltoolkit app ? (i.e move this part in localenv.py module ) or could be better to have all LOBSTER related information in one page as in current app layout?

  • What one can query over from MP website using mpid ? If we intend to provide complete taskdoc then we can then add option as in the app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants