MTK++ Latest version: 0.2.0

Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
MTKpp::hybridize Class Reference

Determines hybridizations of atoms in a molecule. More...

#include <mtkpp/src/Molecule/hybridize.h>

Collaboration diagram for MTKpp::hybridize:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 hybridize (molecule *parent, std::string paramFile)
 hybridize Constructor
virtual ~hybridize ()
 hybridize Destructor
int run ()
 Hybridize using bond types present in the file such as mol, mol2.
int runMeng ()
 Hybridize using the Meng algorithm.
int runLabute ()
 Hybridize using the Labute algorithm.

Protected Types

typedef std::map< std::string,
double >::iterator 
mapIterator
 single bond map iterator
typedef std::map< std::string,
std::vector< double >
>::iterator 
logLikelihoodRatiosIterator
 single bond map iterator
typedef std::map< int, Bond * >
::iterator 
BondMapIterator
 Bond map iterator.

Protected Member Functions

int readParameters ()
 Read in Labute parameters.
void lSplitString (std::string &s, const std::string s2, std::vector< std::string > &v, int i)
 split string
int runLabute1 ()
 Do step 1 of Labute algorithm.
int runLabute2 ()
 Do step 2 of Labute algorithm.
int runLabute3 ()
 Do step 3 of Labute algorithm.
void COM (std::vector< atom * > atoms, vector3d *c)
 Center of mass.
void setHybridizations ()
 set all atoms hybridizations
void setFormalCharges ()
 set all atoms formal charges

Protected Attributes

moleculepParent
 molecule pointer
std::string parameterFile
 Parameter file.
double smallOutOfPlaneDihedral
 smallest out-of-plane dihedral
std::map< std::string, double > singleBonds
 single bond map
std::map< std::string,
std::vector< double > > 
logLikelihoodRatios
 log likelihoods ratios
double edgeWeightSingle
 Single bond edge weight.
double edgeWeightDouble
 Double bond edge weight.
double tripleBondParameter
 Triple bond parameter.
atompAtom
 atom pointer
BondpBond
 Bond pointer.
std::vector< atom * > atomList
 atom list
unsigned int nAtoms
 number of atoms in the molecule
std::vector< int > dim
 a "dimension" for each atom
std::vector< int > B
 upper bound on the number of bonds each atom can have
std::vector< int > Q
 number of connections of each atom
std::vector< int > atNumbers
 atomic number of each atom
std::vector< int > atGroups
 group which each atom is a part of
std::vector< int > atPeriods
 period which each atom is a part of
std::vector< int > formalCharges
 formal charge of each atom
std::vector< std::string > atSymbols
 atom symbols
std::vector< double > atENs
 atom electronegativities
std::vector< int > planarFlags
 Planarity flag of each atom.
std::vector< int > hybridizations
 hybrizations of each atom
std::map< int, Bond * > bonds
 bonds
std::vector< std::vector< int > > bdAtoms
 bonding indices
std::string errorMessage
 Error message.

Detailed Description

Determines hybridizations of atoms in a molecule.

See the Bond Type Determination page for more details.


Member Typedef Documentation

typedef std::map<std::string, double>::iterator MTKpp::hybridize::mapIterator [protected]

single bond map iterator

typedef std::map<std::string, std::vector<double> >::iterator MTKpp::hybridize::logLikelihoodRatiosIterator [protected]

single bond map iterator

typedef std::map<int, Bond*>::iterator MTKpp::hybridize::BondMapIterator [protected]

Bond map iterator.


Constructor & Destructor Documentation

MTKpp::hybridize::hybridize ( molecule parent,
std::string  paramFile 
)

hybridize Constructor

Parameters:
parentmolecule pointer
paramFileparameter file

References MTKpp::molecule::getAtomList().

MTKpp::hybridize::~hybridize ( ) [virtual]

hybridize Destructor


Member Function Documentation

int MTKpp::hybridize::run ( )

Hybridize using bond types present in the file such as mol, mol2.

Returns:
success

References MTKpp::atom::getBondedAtoms().

Referenced by MTKpp::molecule::determineHybridizations().

int MTKpp::hybridize::runMeng ( )
int MTKpp::hybridize::runLabute ( )
int MTKpp::hybridize::readParameters ( ) [protected]

Read in Labute parameters.

References MTKpp::errorLogger, and MTKpp::errorHandler::throwError().

void MTKpp::hybridize::lSplitString ( std::string &  s,
const std::string  s2,
std::vector< std::string > &  v,
int  i 
) [protected]

split string

int MTKpp::hybridize::runLabute1 ( ) [protected]

Do step 1 of Labute algorithm.

References MTKpp::atom::getBondedAtoms(), and MTKpp::atom::setHybridization().

int MTKpp::hybridize::runLabute2 ( ) [protected]

Do step 2 of Labute algorithm.

References MTKpp::atom::getAtomicNum(), and MTKpp::atom::getBondedAtoms().

int MTKpp::hybridize::runLabute3 ( ) [protected]
void MTKpp::hybridize::COM ( std::vector< atom * >  atoms,
vector3d c 
) [protected]

Center of mass.

void MTKpp::hybridize::setHybridizations ( ) [protected]

set all atoms hybridizations

References MTKpp::atom::setHybridization().

void MTKpp::hybridize::setFormalCharges ( ) [protected]

set all atoms formal charges

References MTKpp::atom::setFormalCharge().


Member Data Documentation

molecule pointer

std::string MTKpp::hybridize::parameterFile [protected]

Parameter file.

smallest out-of-plane dihedral

std::map<std::string, double> MTKpp::hybridize::singleBonds [protected]

single bond map

std::map<std::string, std::vector<double> > MTKpp::hybridize::logLikelihoodRatios [protected]

log likelihoods ratios

Single bond edge weight.

Double bond edge weight.

Triple bond parameter.

atom pointer

Bond pointer.

std::vector<atom*> MTKpp::hybridize::atomList [protected]

atom list

unsigned int MTKpp::hybridize::nAtoms [protected]

number of atoms in the molecule

std::vector<int> MTKpp::hybridize::dim [protected]

a "dimension" for each atom

std::vector<int> MTKpp::hybridize::B [protected]

upper bound on the number of bonds each atom can have

std::vector<int> MTKpp::hybridize::Q [protected]

number of connections of each atom

std::vector<int> MTKpp::hybridize::atNumbers [protected]

atomic number of each atom

std::vector<int> MTKpp::hybridize::atGroups [protected]

group which each atom is a part of

std::vector<int> MTKpp::hybridize::atPeriods [protected]

period which each atom is a part of

std::vector<int> MTKpp::hybridize::formalCharges [protected]

formal charge of each atom

std::vector<std::string> MTKpp::hybridize::atSymbols [protected]

atom symbols

std::vector<double> MTKpp::hybridize::atENs [protected]

atom electronegativities

std::vector<int> MTKpp::hybridize::planarFlags [protected]

Planarity flag of each atom.

std::vector<int> MTKpp::hybridize::hybridizations [protected]

hybrizations of each atom

std::map<int, Bond*> MTKpp::hybridize::bonds [protected]

bonds

std::vector<std::vector<int> > MTKpp::hybridize::bdAtoms [protected]

bonding indices

std::string MTKpp::hybridize::errorMessage [protected]

Error message.


The documentation for this class was generated from the following files:

Generated on Fri Dec 23 2011 09:28:56 for MTK++ by Doxygen 1.7.5.1