PROFASI
Version 1.5

Effective hydrophobic attraction between nonpolar side chains. More...
#include <Hydrophobicity.hh>
Public Member Functions  
double  evaluate () 
double  deltaE (Update *) 
do a new delta calculation optimized for the given kind of update  
void  Accept (Update *) 
Accept a proposed update.  
void  rangeEstimate (double &x1, double &x2) 
Estimate a range in which values of this observable are expected.  
double  contact_frac (int i, int j, double(*distf)(int, int)) 
i and j refer to the list of hydrophobic residues in the whole system.  
double  hp_contact_frac (int iaa, int jaa, double(*distf)(int, int)) 
iaa and jaa refer to the ligand indices relative to the whole system  
Public Member Functions inherited from prf::Energy  
void  Connect (Population *pl) 
Connect the energy term with one population.  
virtual void  set_pars (std::string pars) 
Set some adjustible parameters.  
void  refresh () 
Overrides the virtual member from the Observable class.  
double  value () 
return result from last calculation  
double  deltaE () 
return result from the last energy change calculation  
double  delta (Update *) 
Quick estimate of the change in an Observable due to an update.  
virtual double  deltaEwithlimit (Update *updt, double maxde) 
Calculate energy change for an update, but with a stop condition.  
virtual void  Revert (Update *) 
Reject a proposed update.  
int  init_obs () 
All observables must implement one initialize routine.  
Public Member Functions inherited from prf::Observable  
void  set (std::string cmd) 
Give the object an instruction to process during initialization.  
double  operator() () 
Retrieve the value of the observable.  
double  Value () 
Retrieve the value of the observable.  
void  disable_stats () 
Stop collecting statistical data like averages and histograms.  
void  enable_stats () 
Start collecting statistical data like averages and histograms.  
Public Member Functions inherited from prf::Named  
Named ()  
Create an object with name "unnamed".  
Named (const char *st)  
Create an object with name st given as a C string.  
Named (std::string st)  
Create an object with a name given as a string.  
std::string  Name () const 
Retrive the name of an object.  
void  Name (std::string gnm) 
Assign a new name to an object.  
This class represents the hydrophobicity interaction in the model. In its current version, hydrophobicity is a simple pairwise additive potential. A degree of contact between two hydrophobic side chains is calculated based on the proximity of a predetermined set of atoms from each side chain. This degree of contact is multiplied by a strength assigned to pairs of side chain, which are in rough correspondence with their size. Like other terms, the implementation of the class takes care of the optimization. Contribution from each pair of hydrophobic sidechains is saved in a contribution matrix. For each update, the affected contributions are determined, and reevaluated, and compared with the value stored in the matrix. Contributions from hydrophobic pairs that are nearest and secondnearest neighbours in sequence are supressed by factors 0.0 and 0.5 respectively.

virtual 
PROFASI uses many local contribution matrices and backup variables to quickly evaluate the change caused to any energy term by a given update. Those backup variables and the contribution matrices need to be kept in sync with the current system configuration. So, each energy class has an accept and a reject method, which are called when an update is accepted or rejected. What is done inside these functions depends on the energy term and optimization trick used therein.
Reimplemented from prf::Energy.

virtual 
do a new ab initio calculation
Reimplemented from prf::Energy.

virtual 
The default is between 0 and 1. So, for observables with values always between 0 and 1, you need not overwrite this virtual function. Sometimes the observable will have a different fixed range, determined by its definition. Sometimes the range can not be determined perfectly. In such a case, let this function just return something reasonable.
Reimplemented from prf::Energy.