BALL::GeneralizedBornModel Class Reference

#include <BALL/SOLVATION/generalizedBornCase.h>

List of all members.

Classes

struct  Default
class  GBParameters
struct  Option

Public Member Functions

 GeneralizedBornModel () throw (Exception::FileNotFound)
 ~GeneralizedBornModel ()
void clear ()
bool setup (const AtomContainer &ac) throw (Exception::FileNotFound)
 We need an additional optioned version of that piece of code.
void setScalingFactorFile (const String &filename)
 ??? This should be done through Options!
void setScalingFactors (const StringHashMap< float > &scaling_factors)
const StringHashMap< float > & getScalingFactors () const
void setSolventDC (float solvent_dc)
 ??? Should be done by options
void setSoluteDC (float solute_dc)
 ??? Should be done by options
float calculateEnergy ()
 Compute the total energy of the system.
float calculateSolvationEnergy ()
void calculatePotential (HashMap< const Atom *, float > &p_hash) const
float calculatePotential (const Atom &atom_i) const
bool readScalingFactors (const String &inifile_name) throw (Exception::FileNotFound)

Private Member Functions

void calculateBornRadii_ ()
float calculateCreationEnergy_ () const
float calculateTransferEnergy_ () const
float f_GB_ (Size i, Size j) const
float coulombIntegralApproximation_ (float distance, float scaled_radius_j, float radius_i) const

Private Attributes

AtomContainerac_
std::vector< const Atom * > atoms_
std::vector< floatborn_radii_
std::vector< std::pair< Size,
Size > > 
pair_list_
std::vector< floatpair_distances_
std::vector< floatpair_charges_
std::vector< std::vector< float > > squared_distances_
float dc_solute_
float dc_solvent_
StringHashMap< floatscaling_factors_
std::vector< floatscaling_factor_
String scaling_factor_filename_
float lambda_
float delta_
float kappa_
float rho_0_
float to_kJ_mol_

Detailed Description

Compute the electrostatics of a molecule in solution.

This implementation bases on

[1] "Modification of the Generalized Born Model Suitable for Macromolecules" Onufriev, Bashford, Case J. Phys. Chem. B 104:3712-3720, 2000

This paper uses techniques from

[2] "Semianalytical Treatment of Solvation for Molecular Mechanics and Dynamics" Still, Tempczyk, Hawley, Hendrickson J. Am. Chem. Soc. 112(16):6127-6129, 1990

[3] "Application of a pairwise generalized Born model to proteins and nucleic acids: inclusion of salt eff¤ects " Srinivasan, Trevathan, Beroza, Case Theor. Chem. Acc. 101(6):426-434, 1999

Definition at line 61 of file generalizedBornCase.h.


Constructor & Destructor Documentation

BALL::GeneralizedBornModel::GeneralizedBornModel (  )  throw (Exception::FileNotFound)
BALL::GeneralizedBornModel::~GeneralizedBornModel (  ) 

Member Function Documentation

void BALL::GeneralizedBornModel::calculateBornRadii_ (  )  [private]

Calculate the Born radii of all atoms

float BALL::GeneralizedBornModel::calculateCreationEnergy_ (  )  const [private]

Calculate the energetic cost of creating a charge distribution in a uniform dielectric

float BALL::GeneralizedBornModel::calculateEnergy (  ) 

Compute the total energy of the system.

float BALL::GeneralizedBornModel::calculatePotential ( const Atom atom_i  )  const

Calculate the total potential created by every other atom of the system at the position of atom_i

void BALL::GeneralizedBornModel::calculatePotential ( HashMap< const Atom *, float > &  p_hash  )  const

Calculate the total potential created by every other atom of the system for every atom and return a hashmap conteining the potential values.

float BALL::GeneralizedBornModel::calculateSolvationEnergy (  ) 

Compoute only the solvation energy (meaning the transfer energy which is a kind of a reaction field energy)

float BALL::GeneralizedBornModel::calculateTransferEnergy_ (  )  const [private]

Calculate the energetic cost of transfering a solute into a dielectric medium.

void BALL::GeneralizedBornModel::clear (  ) 
float BALL::GeneralizedBornModel::coulombIntegralApproximation_ ( float  distance,
float  scaled_radius_j,
float  radius_i 
) const [private]

An approximation of the coulomb integral

float BALL::GeneralizedBornModel::f_GB_ ( Size  i,
Size  j 
) const [private]

A smooth function describing an approximation of the solute volume and several Born-dependent effects (including Coulomb integrals). There are several techniques in usage. We implement the on described in [1].

const StringHashMap<float>& BALL::GeneralizedBornModel::getScalingFactors (  )  const
bool BALL::GeneralizedBornModel::readScalingFactors ( const String inifile_name  )  throw (Exception::FileNotFound)
void BALL::GeneralizedBornModel::setScalingFactorFile ( const String filename  ) 

??? This should be done through Options!

void BALL::GeneralizedBornModel::setScalingFactors ( const StringHashMap< float > &  scaling_factors  ) 
void BALL::GeneralizedBornModel::setSoluteDC ( float  solute_dc  ) 

??? Should be done by options

void BALL::GeneralizedBornModel::setSolventDC ( float  solvent_dc  ) 

??? Should be done by options

bool BALL::GeneralizedBornModel::setup ( const AtomContainer ac  )  throw (Exception::FileNotFound)

We need an additional optioned version of that piece of code.


Member Data Documentation

The atom container representing the molecule

Definition at line 225 of file generalizedBornCase.h.

std::vector<const Atom*> BALL::GeneralizedBornModel::atoms_ [private]

The atom list

Definition at line 229 of file generalizedBornCase.h.

The Born radii of all atoms

Definition at line 233 of file generalizedBornCase.h.

Dielectric constants of the solute and the surrounding solvent

Definition at line 248 of file generalizedBornCase.h.

Definition at line 249 of file generalizedBornCase.h.

Downshift of the effictve Born radii for rectifying the energy increase caused by the lambda factor. More or less magic (see [1] for details) but allows to use the scaling_factors_ without reparamterizing them.

Definition at line 272 of file generalizedBornCase.h.

Debye-Hueckel parameter describing salt effects (ionic strength) in units of 1/Angstrom.

Definition at line 277 of file generalizedBornCase.h.

Scaling factor of integral part of effective Born radii calculation rectifying the underestimation of the radii caused by the vdW approximation (instead of real SAS calculations).

Definition at line 265 of file generalizedBornCase.h.

Definition at line 243 of file generalizedBornCase.h.

Distances between atoms of the pair list.

Definition at line 242 of file generalizedBornCase.h.

std::vector< std::pair<Size, Size> > BALL::GeneralizedBornModel::pair_list_ [private]

The pairs of atoms we have to look at. This list only inlcudes different* atoms. Not suitable for self-energy calculations,

Definition at line 238 of file generalizedBornCase.h.

Radius offset (see [2] for details).

Definition at line 281 of file generalizedBornCase.h.

Definition at line 255 of file generalizedBornCase.h.

Definition at line 259 of file generalizedBornCase.h.

Empirical scaling factor for the estimation of effective Born radii. See [3] for details.

Definition at line 254 of file generalizedBornCase.h.

std::vector< std::vector< float > > BALL::GeneralizedBornModel::squared_distances_ [private]

Definition at line 244 of file generalizedBornCase.h.

Definition at line 285 of file generalizedBornCase.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3