Skip to content

gmx_MMPBSA_ana: The analyzer tool

Overview

gmx_MMPBSA_ana is a simple but powerful tool for analyzing gmx_MMPBSA results. It provides fast access to several types of plots and includes options for customizing graphs and exporting high-quality figures (Figure 1). The tool has been optimized to handle many charts (see the performance section). It retains the core design of its predecessor, gmx_MMPBSA_ana v1.4.3, but uses a substantially different back-end API and is therefore incompatible with files from earlier versions.

Fast like a rocket

After version 1.5.2, gmx_MMPBSA_ana experienced serious performance problems. We reworked its implementation from the ground up; the benchmark results are shown below.

Historical benchmark

The performance table below is a historical v1.5.5 benchmark. Hardware and software details are not recorded here, so it should not be interpreted as a current performance claim for the 1.7.0 release.

Number of systems/CPUs Type Frames v1.5.2 v1.5.2+20 v1.5.5 Improvement
1 Energy 200000 fail 960s 17s 56x
4 Energy 200000 fail 4515s 17s 265x
1 Energy+Decomp(per-wise) 11 fail 192s 9s 21x
4 Energy+Decomp(per-wise) 11 fail 960s 14s 69x

To this end, we have made the following changes:

  • Reimplemented multiprocessing for reading systems.
  • Implemented multithreading for data processing.
  • Improved the reading of output files and optimized data storage.
  • Eliminated the recalculation of IE and C2 entropies before opening the GUI; values are now read from output files.
  • Optimized data storage and access to subsets in pandas DataFrames.
  • Prevented file processing and figure generation from freezing the GUI.
  • Removed redundant steps and data.
  • Removed line graphs for components in the per-wise decomposition schema.
  • Data access, processing, and storage are done in the API.
  • Added the option to temporarily store data on the hard disk instead of memory.
  • Removed several pop-up windows.
  • Added waiting indicators.
  • Added multiple systems, subsystems, and component selection options.

gmx_MMPBSA_ana components

  1. System selection window
  2. Data/Correlation panel
  3. Options panel
  4. Plot area
  5. Menus

overview

Figure 1. gmx_MMPBSA_ana graphical overview

1- System selection window

This dialog allows you to select the systems of interest and their components. The available options control how gmx_MMPBSA_ana processes the result files:

  • Energy Options selects which complex (COM), receptor (REC), ligand (LIG), and delta data are loaded. Remove empty terms hides terms whose absolute value is below the configured threshold (the default is 0.01 kcal/mol).
  • Decomposition Options selects which decomposition data are loaded. Remove non-contributing residues hides residues below the configured per-residue threshold (the default is 0.5 kcal/mol).
  • The result tree lets you include normal and mutant systems, enter experimental Ki values, select systems for correlation, and choose a reference system for a ΔΔG correlation. The Chart Settings column selects the saved chart configuration for each system.
  • Correlation enables between-system analysis when more than three systems are loaded and lets you choose ΔG or ΔΔG.
  • Convert frames to time changes the x-axis from frame numbers to a user-defined start, scale, and time unit.
  • Charts options controls whether chart toolbars are hidden and whether the current chart configuration is reset.
  • Performance Options provides a simple performance preset or advanced controls for in-memory loading and the number of multiprocessing jobs.

This allows you to take advantage of the flexibility of gmx_MMPBSA to carry out several analysis types in the same run and focus on the key elements for each of these analyses.

2- Data/Correlation panel

This panel contains two independent subpanels, Data and Correlation, which have similar organization but slightly different functions.

Structure

This panel uses a tree structure. Each system shown in gray is a top-level item containing child items organized by calculation type. You can expand or collapse each top-level item to manage many systems while keeping the relevant items visible.

The correlation panel is available when Between systems was enabled during initialization. It compares experimental binding free energies with calculated system summaries; trajectory frames from different systems are not paired.

The panel contains:

  • a model table with the available ΔG models. Depending on the loaded data, these can include ΔG effective, ΔG IE, ΔG C2, ΔG NMODE, and ΔG QH. Each model provides a regression-chart button.
  • a data table showing the systems used by the selected model: system number, normal or mutant type, experimental ΔG, calculated average, Block SD, Block SEM, SD, and SEM.
  • a Charts tab for regression-plot settings and a Selections tab for choosing systems and the reference system.

The Selections table contains Id, Sel., Ref., Type, Exp. Ki, and Name. Sel. includes a system in the correlation, while Ref. selects the normal system used as the reference for a ΔΔG correlation. Experimental Ki values are converted to ΔG using each system's temperature. A regression chart requires at least four valid selected systems with both experimental and calculated values. The chart uses experimental ΔG on the x-axis and calculated ΔG on the y-axis; its settings include a confidence interval, Pearson and Spearman statistics, the regression equation, optional marginal distributions, and optional uncertainty bars.

Buttons and Actions

Each item represents data associated with a calculation type and component (e.g., complex, receptor, ligand, or delta). The available buttons and actions depend on the data in the item. An item can have up to seven buttons:

Button Visual element Description
resultfiles Result files Open the calculation output; the decomposition output is available when decomposition data were loaded.
lineplot Line plot Show or hide the component by frame, with an optional Show in table action.
barplot Bar plot Show or hide the aggregate component plot, with an optional Show in table action.
heatmap Heatmap Show or hide the per-residue or pairwise heatmap, with an optional Show in table action.
pymol PyMOL visualization Open the complex per-residue energy representation in PyMOL; PyMOL must be available in PATH.
summarytable Summary table Show or hide the summary table for a parent item with multiple energy components.
multiacti Multiple activation button Toggle all available actions for the item at the same time.

