meshi.energy.sideChainModelingSolvate
Class SideChainSolvateEnergy

java.lang.Object
  extended by meshi.energy.AbstractEnergy
      extended by meshi.energy.CooperativeEnergyTerm
          extended by meshi.energy.sideChainModelingSolvate.SideChainSolvateEnergy
All Implemented Interfaces:
Attributable, Updateable

public final class SideChainSolvateEnergy
extends CooperativeEnergyTerm

This class is a truncated form of the corresponding class in the "meshi.energy.solvate" package. It was designed solely for accelerating the application SCMOD (concurrent sidechain modeling), and should not be used for other purposes. Please do not use it!


Nested Class Summary
 
Nested classes/interfaces inherited from class meshi.energy.AbstractEnergy
AbstractEnergy.UpdateableList
 
Field Summary
private  int atomListSize
           
private  double[] AtomSumSigmC
          These are fields for temporary array results that are needed in the evaluation stage.
private  double[] AtomSumSigmHB
           
private  Atom[] baseAtom
           
private  double hbEnergy
           
private  boolean[] inactive
           
private  boolean[] inactiveAtConstructor
           
private  int[] lut
          These fields are for general use in the class
private  SideChainSolvateParametersList parameters
           
private  double simpleHBweight
           
private  SideChainSolvateHBAngle solvateHBAngle
           
private  Spline1D[] splines
           
 
Fields inherited from class meshi.energy.CooperativeEnergyTerm
atomList, coordinates, dm, DX, relativeDiffTolerance, verySmall, XYZ
 
Fields inherited from class meshi.energy.AbstractEnergy
comment, filter, INFINITY, NaN, on, updateableResources, weight
 
Constructor Summary
SideChainSolvateEnergy()
           
SideChainSolvateEnergy(AtomList atomList, DistanceMatrix dm, SideChainSolvateParametersList parameters, double simpleHBweight, double sigmoidBeginsWithH, double sigmoidEndsWithH, double sigmoidBeginsNoH, double sigmoidEndsNoH, double weight)
          The constructor parameters: atomList,dm,weight - standard CooperativeEnergyTerm inputs.
 
Method Summary
 double evaluate()
          Evaluates the energy term and update the derivatives.
 double evaluate(boolean updateAtoms, double cooperativeWeight, double simpleHBweight)
           
 void evaluateAtoms()
          Evaluates the energy term and devides the energy between the atoms.
 double getNonWeightedHBenergy()
           
 void inactivateFarFromAtom(Atom atom, double R)
           
private  void setBaseAtom()
          For any polar atom (O,N or S in Cys) we calculate the base atom that participate in the definition of the hydrogen bond angle.
 void setComment(java.lang.String str)
           
 void setSimpleHBweight(double newWeight)
           
private  void updateSigmVals(Distance dis)
          Here goes the processing of the various sigmoid functions concerning atom1 and atom2 in the Distance - dis.
 
Methods inherited from class meshi.energy.CooperativeEnergyTerm
test
 
Methods inherited from class meshi.energy.AbstractEnergy
addAttribute, comment, getAttribute, handleMissingParameters, isOn, off, on, toArray, toArray, toArray, toArray, toString, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

AtomSumSigmC

private double[] AtomSumSigmC
These are fields for temporary array results that are needed in the evaluation stage. They are declared as fields so that time will not be waisted on creating new instances of the arrays.


AtomSumSigmHB

private double[] AtomSumSigmHB

lut

private int[] lut
These fields are for general use in the class


atomListSize

private int atomListSize

parameters

private SideChainSolvateParametersList parameters

simpleHBweight

private double simpleHBweight

splines

private Spline1D[] splines

solvateHBAngle

private SideChainSolvateHBAngle solvateHBAngle

baseAtom

private Atom[] baseAtom

inactive

private boolean[] inactive

inactiveAtConstructor

private boolean[] inactiveAtConstructor

hbEnergy

private double hbEnergy
Constructor Detail

SideChainSolvateEnergy

public SideChainSolvateEnergy()

SideChainSolvateEnergy

public SideChainSolvateEnergy(AtomList atomList,
                              DistanceMatrix dm,
                              SideChainSolvateParametersList parameters,
                              double simpleHBweight,
                              double sigmoidBeginsWithH,
                              double sigmoidEndsWithH,
                              double sigmoidBeginsNoH,
                              double sigmoidEndsNoH,
                              double weight)
The constructor parameters: atomList,dm,weight - standard CooperativeEnergyTerm inputs. The 'weight' parameter is the parmeter of the cooperative part (Wcooperative). Note, that changing it will not affect the weight given to the HB part. simpleHBweight - The weight of the HB part. sigmoidBeginsWithH,sigmoidEndsWithH - The transition angles (in degrees) for the HB sigmoid when one of the base atoms (or both) is a hydrogen. Above sigmoidEndsWithH the sigmoid is given a value of 1.0 . Bellow sigmoidBeginsWithH the sigmoid is given a value of 0.0 . In between it raises smoothly by cubic spline. sigmoidBeginsNoH,sigmoidEndsNoH - The same as above, only for HB sigmoids where none of the base atoms is a hydrogen.

Method Detail

setComment

public void setComment(java.lang.String str)

setSimpleHBweight

public void setSimpleHBweight(double newWeight)

getNonWeightedHBenergy

public double getNonWeightedHBenergy()

inactivateFarFromAtom

public void inactivateFarFromAtom(Atom atom,
                                  double R)

evaluateAtoms

public void evaluateAtoms()
Description copied from class: AbstractEnergy
Evaluates the energy term and devides the energy between the atoms. The energy field of each atom is assigned a value - its contribution to the total energy sum.

Specified by:
evaluateAtoms in class AbstractEnergy

evaluate

public double evaluate()
Description copied from class: AbstractEnergy
Evaluates the energy term and update the derivatives.

Specified by:
evaluate in class AbstractEnergy

evaluate

public final double evaluate(boolean updateAtoms,
                             double cooperativeWeight,
                             double simpleHBweight)

updateSigmVals

private final void updateSigmVals(Distance dis)
Here goes the processing of the various sigmoid functions concerning atom1 and atom2 in the Distance - dis. The results are updated in the fields of the SolvateDistanceAttribute of dis - sigmaValues.


setBaseAtom

private final void setBaseAtom()
For any polar atom (O,N or S in Cys) we calculate the base atom that participate in the definition of the hydrogen bond angle. This base atom is the attached hydrogen (if present), or the heavy atom to which the polar atom is attached (when the hydrogen is not present).