Version 0.7.0
Several major changes have been made since the last release of version 0.6.0. Below we list all changes that would influence the way ensemble_md
is used, in the order of decreasing importance.
- Deployed the package to PyPI: https://pypi.org/project/ensemble-md/0.7.0/
ensemble_md
has been enabled to work with MPI-enabled GROMACS.- Enabled coordinate modification/relative free energy calculations in the EEXE framework
- See the project page to find the corresponding issues and PRs relevant to the work.
- Added the YAML parameter
modify_coords
for specifying the external module for coordinate manipulation. - Added a predefined contract for the external module
modify_coords
- Enabled specifying different GRO and TOP input files.
- Enabled specifying different MDP parameters for different replicas by adding the YAML parameter
mdp_args
. - Added the YAML parameter
add_swappables
to enable relative free energy calculations using EEXE.
- Better parameter handling
- Added restrictions for specifying
nstlog
andnstdhdl
in the input MDP template - Added
get_ref_dist
to the classEnsembleEXE
and modifiedupdate_MDP
to fix the reference distance(s) for all iterations when distance restraint(s) are used. This solved the issue of poor sampling for the CB7-10 test system.
- Added restrictions for specifying
- Enabled inverse variance weighting in weight combination
- Added new functionalities to
analyze_traj.py
, includingplot_g_vecs
,get_swaps
,plot_swaps
, andstitch_trajs_for_sim
- Modified functionalities
- Converted
identify_swappable_pairs
into a static method - Modified
explore_EEXE
to allow estimating the chance of not having any swappable pairs
- Converted
- Removed
map_lambda2state
and the attributeslambda_dict
andlambda_ranges
- Fixed the bug so that executions on all ranks are terminated whenever is a GROMACS error in any child process
- Several minor bug fixes in several functions, including
get_averaged_weights
,reformat_MDP
,parse_log
, andautoconvert
- Updated the documentation
In the next release, we will focus more on refining functionalities for data analysis.