BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Enumerations | Functions
Solvation methods

Classes

class  BALL::ClaverieParameter
 
class  BALL::ElectrostaticPotentialCalculator
 
struct  BALL::ElectrostaticPotentialCalculator::Option
 
struct  BALL::ElectrostaticPotentialCalculator::Default
 
class  BALL::Pair6_12InteractionEnergyProcessor
 
class  BALL::Pair6_12RDFIntegrator
 
class  BALL::PairExpInteractionEnergyProcessor
 
class  BALL::PairExpRDFIntegrator
 
class  BALL::PCMCavFreeEnergyProcessor
 
class  BALL::PierottiCavFreeEnergyProcessor
 
class  BALL::FDPB
 
struct  BALL::FDPB::Boundary
 
struct  BALL::FDPB::ChargeDistribution
 
struct  BALL::FDPB::DielectricSmoothing
 
struct  BALL::FDPB::FastAtomStruct
 
class  BALL::ReissCavFreeEnergyProcessor
 
class  BALL::SolventAtomDescriptor
 
class  BALL::SolventDescriptor
 
class  BALL::SolventParameter
 
class  BALL::UhligCavFreeEnergyProcessor
 

Enumerations

enum  BALL::Pair6_12InteractionEnergyProcessor::SurfaceType { BALL::Pair6_12InteractionEnergyProcessor::SURFACE__UNKNOWN = 0, BALL::Pair6_12InteractionEnergyProcessor::SURFACE__SAS = 1, BALL::Pair6_12InteractionEnergyProcessor::SURFACE__SES = 2, BALL::Pair6_12InteractionEnergyProcessor::SURFACE__EXTERNAL = 3 }
 
enum  BALL::Pair6_12RDFIntegrator::IntegrationMethod { BALL::Pair6_12RDFIntegrator::METHOD__UNKNOWN = 0, BALL::Pair6_12RDFIntegrator::METHOD__ANALYTICAL = 1, BALL::Pair6_12RDFIntegrator::METHOD__TRAPEZIUM = 2 }
 
enum  BALL::PairExpInteractionEnergyProcessor::SurfaceType { BALL::PairExpInteractionEnergyProcessor::SURFACE__UNKNOWN = 0, BALL::PairExpInteractionEnergyProcessor::SURFACE__SAS = 1, BALL::PairExpInteractionEnergyProcessor::SURFACE__SES = 2, BALL::PairExpInteractionEnergyProcessor::SURFACE__EXTERNAL = 3 }
 
enum  BALL::FDPB::ErrorCode {
  BALL::FDPB::ERROR__NONE = -1, BALL::FDPB::ERROR__UNKNOWN = 0, BALL::FDPB::ERROR__NOT_IMPLEMENTED = 1, BALL::FDPB::ERROR__CANNOT_CREATE_ATOM_ARRAY,
  BALL::FDPB::ERROR__CANNOT_CREATE_SAS_GRID, BALL::FDPB::ERROR__CANNOT_CREATE_EPSILON_GRID, BALL::FDPB::ERROR__CANNOT_CREATE_KAPPA_GRID, BALL::FDPB::ERROR__CANNOT_CREATE_CHARGE_GRID,
  BALL::FDPB::ERROR__CANNOT_CREATE_PHI_GRID, BALL::FDPB::ERROR__SAS_GRID_REQUIRED, BALL::FDPB::ERROR__EPSILON_GRID_REQUIRED, BALL::FDPB::ERROR__ATOM_ARRAY_REQUIRED,
  BALL::FDPB::ERROR__PHI_GRID_REQUIRED, BALL::FDPB::ERROR__OUT_OF_MEMORY, BALL::FDPB::ERROR__UNKNOWN_DIELECTRIC_SMOOTHING_METHOD, BALL::FDPB::ERROR__UNKNOWN_CHARGE_DISTRIBUTION_METHOD,
  BALL::FDPB::ERROR__UNKNOWN_BOUNDARY_CONDITION_TYPE, BALL::FDPB::ERROR__NOT_A_VECTOR_IN_UPPER_LOWER, BALL::FDPB::ERROR__ILLEGAL_VALUE_FOR_LOWER_UPPER, BALL::FDPB::ERROR__SETUP_REQUIRED,
  BALL::FDPB::NUMBER_OF_ERRORS
}
 

Functions

BALL_EXPORT TRegularData3D
< char > * 
BALL::calculateSESGrid (const Vector3 &lower, const Vector3 &upper, float spacing, const System &system, float probe_radius)
 
