Currently MMSchema does not handle multi-conformers (whereas OpenFF toolkit does). What is the best way to handle this disrepancy?
1 - Add another dimension to Molecule.geometry ? This would make Molecule overlap with Trajectory to some degree but would make Molecule a relevant output to equilibrium MM computations as well. It seems like a neat solution.
2 - Have mmic_translator optionally return multiple Molecule objects? This would make the process of translation between MMSchema and other codes/specs a bit awkward and less rigorous.
3 - Populate the Molecule.extras field with any extra conformers? This is a temporary solution but may last a while as long as every MM code does things in its own way.
Have mmic_translator optionally return multiple Molecule objects?
My reasoning is:
The primary use of an OpenFF molecule is as a kekule structure/graph. In OpenFF, conformers are optional and we can process a molecule completely without them
This is more forward-compatible - It keeps the door open for the other options later, if needed, without needing to raise errors for workflows/inputs that used to work.
Currently MMSchema does not handle multi-conformers (whereas OpenFF toolkit does). What is the best way to handle this disrepancy?
1 - Add another dimension to
Molecule.geometry
? This would makeMolecule
overlap withTrajectory
to some degree but would makeMolecule
a relevant output to equilibrium MM computations as well. It seems like a neat solution. 2 - Have mmic_translator optionally return multipleMolecule
objects? This would make the process of translation between MMSchema and other codes/specs a bit awkward and less rigorous. 3 - Populate theMolecule.extras
field with any extra conformers? This is a temporary solution but may last a while as long as every MM code does things in its own way.