Skip to main content

Definition

The SASA energy is the mean solvent-accessible surface area of atoms in the group, normalized by a maximum SASA value. ESASA=1Natoms,GaGSASAaSASAmaxE_{\mathrm{SASA}} = \frac{1}{N_{\mathrm{atoms},G}} \sum_{a \in G} \frac{\mathrm{SASA}_a}{\mathrm{SASA}_{\max}}
  • SASAa\mathrm{SASA}_a is the solvent-accessible surface area of atom aa
  • SASAmax\mathrm{SASA}_{\max} is a normalization constant (by default, the full surface area of a sulfur atom)
  • Natoms,GN_{\mathrm{atoms},G} is the number of atoms in the group GG

Parameters

oracle
FoldingOracle
required
The oracle to use for the energy term.
inheritable
bool
default:"True"
If a new residue is added next to a residue included in this energy term, this dictates whether that new residue could then be added to this energy term.
residues
list[Residue] | None
default:"None"
Which residues to include in the calculation. Considers all residues by default.
probe_radius
float | None
default:"None"
The VdW-radius of the solvent molecules used in the SASA calculation. Default is the water VdW-radius.
max_sasa
float | None
default:"None"
The maximum SASA value used if normalization is enabled. Default is the full surface area of a Sulfur atom.
weight
float
default:"1.0"
name
str | None
default:"None"
Optional name to append to the energy term name.

Methods

compute

Parameters
oracles_result
OraclesResultDict
required

Example

import bagel as bg

# Create the folding oracle
esmfold = bg.oracles.ESMFold()

# Minimize exposed surface area for a specific group of residues
surface_energy = bg.energies.SurfaceAreaEnergy(
    oracle=esmfold,
    residues=residues,
    weight=1.0,
)

# Add to a state
state = bg.State(
    chains=[chain],
    energy_terms=[surface_energy],
    name="my_state",
)