BALL_EXPORT TRegularData3D
< char > * 
BALL::calculateSASGrid (const Vector3 &lower, const Vector3 &upper, float spacing, const System &system, float probe_radius)
 
BALL_EXPORT double BALL::calculateOoiEnergy (AtomContainer &atoms)
 

Detailed Description

This chapter contains all relevant information on the use of BALL solvation methods.

Enumeration Type Documentation

Error codes: these are the possible error codes that can be produced by FDPB.

See also
FDPB::getErrorCode()
FDPB::getErrorMessage()
Enumerator
ERROR__NONE 

No error.

ERROR__UNKNOWN 

Unknown error.

ERROR__NOT_IMPLEMENTED 

Not implemented error. Someone has been too lazy to implement the this method. Wait for the next release...

ERROR__CANNOT_CREATE_ATOM_ARRAY 

Unable to create the atom array/out of memory. FDPB internally creates a dynamic array containing the atoms of the system. If FDPB::setupAtomArray() cannot create this array you normally ran out of virtual memory.

ERROR__CANNOT_CREATE_SAS_GRID 

Unable to create SAS grid/out of memory. FDPB uses a TRegularData3D<char> (FDPB::SAS_grid) to describe whether a point in space is inside the ion exclusion layer. This grid is created by FDPB::setupSASGrid(). On failure this error code is set. It usually indicates a lack of virtual memory.

ERROR__CANNOT_CREATE_EPSILON_GRID 

Unable to create dielectric grid/out of memory. FDPB uses a TRegularData3D<float> ( FDPB::eps_grid ) to describe the dielectric constant $\varepsilon$ as a function of space. This grid is created by calling FDPB::setupEpsGrid(). It contains the relative dielectric constant between neighbouring grid points.

If virtual memory is exhausted and the grid could not be created this error is set.
ERROR__CANNOT_CREATE_KAPPA_GRID 

Unable to create grid for the modified Debye Hueckel parameter/out of memory. The modified Debye Hueckel parameter $\bar{\kappa}$ is also a function of space and therefore represented by a TRegularData3D<float> (FDPB::kappa_grid). The grid is created by FDPB::setupKappaGrid().

If the creation of this grid fails due to a alack of virtual memory this error code is set.
ERROR__CANNOT_CREATE_CHARGE_GRID 

Unable to create charge grid/out of memory. FDPB::setupQGrid() distributes the charge of the atoms in a grid. This grid is named FDPB::q_grid.

If the creation of this grid fails due to a lack of virtual memory, this error code is set.
ERROR__CANNOT_CREATE_PHI_GRID 

Unable to create electrostatic potential grid/out of memory. FDPB::setupPhiGrid() creates a TRegularData3D<float> (FDPB::phi_grid) containing the electrostatic potential as a function of space. If the creation of this grid fails due to a lack of virtual memory, this error code is set.

ERROR__SAS_GRID_REQUIRED 

Create solvent accessible surface grid first. This error code is set by FDPB::setupKappGrid() if it is called but the ion excluded surface has not been set (usually by calling FDPB::setupSASGrid).

Solution: call FDPB::setupKappaGrid after calling FDPB::setupSASGrid.
ERROR__EPSILON_GRID_REQUIRED 

Create dielectric constant grid first. This error code is set by FDPB::setupQGrid(), FDPB::setupKappaGrid(), or FDPB::setupPhiGrid() if it was called, but FDPB::eps_grid was not defined yet (this is usually done by calling FDPB::setupEpsGrid ).

Solution: call FDPB::setupEpsGrid first
ERROR__ATOM_ARRAY_REQUIRED 

Create atom array first. This error code is set by FDPB::setupQGrid() or FDPB::setupBoundary() if it was called but FDPB::atom_array was not yet defined (this is usually done by calling FDPB::setupAtomArray()).

Solution: call FDPB::setupAtomArray() first
ERROR__PHI_GRID_REQUIRED 

Create electrostatic potential grid first. FDPB::phi_grid contains the electrostatic potential at each point in space. FDPB::setupBoundary() sets this error code if it is called but FDPB::phi_grid has not been set yet. Solution: call FDPB::setupPhiGrid() before calling FDPB::setupBoundary()

ERROR__OUT_OF_MEMORY 

