gbsa.Scorer() — create a new scorer to evaluate GB/SA energies

Scorer(library='$LIB/solv.lib', solvation_model=1, cutoff=8.0)

This creates a new class to be used for scoring models with the GB/SA implicit solvation model. To activate scoring, you must add an instance of this class to the relevant EnergyData.energy_terms list, in the same way as for user-defined energy terms (see Section 7.1.3).

library is the name of a library file containing radii and solvation parameters for all atom types. solvation_model selects which column of solvation parameters to use from this file. cutoff sets the distance in angstroms used to calculate the Born radii; the calculation can be made faster at the expense of accuracy by using a smaller cutoff. Note that GB/SA uses the same nonbonded list as the other dynamic terms, so cutoff should be chosen to be no greater than EnergyData.contact_shell. The electrostatic component of GB/SA is also switched using the value of EnergyData.coulomb_switch.

Example: examples/scoring/gbsa.py

# Example for: gbsa.scorer()
# This will calculate the GB/SA implicit solvation energy for a model.

from modeller import *
from modeller import gbsa
from modeller.scripts import complete_pdb

env = Environ()
env.io.atom_files_directory = ['../atom_files']
env.libs.topology.read(file='$(LIB)/top_heav.lib')
env.libs.parameters.read(file='$(LIB)/par.lib')

# Calculate just the GB/SA score; turn off soft-sphere
env.edat.dynamic_sphere = False
env.edat.energy_terms.append(gbsa.Scorer())
# GB/SA falls off slowly with distance, so a larger cutoff than the
# default (4.0) is recommended
env.edat.contact_shell = 8.0

mdl = complete_pdb(env, "1fas")

# Select all atoms
atmsel = Selection(mdl)

# Calculate the energy
atmsel.energy()