wehs7661 / ensemble_md

A python package for performing GROMACS simulation ensembles
MIT License
13 stars 4 forks source link

Fixed-weight EEXE simulations should have the choice to be initiated by different sets of weights for different replicas #17

Closed wehs7661 closed 1 year ago

wehs7661 commented 1 year ago

In the current implementation, the weights of EXE replicas in a fixed-weight EEXE simulation are initialized from the same set of weights defined in the template MDP file. For example, say that the weights corresponding to the full alchemical path that covers 4 states include 0, 0.5, 1.5, and 3.5. Then for the first replica that spans 3 states, the weights would be 0, 0.5, and 1.5, and those for the second replica would be 0, 1.0, 3.0 (after shifting the weight of the first state to 0).

However, the user should have the choice to have different sets of weights for states in different replicas. For example, one could have 0., 0.5, and 1.5 for the first replica, but have 0, 0.5, 3.0 for the second replica (instead of 0, 1.0, 3.0). This could be useful for, but not limited to EEXE simulations for multiple serial mutations and can possibly be done by inputting multiple MDP files or specifying the list of weights in the YAML file.

This issue is a part of the work in the project EEXE for serial mutations.

wehs7661 commented 1 year ago

We later decided to implement the feature by allowing specifying multiple MDP files, one for each replica, so the user can, for example, specifies different alchemical paths and the corresponding weights for different mutations. Notably, the input MDP files should have the same values for parameters other than lambda values and weights.

In the future, the way of implementing the feature may allow higher flexibility, especially when one wants to use the ensemble_md package to perform simulation replicas with different general MD parameters (parameters other than just lambda values or weights). However, set_params would still need to be modified for such purposes so different MDP files could have different values for other parameters as well.

wehs7661 commented 1 year ago

The feature has been implemented in commit b5301c7.