Skip to content

Efficiently compute reduced potential at a list of states #321

@andrrizzi

Description

@andrrizzi

With exact treatment of PME electrostatics, computing the energy matrix required for MBAR is very expensive. We can compute the optimization discussed in choderalab/yank#678 and choderalab/sams#9: i.e., split the alchemical forces into different groups and compute the energy of only the groups that are different. Here's how I plan to add the feature:

  • Add option split_force_groups in AbsoluteAlchemicalFactory.__init__() to split forces by alchemical variable.
  • Require ComposableStates to implement a method _find_force_groups_to_update(context, context_thermodynamic_state) that figures out which force groups need to be computed to obtain the difference of potential energy.
  • Add a classmethod ThermodynamicState.reduced_potential_at_states(context, thermodynamic_state_list) that uses the method above to efficiently compute the reduced potential at all the given thermodynamic states.

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