Not enough virtual memory. This error code is set if FDPB::solve() ran out of virtual memory while creating some internal datastructures. Solution: reduce grid dimensions or increase grid spacing.

ERROR__UNKNOWN_DIELECTRIC_SMOOTHING_METHOD 

The specified method to smooth the dielectric constant grid is not allowed. FDPB::setupEpsGrid sets this error code, if it cannot identify the method given in FDPB::Option::dielectric_smoothing.

Solution: specify a valid smoothing method in FDPB::options
See also
FDPB::Option::dielectric_smoothing
FDPB::DielectricSmoothing
ERROR__UNKNOWN_CHARGE_DISTRIBUTION_METHOD 

The specified charge distribution is not allowed. FDPB::setupQGrid() sets this error code, if it cannot identify the method given in FDPB::Option::charge_distribution.

Solution: specify a valid charge distribution method in FDPB::options
See also
FDPB::Option::charge_distribution
FDPB::ChargeDistribution
ERROR__UNKNOWN_BOUNDARY_CONDITION_TYPE 

The specified boundary condition type is not allowed. FDPB::setupBoundary() sets this error code, if it cannot identify the boundary condition given in FDPB::Option::boundary.

Solution: specify a valid boundary condition in FDPB::options
See also
FDPB::Option::boundary
FDPB::Boundary
ERROR__NOT_A_VECTOR_IN_UPPER_LOWER 

Upper or lower grid coordinates were specified in an incorrect format. This error code is set by FDPB::setupEpsGrid if the string given in FDPB::options (key FDPB::Option::LOWER or FDPB::Option::UPPER) were not in vector format.

Solution: specify upper/lower coordinates in the correct format
See also
Options::isVector
ERROR__ILLEGAL_VALUE_FOR_LOWER_UPPER 

Lower and upper corner of the grid were set to wrong values. Lower and upper corners of the grid given in FDPB::options (key FDPB::Option::LOWER and FDPB::Option::UPPER) must fulfill just one condition: every coordinate of lower hast to be less (not equal!) to the corresponding coordinate of upper.

Solution: specify a reasonable non-degenerate grid
ERROR__SETUP_REQUIRED 

Call setup first. This error code is set by FDPB::solve() if FDPB::q_grid or FDPB::phi_grid or FDPB::eps_grid are undefined.

Solution: define each of the above mentioned grids or call FDPB::setup()
NUMBER_OF_ERRORS 

Total number of errors defined.

Definition at line 45 of file poissonBoltzmann.h.

The available methods for integration

Enumerator
METHOD__UNKNOWN 
METHOD__ANALYTICAL 
METHOD__TRAPEZIUM 

Definition at line 89 of file pair6_12RDFIntegrator.h.

Enumerator
SURFACE__UNKNOWN 
SURFACE__SAS 
SURFACE__SES 
SURFACE__EXTERNAL 

Definition at line 55 of file pair6_12InteractionEnergyProcessor.h.

Enumerator
SURFACE__UNKNOWN 

Unknown surface.

SURFACE__SAS 

Solvent assessible surface.

SURFACE__SES 

Solvent excluding surface.

SURFACE__EXTERNAL 

Use a surface description from a file.

Definition at line 63 of file pairExpInteractionEnergyProcessor.h.

Function Documentation

BALL_EXPORT double BALL::calculateOoiEnergy ( AtomContainer &  atoms)

Calculate the solvation energy after Ooi et al. This function computes the solvation energy using the empirical surface model proposed by Ooi et al.(T. Ooi, M. Oobatake, G. Nemethy, H. A. Scheraga: Accessible surface areas as a measure off the thermodynamic parameters of hydration of peptides, Proc. Natl. Acad. Sci. USA, Vol. 84 (1987), pp. 3086-3090).

The method is parameterized for proteins only. Calling the function with different structures probably yields results of arbitrary meaninglessness.

The energy is returned in units of kJ/mol. Unparametrized atoms are simply ignored, which might lead to unreasonable values.

Files:
types and parameters are taken from data/solvation/Ooi.ini
BALL_EXPORT TRegularData3D<char>* BALL::calculateSASGrid ( const Vector3 &  lower,
const Vector3 &  upper,
float  spacing,
const System &  system,
float  probe_radius 
)

calculateSASGrid

BALL_EXPORT TRegularData3D<char>* BALL::calculateSESGrid ( const Vector3 &  lower,
const Vector3 &  upper,
float  spacing,
const System &  system,
float  probe_radius 
)

calculateSESGrid