Skip to content

Discrepancy in E_norm Calculation Between GISTTOOLS and GIST Tutorial #83

@gkxiao

Description

@gkxiao

Description:

I’ve noticed a significant difference in how the normalized total energy E_norm is computed between GISTTOOLS and the official GIST Tutorial.

  1. In GISTTOOLS (gist.py line 1071):
  • The _recipe_A_norm method defines:
    def _recipe_A_norm(self, index):
        """Create A_norm."""
        return (
            self.loc[index, "Eww_norm"]
            + self.loc[index, "Esw_norm"]
            - self.loc[index, 'dTSsix_norm']
        )

It means:

A_norm = Eww_norm + Esw_norm - dTSsix_norm      (1)

and:

E_norm = Eww_norm + Esw_norm         (2)
  1. In the GIST Tutorial (Python example for figure 5.):
import gisttools as gt
# Load the GIST data, make sure to set the correct reference energy
gist = gt.gist.load_gist_file('gist.dat',
struct='solute-centered.pdb', eww_ref=-9.5398)
# Calculate the total energy without double counting
gist['E_norm'] = gist['Eww_norm'] * 2 + gist['Esw_norm']
# Set the energy to zero for all voxels with no population
gist.loc[gist['population'] == 0, 'E_norm'] = 0
# Save the new energy to a dx file
gist.save_dx('E_norm', 'gist-E-per-mol-norm.dx')

Where, the comment claims double counting is avoided, but the code includes a factor of 2 for Eww_norm,

E_norm = 2 * Eww_norm + Esw_norm       (3)

which may imply double counting rather than avoidance. The intention behind this should be clarified.

Eqation 3 effectively doubles the water-water interaction term.

This discrepancy raises concerns about consistency and physical interpretation:

  • Multiplying by 2 implies a correction for double counting, but it’s unclear whether this factor is already embedded in the Eww_norm values provided by GIST.
  • If Eww_norm is already computed per interaction (not per molecule), then multiplying by 2 would be incorrect.
  • Conversely, if Eww_norm is defined per molecule, then doubling would be appropriate for the total.

Question: Could you please clarify the definition of Eww_norm in the GIST output and confirm which version of the E_norm formula is correct for standard GIST analysis?

This is important for ensuring consistency when using GISTTOOLS for visualization, scoring, or comparison with literature results.

Thank you!
— Gaokeng Xiao

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions