![](https://secure.gravatar.com/avatar/db2d4837459ae7d4dbb1afa535aa68fa.jpg?s=120&d=mm&r=g)
Dear Modeller Team,
I am currently looking for a quick method for calculating the energy of protein structures. I understand that Modeller utilizes a simplified version of the CHARMM force field, which suits my needs, as I’m looking for a fast and approximate energy calculation.
I would like to print out each energy term, but with the current code I’m using, the Lennard-Jones and Coulomb terms are returning zero. Could you please advise on how to resolve this issue?
The code that I used:
from modeller import * from modeller.scripts import complete_pdb
# Initialize MODELLER environment (use Environ instead of environ) env = Environ()
# Load topology and parameter libraries env.libs.topology.read(file='$(LIB)/top_heav.lib') # Heavy atom topology env.libs.parameters.read(file='$(LIB)/par.lib') # Parameter library
# Read in the protein structure mdl = complete_pdb(env, '3VXU.pdb')
# Calculate energy mdl.energy()
# Energy calculations are complete print("\nEnergy calculation completed.")
---
Thank you for your help.
Best,
Li
![](https://secure.gravatar.com/avatar/88936d77693bc91ead290eb113b83e4a.jpg?s=120&d=mm&r=g)
On 1/21/25 6:11 PM, Li Xue via modeller_usage wrote: > I am currently looking for a quick method for calculating the energy of > protein structures. I understand that Modeller utilizes a simplified > version of the CHARMM force field, which suits my needs, as I’m looking > for a fast and approximate energy calculation. > > I would like to print out each energy term, but with the current code > I’m using, the Lennard-Jones and Coulomb terms are returning zero. Could > you please advise on how to resolve this issue?
The scores are zero because by default the Modeller scoring function does not include them; see https://salilab.org/modeller/10.6/manual/node109.html#SECTION001031100000000...
Rather than Lennard-Jones, a simpler and faster soft-sphere interaction is calculated instead. Electrostatic terms are not calculated at all (the assumption is that usually your template structure will implicitly encode this interaction).
You could try adding env.edat.dynamic_sphere = False env.edat.dynamic_lennard = True env.edat.dynamic_coulomb = True
after you create your Environ object.
Ben Webb, Modeller Caretaker
participants (2)
-
Li Xue
-
Modeller Caretaker