Loading...
Searching...
No Matches
MMFF94.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: MMFF94.h,v 1.1.8.3 2007/06/15 09:24:20 amoll Exp $
//
// Molecular Mechanics: MMFF94 force field class
#ifndef BALL_MOLMEC_MMFF94_MMFF94_H
#define BALL_MOLMEC_MMFF94_MMFF94_H
#ifndef BALL_COMMON_H
# include <BALL/common.h>
#endif
#ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
# include <BALL/MOLMEC/COMMON/forceField.h>
#endif
#ifndef BALL_KERNEL_SYSTEM_H
# include <BALL/KERNEL/system.h>
#endif
#ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
# include <BALL/MOLMEC/MMFF94/MMFF94Parameters.h>
#endif
#ifndef BALL_MOLMEC_MMFF94_MMFF94PROCESSORS_H
# include <BALL/MOLMEC/MMFF94/MMFF94Processors.h>
#endif
#ifndef BALL_DATATYPE_HASHSET_H
# include <BALL/DATATYPE/hashSet.h>
#endif
#ifndef BALL_STRUCTURE_KEKULIZER_H
# include <BALL/STRUCTURE/kekulizer.h>
#endif
#include <vector>
namespace BALL
{
using std::vector;
class BALL_EXPORT MMFF94
: public ForceField
{
public:
struct BALL_EXPORT Option
{
static const char* FOLDER;
static const char* ASSIGN_CHARGES;
static const char* ASSIGN_TYPENAMES;
static const char* ASSIGN_TYPES;
static const char* OVERWRITE_CHARGES;
static const char* OVERWRITE_TYPENAMES;
static const char* NONBONDED_CUTOFF;
static const char* VDW_CUTOFF;
static const char* VDW_CUTON;
static const char* ELECTROSTATIC_CUTOFF;
static const char* ELECTROSTATIC_CUTON;
static const char* DISTANCE_DEPENDENT_DIELECTRIC;
};
struct BALL_EXPORT Default
{
static const char* FOLDER;
static const bool ASSIGN_CHARGES;
static const bool ASSIGN_TYPENAMES;
static const bool ASSIGN_TYPES;
static const bool OVERWRITE_CHARGES;
static const bool OVERWRITE_TYPENAMES;
static const float NONBONDED_CUTOFF;
static const float VDW_CUTOFF;
static const float VDW_CUTON;
static const float ELECTROSTATIC_CUTOFF;
static const float ELECTROSTATIC_CUTON;
static const bool DISTANCE_DEPENDENT_DIELECTRIC;
};
BALL_CREATE(MMFF94)
MMFF94();
MMFF94(System& system);
MMFF94(System& system, const Options& options);
MMFF94(const MMFF94& force_field);
virtual ~MMFF94();
const MMFF94& operator = (const MMFF94& force_field)
;
virtual void clear()
;
virtual bool specificSetup();
double getStretchEnergy() const;
double getBendEnergy() const;
double getStretchBendEnergy() const;
double getTorsionEnergy() const;
double getNonbondedEnergy() const;
double getESEnergy() const;
double getVdWEnergy() const;
double getPlaneEnergy() const;
bool hasInitializedParameters() const;
Size getUpdateFrequency() const;
virtual String getResults() const
;
const vector<Bond*> getBonds() const { return bonds_;}
const vector<HashSet<Atom*> >& getRings() const { return rings_;}
const vector<HashSet<Atom*> >& getAromaticRings() const { return aromatic_rings_;}
bool isInOneAromaticRing(const Bond& bond) const;
bool assignMMFF94BondType(Bond& bond) const;
const vector<MMFF94AtomType>& getAtomTypes() const { return atom_types_.getAtomTypes();}
const MMFF94StretchParameters& getStretchParameters() const { return bond_parameters_;}
const MMFF94AtomTypeEquivalences & getEquivalences() const { return equivalences_;}
bool areInOneRing(vector<Atom*> v, Size ring_size = 0) const;
bool areInOneAromaticRing(const vector<Atom*>& v, Size ring_size = 0) const;
bool checkAtomType(Atom& atom);
protected:
void insertComponents_();
void transformAromaticBonds_();
void collectBonds_();
void assignBondTypes_();
void collectRings_();
String folder_;
MMFF94AtomTypes atom_types_;
MMFF94StretchParameters bond_parameters_;
MMFF94AtomTypeEquivalences equivalences_;
MMFF94ESParameters es_parameters_;
vector<HashSet<Atom*> > rings_;
vector<HashSet<Atom*> > aromatic_rings_;
bool parameters_initialized_;
vector<Bond*> bonds_;
MMFF94AtomTyper atom_typer_;
MMFF94ChargeProcessor charge_processor_;
Kekuliser kekuliser_;
HashSet<Bond*> aromatic_bonds_;
};
} // namespace BALL
#endif // BALL_MOLMEC_MMFF94_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
system.h
MMFF94Parameters.h
MMFF94Processors.h
BALL::Atom
Definition atom.h:90
BALL::Bond
Definition bond.h:57
BALL::ForceField::options
Options options
Definition forceField.h:360
BALL::ForceField::ForceField
ForceField()
BALL::HashSet
Definition hashSet.h:46
BALL::Kekuliser
Definition kekulizer.h:38
BALL::MMFF94AtomTypeEquivalences
Definition MMFF94Parameters.h:85
BALL::MMFF94AtomTyper
Definition MMFF94Processors.h:43
BALL::MMFF94AtomTypes
Definition MMFF94Parameters.h:159
BALL::MMFF94ChargeProcessor
Definition MMFF94Processors.h:98
BALL::MMFF94ESParameters
Definition MMFF94Parameters.h:527
BALL::MMFF94StretchParameters
Definition MMFF94Parameters.h:187
BALL::MMFF94::equivalences_
MMFF94AtomTypeEquivalences equivalences_
Definition MMFF94.h:317
BALL::MMFF94::kekuliser_
Kekuliser kekuliser_
Definition MMFF94.h:325
BALL::MMFF94::MMFF94
MMFF94()
BALL::MMFF94::getESEnergy
double getESEnergy() const
BALL::MMFF94::bond_parameters_
MMFF94StretchParameters bond_parameters_
Definition MMFF94.h:316
BALL::MMFF94::getBendEnergy
double getBendEnergy() const
BALL::MMFF94::areInOneRing
bool areInOneRing(vector< Atom * > v, Size ring_size=0) const
BALL::MMFF94::getStretchEnergy
double getStretchEnergy() const
BALL::MMFF94::atom_types_
MMFF94AtomTypes atom_types_
Definition MMFF94.h:315
BALL::MMFF94::clear
virtual void clear()
BALL::MMFF94::getEquivalences
const MMFF94AtomTypeEquivalences & getEquivalences() const
Definition MMFF94.h:290
BALL::MMFF94::charge_processor_
MMFF94ChargeProcessor charge_processor_
Definition MMFF94.h:324
BALL::MMFF94::areInOneAromaticRing
bool areInOneAromaticRing(const vector< Atom * > &v, Size ring_size=0) const
BALL::MMFF94::getTorsionEnergy
double getTorsionEnergy() const
BALL::MMFF94::folder_
String folder_
Definition MMFF94.h:314
BALL::MMFF94::transformAromaticBonds_
void transformAromaticBonds_()
BALL::MMFF94::rings_
vector< HashSet< Atom * > > rings_
Definition MMFF94.h:319
BALL::MMFF94::isInOneAromaticRing
bool isInOneAromaticRing(const Bond &bond) const
BALL::MMFF94::getRings
const vector< HashSet< Atom * > > & getRings() const
Definition MMFF94.h:272
BALL::MMFF94::getPlaneEnergy
double getPlaneEnergy() const
BALL::MMFF94::getResults
virtual String getResults() const
Get the current results in String form.
BALL::MMFF94::aromatic_rings_
vector< HashSet< Atom * > > aromatic_rings_
Definition MMFF94.h:320
BALL::MMFF94::parameters_initialized_
bool parameters_initialized_
Definition MMFF94.h:321
BALL::MMFF94::getStretchBendEnergy
double getStretchBendEnergy() const
BALL::MMFF94::bonds_
vector< Bond * > bonds_
Definition MMFF94.h:322
BALL::MMFF94::assignBondTypes_
void assignBondTypes_()
BALL::MMFF94::insertComponents_
void insertComponents_()
BALL::MMFF94::getAtomTypes
const vector< MMFF94AtomType > & getAtomTypes() const
Definition MMFF94.h:284
BALL::MMFF94::getUpdateFrequency
Size getUpdateFrequency() const
BALL::MMFF94::es_parameters_
MMFF94ESParameters es_parameters_
Definition MMFF94.h:318
BALL::MMFF94::getNonbondedEnergy
double getNonbondedEnergy() const
BALL::MMFF94::getStretchParameters
const MMFF94StretchParameters & getStretchParameters() const
Definition MMFF94.h:287
BALL::MMFF94::getVdWEnergy
double getVdWEnergy() const
BALL::MMFF94::aromatic_bonds_
HashSet< Bond * > aromatic_bonds_
Definition MMFF94.h:326
BALL::MMFF94::getBonds
const vector< Bond * > getBonds() const
Definition MMFF94.h:269
BALL::MMFF94::atom_typer_
MMFF94AtomTyper atom_typer_
Definition MMFF94.h:323
BALL::MMFF94::getAromaticRings
const vector< HashSet< Atom * > > & getAromaticRings() const
Definition MMFF94.h:275
BALL::MMFF94::collectBonds_
void collectBonds_()
BALL::MMFF94::hasInitializedParameters
bool hasInitializedParameters() const
BALL::MMFF94::specificSetup
virtual bool specificSetup()
BALL::MMFF94::checkAtomType
bool checkAtomType(Atom &atom)
BALL::MMFF94::assignMMFF94BondType
bool assignMMFF94BondType(Bond &bond) const
BALL::MMFF94::collectRings_
void collectRings_()
BALL::Options
Definition options.h:48
BALL::String
Definition string.h:57
BALL::System
Definition KERNEL/system.h:40
common.h
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
forceField.h
hashSet.h
kekulizer.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::MMFF94::Default
Definition MMFF94.h:117
BALL::MMFF94::Default::ASSIGN_CHARGES
static const bool ASSIGN_CHARGES
Definition MMFF94.h:124
BALL::MMFF94::Default::VDW_CUTOFF
static const float VDW_CUTOFF
Definition MMFF94.h:148
BALL::MMFF94::Default::ASSIGN_TYPENAMES
static const bool ASSIGN_TYPENAMES
Definition MMFF94.h:128
BALL::MMFF94::Default::NONBONDED_CUTOFF
static const float NONBONDED_CUTOFF
Definition MMFF94.h:144
BALL::MMFF94::Default::DISTANCE_DEPENDENT_DIELECTRIC
static const bool DISTANCE_DEPENDENT_DIELECTRIC
Default is false.
Definition MMFF94.h:163
BALL::MMFF94::Default::OVERWRITE_TYPENAMES
static const bool OVERWRITE_TYPENAMES
Definition MMFF94.h:140
BALL::MMFF94::Default::ELECTROSTATIC_CUTOFF
static const float ELECTROSTATIC_CUTOFF
Definition MMFF94.h:156
BALL::MMFF94::Default::ELECTROSTATIC_CUTON
static const float ELECTROSTATIC_CUTON
Definition MMFF94.h:160
BALL::MMFF94::Default::FOLDER
static const char * FOLDER
Definition MMFF94.h:120
BALL::MMFF94::Default::ASSIGN_TYPES
static const bool ASSIGN_TYPES
Definition MMFF94.h:132
BALL::MMFF94::Default::OVERWRITE_CHARGES
static const bool OVERWRITE_CHARGES
Definition MMFF94.h:136
BALL::MMFF94::Default::VDW_CUTON
static const float VDW_CUTON
Definition MMFF94.h:152
BALL::MMFF94::Option
Definition MMFF94.h:61
BALL::MMFF94::Option::ASSIGN_TYPES
static const char * ASSIGN_TYPES
Definition MMFF94.h:76
BALL::MMFF94::Option::OVERWRITE_CHARGES
static const char * OVERWRITE_CHARGES
Definition MMFF94.h:80
BALL::MMFF94::Option::ASSIGN_CHARGES
static const char * ASSIGN_CHARGES
Definition MMFF94.h:68
BALL::MMFF94::Option::VDW_CUTOFF
static const char * VDW_CUTOFF
Definition MMFF94.h:95
BALL::MMFF94::Option::ELECTROSTATIC_CUTON
static const char * ELECTROSTATIC_CUTON
Definition MMFF94.h:108
BALL::MMFF94::Option::FOLDER
static const char * FOLDER
Definition MMFF94.h:64
BALL::MMFF94::Option::ELECTROSTATIC_CUTOFF
static const char * ELECTROSTATIC_CUTOFF
Definition MMFF94.h:104
BALL::MMFF94::Option::DISTANCE_DEPENDENT_DIELECTRIC
static const char * DISTANCE_DEPENDENT_DIELECTRIC
Definition MMFF94.h:111
BALL::MMFF94::Option::ASSIGN_TYPENAMES
static const char * ASSIGN_TYPENAMES
Definition MMFF94.h:72
BALL::MMFF94::Option::OVERWRITE_TYPENAMES
static const char * OVERWRITE_TYPENAMES
Definition MMFF94.h:84
BALL::MMFF94::Option::NONBONDED_CUTOFF
static const char * NONBONDED_CUTOFF
Definition MMFF94.h:90
BALL::MMFF94::Option::VDW_CUTON
static const char * VDW_CUTON
Definition MMFF94.h:100