Loading...
Searching...
No Matches
CHPISlick.h
Go to the documentation of this file.
// $Id: CHPI.h,v 1.2.10.1 2007/08/07 16:16:15 bertsch Exp $
// Molecular Mechanics: SLICK force field, CH---pi interaction
#ifndef BALL_SCORING_COMPONENTS_CHPISLICK_H
#define BALL_SCORING_COMPONENTS_CHPISLICK_H
#include <BALL/SCORING/COMMON/scoringComponent.h>
#include <BALL/SCORING/COMMON/scoringFunction.h>
#include <BALL/DATATYPE/options.h>
namespace BALL
{
class BALL_EXPORT CHPISlick : public ScoringComponent
{
public:
class AromaticRing
{
public:
AromaticRing()
;
AromaticRing(const AromaticRing& aromatic_ring)
;
AromaticRing(const std::vector<Atom*>& atoms)
;
const Vector3& getCentre() const
;
const Vector3& getNormalVector() const
;
void setRing(const std::vector<Atom*>& atoms)
;
// accessors for the private data members
const std::vector<Atom*>& getRing() const
;
void dump(std::ostream& s = std::cout) const
;
private:
//_ A hash set containing pointers to all ring atoms:
std::vector<Atom*> ring_atoms_;
//_ The centre of the aromatic ring.
Vector3 centre_;
//_ The normal vector of the ring plane.
Vector3 normal_vector_;
//_
void computeCentre_()
;
//_
void computeNormalVector_()
;
};
class CHGroup
{
public:
CHGroup()
;
~CHGroup()
;
CHGroup(const CHGroup& CH_groups)
;
CHGroup (const Atom* C_atom, const Atom* H_atom)
;
void setCAtom(const Atom* C_atom)
;
void setHAtom(const Atom* H_atom)
;
void setAtoms(const Atom* C_atom, const Atom* H_atom)
;
const Atom* getHAtom() const
{
return(H_atom_);
}
const Atom* getCAtom() const
{
return(C_atom_);
}
void dump(std::ostream& s = std::cout) const
;
private :
//_
const Atom* H_atom_;
//_
const Atom* C_atom_;
};
struct Option
{
static const String VERBOSITY;
static const String CX_DISTANCE_UPPER;
static const String CHX_ANGLE_LOWER;
static const String HX_PROJECTED_DISTANCE_LOWER;
static const String HX_PROJECTED_DISTANCE_UPPER;
static const String DISTANCE_TOLERANCE;
static const String ANGLE_TOLERANCE;
static const String LIMIT;
static const String CREATE_INTERACTION_FILE;
};
struct Default
{
static const Size VERBOSITY;
static const float CX_DISTANCE_UPPER;
static const float CHX_ANGLE_LOWER;
static const float HX_PROJECTED_DISTANCE_LOWER;
static const float HX_PROJECTED_DISTANCE_UPPER;
static const float DISTANCE_TOLERANCE;
static const float ANGLE_TOLERANCE;
static const float LIMIT;
static const bool CREATE_INTERACTION_FILE;
};
CHPISlick()
;
CHPISlick(ScoringFunction& sf)
;
CHPISlick(const CHPISlick& chpi)
;
virtual ~CHPISlick()
;
const CHPISlick& operator = (const CHPISlick& chpi)
;
virtual void clear()
;
bool operator == (const CHPISlick& chpi) const
;
virtual bool setup()
;
void update(const vector<std::pair<Atom*, Atom*> >&);
virtual double updateScore()
;
Options options;
private:
//_ A vector containing all possible interactions between aliphatic
//_ C-H groups in the sugar and aromatic rings in the receptor.
std::vector< std::pair<const AromaticRing*, const CHGroup*> > possible_interactions_;
//_ A vector containing all aliphatic C-H groups of the ligand.
std::vector<CHGroup> all_CH_groups_;
//_ A vector containing all aromatic rings of the receptor.
std::vector<AromaticRing> all_aromatic_rings_;
//_
float CX_distance_upper_;
//_
float CHX_angle_lower_;
//_
float HX_projected_distance_lower_;
//_
float HX_projected_distance_upper_;
//_ The tolerance area for creating scores instead of simply counted
//_ interactions.
float distance_tolerance_;
float angle_tolerance_;
//_ A limit for ignoring interactions that have only very small
//_ scores
float limit_;
//_ Verbosity of the code
Size verbosity_;
//_ Flag for writing HIN file containing pseudomolecules for the CHPI
//_ interactions found in the system
bool write_interactions_file_;
};
} // namespace BALL
#endif // BALL_SCORING_COMPONENTS_CHPISLICK_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL::Atom
Definition atom.h:90
BALL::CHPISlick::AromaticRing::AromaticRing
AromaticRing()
BALL::CHPISlick::AromaticRing::getRing
const std::vector< Atom * > & getRing() const
BALL::CHPISlick::AromaticRing::getCentre
const Vector3 & getCentre() const
BALL::CHPISlick::AromaticRing::getNormalVector
const Vector3 & getNormalVector() const
BALL::CHPISlick::AromaticRing::setRing
void setRing(const std::vector< Atom * > &atoms)
BALL::CHPISlick::AromaticRing::AromaticRing
AromaticRing(const std::vector< Atom * > &atoms)
BALL::CHPISlick::AromaticRing::dump
void dump(std::ostream &s=std::cout) const
BALL::CHPISlick::AromaticRing::AromaticRing
AromaticRing(const AromaticRing &aromatic_ring)
BALL::CHPISlick::CHGroup::CHGroup
CHGroup(const CHGroup &CH_groups)
BALL::CHPISlick::CHGroup::CHGroup
CHGroup()
BALL::CHPISlick::CHGroup::CHGroup
CHGroup(const Atom *C_atom, const Atom *H_atom)
BALL::CHPISlick::CHGroup::dump
void dump(std::ostream &s=std::cout) const
BALL::CHPISlick::CHGroup::~CHGroup
~CHGroup()
BALL::CHPISlick::CHGroup::setAtoms
void setAtoms(const Atom *C_atom, const Atom *H_atom)
BALL::CHPISlick::CHGroup::setCAtom
void setCAtom(const Atom *C_atom)
BALL::CHPISlick::CHGroup::setHAtom
void setHAtom(const Atom *H_atom)
BALL::CHPISlick::CHGroup::getCAtom
const Atom * getCAtom() const
Definition CHPISlick.h:121
BALL::CHPISlick::CHGroup::getHAtom
const Atom * getHAtom() const
Definition CHPISlick.h:114
BALL::CHPISlick::options
Options options
Definition CHPISlick.h:273
BALL::CHPISlick::setup
virtual bool setup()
BALL::CHPISlick::clear
virtual void clear()
BALL::CHPISlick::CHPISlick
CHPISlick(const CHPISlick &chpi)
BALL::CHPISlick::CHPISlick
CHPISlick()
BALL::CHPISlick::~CHPISlick
virtual ~CHPISlick()
BALL::CHPISlick::update
void update(const vector< std::pair< Atom *, Atom * > > &)
BALL::CHPISlick::CHPISlick
CHPISlick(ScoringFunction &sf)
BALL::CHPISlick::updateScore
virtual double updateScore()
BALL::Options
Definition options.h:48
BALL::ScoringComponent::ScoringComponent
ScoringComponent()
BALL::ScoringFunction
Definition scoringFunction.h:29
BALL::String
Definition string.h:57
BALL::atoms
BALL_EXPORT AtomList atoms(const AtomContainer &fragment, const String &expression=String())
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Vector3
TVector3< float > Vector3
Definition vector3.h:1084
options.h
scoringComponent.h
scoringFunction.h
BALL::CHPISlick::Default
Definition CHPISlick.h:175
BALL::CHPISlick::Default::CREATE_INTERACTION_FILE
static const bool CREATE_INTERACTION_FILE
Definition CHPISlick.h:202
BALL::CHPISlick::Default::LIMIT
static const float LIMIT
Definition CHPISlick.h:199
BALL::CHPISlick::Default::CHX_ANGLE_LOWER
static const float CHX_ANGLE_LOWER
Definition CHPISlick.h:184
BALL::CHPISlick::Default::VERBOSITY
static const Size VERBOSITY
Definition CHPISlick.h:178
BALL::CHPISlick::Default::ANGLE_TOLERANCE
static const float ANGLE_TOLERANCE
Definition CHPISlick.h:196
BALL::CHPISlick::Default::HX_PROJECTED_DISTANCE_LOWER
static const float HX_PROJECTED_DISTANCE_LOWER
Definition CHPISlick.h:187
BALL::CHPISlick::Default::DISTANCE_TOLERANCE
static const float DISTANCE_TOLERANCE
Definition CHPISlick.h:193
BALL::CHPISlick::Default::CX_DISTANCE_UPPER
static const float CX_DISTANCE_UPPER
Definition CHPISlick.h:181
BALL::CHPISlick::Default::HX_PROJECTED_DISTANCE_UPPER
static const float HX_PROJECTED_DISTANCE_UPPER
Definition CHPISlick.h:190
BALL::CHPISlick::Option
Definition CHPISlick.h:142
BALL::CHPISlick::Option::HX_PROJECTED_DISTANCE_LOWER
static const String HX_PROJECTED_DISTANCE_LOWER
Definition CHPISlick.h:154
BALL::CHPISlick::Option::ANGLE_TOLERANCE
static const String ANGLE_TOLERANCE
Definition CHPISlick.h:163
BALL::CHPISlick::Option::CREATE_INTERACTION_FILE
static const String CREATE_INTERACTION_FILE
Definition CHPISlick.h:169
BALL::CHPISlick::Option::LIMIT
static const String LIMIT
Definition CHPISlick.h:166
BALL::CHPISlick::Option::VERBOSITY
static const String VERBOSITY
Definition CHPISlick.h:145
BALL::CHPISlick::Option::CHX_ANGLE_LOWER
static const String CHX_ANGLE_LOWER
Definition CHPISlick.h:151
BALL::CHPISlick::Option::CX_DISTANCE_UPPER
static const String CX_DISTANCE_UPPER
Definition CHPISlick.h:148
BALL::CHPISlick::Option::DISTANCE_TOLERANCE
static const String DISTANCE_TOLERANCE
Definition CHPISlick.h:160
BALL::CHPISlick::Option::HX_PROJECTED_DISTANCE_UPPER
static const String HX_PROJECTED_DISTANCE_UPPER
Definition CHPISlick.h:157