Package PyAutoDock :: Module electrostatics :: Class ElectrostaticsRefImpl
[hide private]
[frames] | no frames]

Class ElectrostaticsRefImpl

source code

scorer.ScoringStrategy --+        
                         |        
     scorer.PairwiseScorer --+    
                             |    
  scorer.DistDepPairwiseScorer --+
                                 |
                                ElectrostaticsRefImpl

reference implementation of the Electrostatics class

Notes
======
* For now, the MolecularSystem has the responsibility of
  supplying charges. This could change in the future if the
  chargeCalculators migrate away from MolKit. This requires
  a reduced dependency on the Atoms.

* The electrostatics calculation depends on relative distance
  not absolute coords. Hopefully, we won't need coords in this
  class.

* A GridMap might be represencted as a 'subset' in this class
  by defining psuedo-atoms at each grid point.



Instance Methods [hide private]
  __init__(self, ms=None)
constructor
  get_dddp(self, distance)
return distance dependent dielectric permittivity weight to be remove to WeightedMultiTermDistDepPairwiseScorer Reference ========== Mehler & Solmajer (1991) Protein Engineering vol.4 no.8, pp.
  _f(self, at_a, at_b, dist)
Return electrostatic potential in kcal/mole.

Inherited from scorer.DistDepPairwiseScorer: get_score_array

Inherited from scorer.PairwiseScorer: get_score, post_process, set_molecular_system


Class Variables [hide private]

Inherited from scorer.DistDepPairwiseScorer: non_bonded_cutoff


Method Details [hide private]

__init__(self, ms=None)
(Constructor)

source code 
constructor
Overrides: scorer.DistDepPairwiseScorer.__init__
(inherited documentation)

get_dddp(self, distance)

source code 
return distance dependent dielectric permittivity

weight to be remove to WeightedMultiTermDistDepPairwiseScorer

Reference
==========
Mehler & Solmajer (1991) Protein Engineering vol.4 no.8, pp. 903-910.

Basically, this describes a sigmoidal function from a low
dielectric (like organic solvent) at small distance (<5Ang)
asymptoticly to dielectric of water at large distance (30Ang).

epsilon(r) = A + (B/[1+ k*exp(-lambda*B*r)])     (equation 6)

where, A, lambda, and k are parameters supplied by the paper,
       B = epsilon0 - A (so B is also a parameter)
       epsilon0 is the dielectric constant of water at 25C (78.4)

Two sets of parameters are given in the paper:
{'A' : -8.5525, 'k' : 7.7839, 'lambda_' : 0.003627} [Conway]
{'A' : -20.929, 'k' : 3.4781, 'lambda_' : 0.001787} [Mehler&Eichele]

_f(self, at_a, at_b, dist)

source code 

Return electrostatic potential in kcal/mole.

Here's how the 332. unit conversion factor is calculated:

q = 1.60217733E-19 # (C) charge on electron eps0 = 8.854E-12 # (C^2/J*m) vacuum permittivity J_per_cal = 4.18400 # Joules per calorie avo = 6.02214199E23 # Avogadro's number

factor = (q*avo*q*1E10 )/(4.0*math.pi*eps0*J_per_cal*1000)
Overrides: scorer.DistDepPairwiseScorer._f