The line, bar, and heatmap buttons have a drop-down menu with a Show in table action. The multiple activation button toggles all available actions for the selected item, including the result table when that action is available.

Example:

buttonexample

Figure 2. Button representation example

3- Options panel

The panel starts with a selection control and contains two tabs. Selected System applies changes to the current system; All Systems becomes available when multiple systems are loaded.

Contains five menus:

  • General controls settings such as the theme and figure export format.
  • Line Plot controls settings such as line width, line color, and the appearance of rolling-average lines.
  • Bar Plot controls settings such as bar color and label appearance.
  • Heatmap Plot controls settings such as receptor and ligand colors and the color palette.
  • Visualization controls PyMOL settings such as the color palette, background color, and representation.

The configuration menu can set the current settings as defaults, restore developer defaults, save a system-specific configuration, or use an existing system-specific configuration.

Contains three windows:

  • Energy changes the start, end, and interval between frames used for energy and decomposition plots.
  • NMODE changes the start, end, and interval between frames used for normal-mode calculations.
  • IE changes the percentage of the selected energy frames used for Interaction Entropy.

Press Update after changing frame or chart settings. An alert icon indicates that a changed frame range has not yet been applied.

4- Plot area

In this area, the graphs and tables included in each system will be displayed in the form of sub-windows (multi-document interface). This format allows you to move, resize and close each sub-window, offering a clean, organized, and fluid workspace to analyze a vast number of graphs.

Types of charts

Represents the evolution of a component during the simulation time. In some cases, it is the value of the calculated parameter, e.g.: TOTAL DELTA, VDWAALS, etc.; and in others, it is the sum of the elements it contains, eg: TDC as the sum of all the per-residue energy contributions.

Note

The line plot can additionally contain the moving average (solid red line) or other elements such as other indicators (dash red and green lines).

Warning

Note that TDC, SDC, and BDC are calculated from the immediate items contained within themselves. This means that the results obtained for the TDC in a per-residue calculation will probably be different from the TDC of a per-wise calculation with the same residues. This is because the per-residue energy contribution is calculated taking into account the environment that surrounds each residue, so the sum of their contributions will be exactly the maximum contribution per selected residues. On the other hand, in the per-wise calculation, the TDC will be equal to the sum of each residue contribution, the difference being that the contribution of each residue is obtained from the contributions of the selected pairs and not with all the environment that surrounds it. Therefore, both calculations should be used for different purposes and care should be taken with the interpretation of the results.

lineplot lineplotie
Figure 2. Line plot examples. Up: ΔH representation, Down: Interaction Entropy representation

Shows the aggregate contribution of a component over the simulation. Depending on the quantity, a bar represents either an average (for example, TOTAL DELTA, VDWAALS, or per-residue contributions) or a sum (for example, NMODE entropy, QH entropy, or binding free energy). Bars that represent averages can include an uncertainty line. The uncertainty representation is configurable as Block SEM, Block SD, SD, or SEM; Block SEM is the default for correlated trajectories.

barplot1 barplot2
Figure 3. Bar plot examples. Up: Per-residue contribution, Down: ΔG Binding

barplot3 barplot4
Figure 4. Bar plot examples. Up: Energetic terms plotted by subcomponents, Down: All energetic terms in the same plot.

Shows how several components vary across frames or residue relationships. A per-residue heatmap displays residue contributions by frame, while a per-wise heatmap displays the relationships between residue pairs. Receptor and ligand residues can be highlighted with separate colors.

Tip

The relational heatmap is usually the clearest representation for pairwise decomposition analysis.

heatmapplot1 heatmapplot2
Figure 5. Heatmap examples. Top: Per-residue contribution by frame. Bottom: Inter-residue pair contributions.

Shows the complex per-residue energy representation in a new PyMOL instance.

pymol
Figure 6. PyMOL visualization

5- Menus

This section contains three drop-down menus:

  • Close all -- closes all the graphs
  • Show Data -- shows data subpanel
  • Show Correlation -- shows correlation subpanel
  • Show Options -- shows options panel
  • Tile SubWindows -- arranges graphs in a tiled layout
  • Cascade SubWindows -- arranges graphs in a cascading layout

Representations

Note

The following videos demonstrate how to use gmx_MMPBSA_ana. They were recorded with an earlier version (v1.4.3), so some interface details may differ from the current release.

If you create a tutorial or another visual resource featuring the tool, contact us and we can consider linking it from the documentation and acknowledging your contribution.

Functionalities

Binding Free Energy calculation (GB + IE)

Alanine scanning

Per-residue decomposition

gmx_MMPBSA_ana under pressure

Warning

This stress test loaded approximately 1.8 million graphs. It is shown only to demonstrate performance at an unusually large scale.

For this experiment, the examples directory was replicated nine times to produce 99 systems; this differs from the examples available on GitHub. The analyzer loaded approximately 1.6 million items, each containing one to three graphs, for a total of roughly 1.8 million graphs. Loading took about 11 minutes, primarily because the data associated with each graph was processed serially. Typical workloads take about 25-30 seconds, depending on the hardware and data. Because each graph's data is retained in memory, RAM use reached approximately 14 GB during this stress test.

Danger

Be aware that if you run out of available RAM, your OS could crash, freeze, or slow down.

Does this mean that you will not be able to load 100 systems in gmx_MMPBSA_ana? Not at all. Consumption depends on the type of calculation you have made, and the data you want to analyze. In this experiment, several systems contained decomposition data, and the complex, receptor, and ligand components were all selected even though some are usually omitted. A single pairwise calculation involving about 40 amino acids can generate approximately 11,000 items.


Last update: September 12, 2026 16:51:50
Created: February 8, 2021 07:10:13
Back to top