chemparseplot.parse.plumed#
PLUMED metadynamics HILLS file parsing and FES reconstruction.
Module Contents#
Functions#
Helper function to calculate the 2D Free Energy Surface. |
|
Helper function to calculate the 1D Free Energy Surface. |
|
Calculates a 1D or 2D Free Energy Surface (FES) from a metadynamics hills file. |
|
Finds local minima on a Free Energy Surface by dividing it into bins. |
Data#
API#
- chemparseplot.parse.plumed._MIN_COLS_1D#
5
- chemparseplot.parse.plumed._MIN_COLS_2D#
7
- chemparseplot.parse.plumed._ALPHABET_SIZE#
26
- chemparseplot.parse.plumed._MIN_BIN_SIZE#
2
- chemparseplot.parse.plumed._calculate_fes_2d(hills_data, x, y, per, npoints)[source]#
Helper function to calculate the 2D Free Energy Surface.
The FES is calculated as the negative sum of Gaussian kernels. FES(x, y) = - sum_{i} [ H_i * exp( - (dx_i^2 / (2sx_i^2)) - (dy_i^2 / (2sy_i^2)) ) ]
- chemparseplot.parse.plumed._calculate_fes_1d(hills_data, x, per, npoints)[source]#
Helper function to calculate the 1D Free Energy Surface.
FES(x) = - sum_{i} [ H_i * exp( - (dx_i^2 / (2*sx_i^2)) ) ]
- chemparseplot.parse.plumed.calculate_fes_from_hills(hills, imin=1, imax=None, xlim=None, ylim=None, npoints=256)[source]#
Calculates a 1D or 2D Free Energy Surface (FES) from a metadynamics hills file.
.. versionadded:: 0.0.3
This is a Python/NumPy translation of the R function fes2.hillsfile.
Args: hills (dict): A dictionary containing the metadynamics data. Expected keys: ‘hillsfile’ (np.ndarray): The hills data. For 1D FES, shape is (N, 5). For 2D FES, shape is (N, 7). Columns are typically: time, cv1, (cv2), sigma_cv1, (sigma_cv2), height, … ‘per’ (list or tuple): A boolean list indicating periodicity for each CV. e.g., [False, False]. ‘pcv1’ (list or tuple): Periodic boundary limits for CV1. e.g., [0, 2*pi]. ‘pcv2’ (list or tuple): Periodic boundary limits for CV2. imin (int, optional): The starting hill index (1-based) to include in the FES. Defaults to 1. imax (int, optional): The final hill index (1-based) to include. If None, all hills from imin to the end are used. Defaults to None. xlim (list or tuple, optional): Manual limits for the x-axis (CV1). Defaults to None, which auto-detects limits. ylim (list or tuple, optional): Manual limits for the y-axis (CV2). Defaults to None, which auto-detects limits. npoints (int, optional): The number of grid points for each dimension. Defaults to 256.
Returns: PlumedFesResult: Typed free-energy-surface data with mapping-style access.
- chemparseplot.parse.plumed.find_fes_minima(fes_result, nbins=8)[source]#
Finds local minima on a Free Energy Surface by dividing it into bins.
.. versionadded:: 0.0.3
This is a Python/Pandas translation of the R function fesminima.fes.
Args: fes_result (dict): The output dictionary from calculate_fes_from_hills. nbins (int): The number of bins to divide each dimension into for the search.
Returns: PlumedMinimaResult: Typed minima result with mapping-style access. Returns None if no minima are found.