Is your feature request related to a problem? Please describe.
I would like to interface OPI Structure objects with MolBar (https://git.rwth-aachen.de/bannwarthlab/molbar), a powerful molecular identifier.
Describe the solution you'd like
A method structure.to_molbar() that delegates to a utility function in opi/utils/molbar.py.
The utility module handles the lazy import of MolBar and hands the coordinates to Molbar with the to_xyz_block(). Secondly, we could add a standalone molbar_data_to_structure() utility function that reconstructs a Structure from a MolBar.
MolBar will not be added as a hard dependency. The utility module should raise a clear ImportError with an install hint if MolBar is not present, following the same pattern used for ASE.
Describe alternatives you've considered
We could add MolBar as a dependecy but I would not like to do that.
Is your feature request related to a problem? Please describe.
I would like to interface OPI Structure objects with MolBar (https://git.rwth-aachen.de/bannwarthlab/molbar), a powerful molecular identifier.
Describe the solution you'd like
A method
structure.to_molbar()that delegates to a utility function inopi/utils/molbar.py.The utility module handles the lazy import of MolBar and hands the coordinates to Molbar with the
to_xyz_block(). Secondly, we could add a standalonemolbar_data_to_structure()utility function that reconstructs aStructurefrom a MolBar.MolBar will not be added as a hard dependency. The utility module should raise a clear ImportError with an install hint if MolBar is not present, following the same pattern used for ASE.
Describe alternatives you've considered
We could add MolBar as a dependecy but I would not like to do that.