wepy icon indicating copy to clipboard operation
wepy copied to clipboard

Refactor and consistent handling of OpenMMState fields

Open salotz opened this issue 1 year ago • 2 comments

Currently the mechanisms for wrapping and retrieving dynamically available fields in the OpenMMState and how it wraps the OpenMM.State is very flaky and causes problems for the tail of attributes that aren't actually ever used in practice very much (e.g. parameter derivatives).

I would like to refactor this so that these only cause problems when a user actually wants these things.

A checklist:

  • [ ] refactor the code to be easier to maintain by using template functions for most functionality
  • [ ] add more consistency checks requiring certain data ahead of when it is needed
  • [ ] allow for requesting only certain fields for the dict method
  • [ ] support querying what fields are actually available more easily
  • [ ] add better and more consistent error handling and remove unnecessary warnings (see also #102 )

I have some work towards this already and will need to just finish some things on this checklist to maintain full support and backwards compatibility.

salotz avatar Nov 08 '23 20:11 salotz