Skip to content

Refactor and consistent handling of OpenMMState fields #117

@salotz

Description

@salotz

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 Proper error handling for missing OpenMM state variables #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions