Loading...
Searching...
No Matches
hydrogenBond.h
Go to the documentation of this file.
// ----------------------------------------------------
// $Maintainer: Marcel Schumann $
// $Authors: Slick-development Team, Marcel Schumann $
// ----------------------------------------------------
#ifndef BALL_SCORING_COMPONENTS_HYDROGENBOND_H
#define BALL_SCORING_COMPONENTS_HYDROGENBOND_H
#include <BALL/SCORING/COMMON/scoringComponent.h>
#include <BALL/DATATYPE/options.h>
#include <BALL/SCORING/COMPONENTS/fresnoTypes.h>
namespace BALL
{
class BALL_EXPORT HydrogenBond : public ScoringComponent
{
public:
struct Option
{
static const char* HB_IDEAL_LENGTH;
static const char* HB_IDEAL_ANGLE;
static const char* HB_DIST_LOWER;
static const char* HB_DIST_UPPER;
static const char* HB_ANG_LOWER;
static const char* HB_ANG_UPPER;
static const char* VERBOSITY;
};
struct Default
{
static const float HB_IDEAL_LENGTH;
static const float HB_IDEAL_ANGLE;
static const float HB_DIST_LOWER;
static const float HB_DIST_UPPER;
static const float HB_ANG_LOWER;
static const float HB_ANG_UPPER;
static const Size VERBOSITY;
};
enum Mode
{
LIGAND_HYDROGENS,
RECEPTOR_HYDROGENS,
ALL_HYDROGENS
};
//BALL_CREATE(HydrogenBond)
HydrogenBond(Mode mode)
throw();
HydrogenBond(ScoringFunction& sf, Mode mode)
throw();
HydrogenBond(ScoringComponent& sc, Mode mode)
throw();
HydrogenBond(const HydrogenBond& fhb)
throw();
virtual ~HydrogenBond()
throw();
const HydrogenBond& operator = (const HydrogenBond& fhb)
throw();
virtual void clear()
throw();
bool operator == (const HydrogenBond& fhb) const
throw();
virtual bool setup();
void setupLigand();
void enableChargeEvaluation(bool b);
virtual double updateScore();
void update(const vector<std::pair<Atom*, Atom*> >& pair_vector);
private:
/*_ This vector contains all possible hydrogen bonds. It is created
* during each call of update(). Pairs are always of the form (hydrogen,
* acceptor). The donor can be found easily by following the only bond
* of the hydrogen.
*/
std::vector< std::pair<const Atom*, const Atom*> > possible_hydrogen_bonds_;
double factor_;
double h_bond_distance_lower_;
double h_bond_distance_upper_;
double h_bond_angle_lower_;
double h_bond_angle_upper_;
/*_ The ideal hbond length.
*/
double ideal_hbond_length_;
/*_ The ideal hbond angle.
*/
double ideal_hbond_angle_;
Size verbosity_;
Size getType(Atom* atom);
FresnoTypes* receptor_fresno_types_;
FresnoTypes* ligand_fresno_types_;
Mode mode_;
bool charge_evaluation_enabled_;
};
}
#endif // BALL_SCORING_COMPONENTS_HYDROGENBOND_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL::Atom
Definition atom.h:90
BALL::FresnoTypes
Definition fresnoTypes.h:16
BALL::HydrogenBond::~HydrogenBond
virtual ~HydrogenBond()
BALL::HydrogenBond::updateScore
virtual double updateScore()
BALL::HydrogenBond::setup
virtual bool setup()
BALL::HydrogenBond::HydrogenBond
HydrogenBond(ScoringComponent &sc, Mode mode)
BALL::HydrogenBond::HydrogenBond
HydrogenBond(const HydrogenBond &fhb)
BALL::HydrogenBond::HydrogenBond
HydrogenBond(ScoringFunction &sf, Mode mode)
BALL::HydrogenBond::clear
virtual void clear()
BALL::HydrogenBond::update
void update(const vector< std::pair< Atom *, Atom * > > &pair_vector)
BALL::HydrogenBond::HydrogenBond
HydrogenBond(Mode mode)
BALL::HydrogenBond::setupLigand
void setupLigand()
BALL::HydrogenBond::Mode
Mode
Definition hydrogenBond.h:85
BALL::HydrogenBond::ALL_HYDROGENS
@ ALL_HYDROGENS
Definition hydrogenBond.h:88
BALL::HydrogenBond::LIGAND_HYDROGENS
@ LIGAND_HYDROGENS
Definition hydrogenBond.h:86
BALL::HydrogenBond::RECEPTOR_HYDROGENS
@ RECEPTOR_HYDROGENS
Definition hydrogenBond.h:87
BALL::HydrogenBond::enableChargeEvaluation
void enableChargeEvaluation(bool b)
BALL::ScoringComponent::ScoringComponent
ScoringComponent()
BALL::ScoringFunction
Definition scoringFunction.h:29
fresnoTypes.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
std
STL namespace.
options.h
scoringComponent.h
BALL::HydrogenBond::Default
Definition hydrogenBond.h:54
BALL::HydrogenBond::Default::HB_DIST_LOWER
static const float HB_DIST_LOWER
Definition hydrogenBond.h:65
BALL::HydrogenBond::Default::HB_IDEAL_LENGTH
static const float HB_IDEAL_LENGTH
Definition hydrogenBond.h:57
BALL::HydrogenBond::Default::VERBOSITY
static const Size VERBOSITY
Definition hydrogenBond.h:81
BALL::HydrogenBond::Default::HB_ANG_UPPER
static const float HB_ANG_UPPER
Definition hydrogenBond.h:77
BALL::HydrogenBond::Default::HB_IDEAL_ANGLE
static const float HB_IDEAL_ANGLE
Definition hydrogenBond.h:61
BALL::HydrogenBond::Default::HB_ANG_LOWER
static const float HB_ANG_LOWER
Definition hydrogenBond.h:73
BALL::HydrogenBond::Default::HB_DIST_UPPER
static const float HB_DIST_UPPER
Definition hydrogenBond.h:69
BALL::HydrogenBond::Option
Definition hydrogenBond.h:21
BALL::HydrogenBond::Option::HB_IDEAL_ANGLE
static const char * HB_IDEAL_ANGLE
Definition hydrogenBond.h:28
BALL::HydrogenBond::Option::VERBOSITY
static const char * VERBOSITY
Definition hydrogenBond.h:48
BALL::HydrogenBond::Option::HB_DIST_UPPER
static const char * HB_DIST_UPPER
Definition hydrogenBond.h:36
BALL::HydrogenBond::Option::HB_IDEAL_LENGTH
static const char * HB_IDEAL_LENGTH
Definition hydrogenBond.h:24
BALL::HydrogenBond::Option::HB_ANG_UPPER
static const char * HB_ANG_UPPER
Definition hydrogenBond.h:44
BALL::HydrogenBond::Option::HB_DIST_LOWER
static const char * HB_DIST_LOWER
Definition hydrogenBond.h:32
BALL::HydrogenBond::Option::HB_ANG_LOWER
static const char * HB_ANG_LOWER
Definition hydrogenBond.h:40