MTK++ Latest version: 0.2.0

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

Container for metal centers. More...

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

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

List of all members.

Public Member Functions

 metalCenter (atom *metal, std::map< std::string, double > m_d)
 Constructor.
virtual ~metalCenter ()
 Destructor.
void setName (std::string n)
 Set name.
std::string getName ()
 Get name.
atomgetMetalAtom ()
 Get metal, this may want to be a vector in the future.
void setPdb (std::string f)
 pdb file where metal atom comes from
void setError (int e)
 Returns the value of error.
int getError ()
 Returns the value of error.
void addAtom (atom *a)
 add bonded atom
void addLabel (std::string s)
 add bonded atom label
std::string getPrimaryShell ()
 Get Primary shell.
void getPrimaryShellAtoms (std::vector< atom * > &vSA)
 Get Primary shell atoms.
std::string getSecondaryShell ()
 Get Secondary shell.
void getSecondaryShellAtoms (std::vector< atom * > &vSA)
 Get Secondary shell atoms.
std::string getGeometry ()
 Get most likely geometry.
double getGeometryRMS ()
 Get most likely geometry rmsd.
void checkBidentate (int at1, int at2)
 Check if a residue is bidentate.
void assignBondType ()
 Assign bond type between metal center and bonded atoms.
void writeEnvironment (std::string file_name)
 Write metal cluster pdb file.
void assignGeometry ()
 Assign coordination state.
void print (std::ostream &os)
 Print metal center info.
std::string getInfo ()
 Return metal center info.
void test4Coord (std::vector< atom * > atoms)
 Test if 4/5 coordinate is tet, sqp, or tnb.
void test5Coord (std::vector< atom * > atoms)
 Determine the tbp_rms and ttp_rms.
void test6Coord (std::vector< atom * > atoms)
 Determine the oct_rms.
void setStdGroup (stdGroup *pStdG)
 Set stdGroup pointer.
stdGroupgetStdGroup ()
 Get stdGroup pointer.
BondaddBond (atom *at1, atom *at2, const int &type=1, const int &stereo=0, const int &topology=0, const double &size=0.0)
 Add Bond to metal centers.
bool hasBond (atom *at1, atom *at2)
 Does metal center contain a certain bond.
std::map< int, Bond * > getBondMap ()
 Get Bond map.
int numBonds ()
 Get number of bonds.
AngleaddAngle (atom *at1, atom *at2, atom *at3, const double &ang=0.0)
 Add Angle to metal center.
bool hasAngle (atom *at1, atom *at2, atom *at3)
 Does metal center contain a certain angle.
std::map< ULONG_KIND, Angle * > getAngleMap ()
 Get Angle map.
int numAngles ()
 Get number of angles.
TorsionaddTorsion (atom *at1, atom *at2, atom *at3, atom *at4, const double &tor)
 Add Torsion to metal center.
bool hasTorsion (atom *at1, atom *at2, atom *at3, atom *at4)
 Does metal center contain a certain torsion.
std::map< ULONG_KIND, Torsion * > getTorsionMap ()
 Get Torsion map.
int numTorsions ()
 Get number of torsions.

Protected Types

typedef std::map< std::string,
double >::iterator 
strDbMapIterator
 string:double map iterator
typedef std::map< std::string,
int >::iterator 
strIntMapIterator
 string:int map iterator
typedef std::map< std::string,
std::string >::iterator 
strStrMapIterator
 string:string map iterator
typedef std::vector< unsigned
int >::iterator 
intVectorIterator
 int vector iterator
typedef std::map< int, Bond * >
::iterator 
BondMapIterator
 Bond map iterator.
typedef std::map< ULONG_KIND,
Angle * >::iterator 
AngleMapIterator
 Angle map iterator.
typedef std::map< ULONG_KIND,
Torsion * >::iterator 
TorsionMapIterator
 Torsion map iterator.

Protected Attributes

std::string itsName
 metal center name
atommetalAtom
 metal atom
moleculepMolecule
 molecule pointer
collectionpCollection
 collection pointer
stdLibrarypStdLibrary
 stdLibrary pointer
vector3dmetalCoords
 metal atom coordinations
std::vector< atom * > itsBondedAtoms
 metal atom's bonded atoms
std::vector< std::string > itsLabels
 metal:residue label
std::vector< std::string > itsResNames
 bonded atoms residue names
std::vector< int > itsResNums
 bonded atoms residue numbers
std::map< std::string, double > metal_donors
 metal:residue label = double map
std::vector< std::string > coordinationType
 bonded atom coordination types
std::vector< bool > assigned
 bonded atoms bools
std::string primaryShell
 storage for primary shell info
std::string secondaryShell
 storage for secondary shell info
std::string pdbFile
 pdb file where metal atom comes from
std::string geometry1
 Most likely geometry.
std::string geometry2
 Second most likely geometry.
double geometry1RMS
double geometry2RMS
int error
 Error.
stdGrouppStdGroup
 stdGroup pointer
BondpBond
 Bond pointer.
AnglepAngle
 Angle pointer.
TorsionpTorsion
 Torsion pointer.
bondParampBondParam
 Bond parameter pointer.
angleParampAngleParam
 Angle parameter pointer.
torsionParampTorsionParam
 Torsion parameter pointer.
std::map< int, Bond * > itsBondMap
 Bond map.
std::map< ULONG_KIND, Angle * > itsAngleMap
 Angle map.
std::map< ULONG_KIND, Torsion * > itsTorsionMap
 Torsion map.

Detailed Description

Container for metal centers.


Member Typedef Documentation

typedef std::map<std::string, double>::iterator MTKpp::metalCenter::strDbMapIterator [protected]

string:double map iterator

typedef std::map<std::string, int>::iterator MTKpp::metalCenter::strIntMapIterator [protected]

string:int map iterator

typedef std::map<std::string, std::string>::iterator MTKpp::metalCenter::strStrMapIterator [protected]

string:string map iterator

typedef std::vector<unsigned int>::iterator MTKpp::metalCenter::intVectorIterator [protected]

int vector iterator

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

Bond map iterator.

typedef std::map<ULONG_KIND, Angle*>::iterator MTKpp::metalCenter::AngleMapIterator [protected]

Angle map iterator.

typedef std::map<ULONG_KIND, Torsion*>::iterator MTKpp::metalCenter::TorsionMapIterator [protected]

Torsion map iterator.


Constructor & Destructor Documentation

MTKpp::metalCenter::metalCenter ( atom metal,
std::map< std::string, double >  m_d 
)
MTKpp::metalCenter::~metalCenter ( ) [virtual]

Destructor.


Member Function Documentation

void MTKpp::metalCenter::setName ( std::string  n) [inline]

Set name.

References itsName.

std::string MTKpp::metalCenter::getName ( ) [inline]

Get name.

References itsName.

Referenced by MTKpp::connections::assignAngles().

atom * MTKpp::metalCenter::getMetalAtom ( )

Get metal, this may want to be a vector in the future.

References metalAtom.

Referenced by MTKpp::connections::assignAngles(), MTKpp::collection::assignMetalParameters(), and MTKpp::pdbParser::Write().

void MTKpp::metalCenter::setPdb ( std::string  f)

pdb file where metal atom comes from

References pdbFile.

void MTKpp::metalCenter::setError ( int  e)

Returns the value of error.

Referenced by MTKpp::collection::determineMetalEnvironments().

int MTKpp::metalCenter::getError ( )

Returns the value of error.

References error.

Referenced by MTKpp::collection::determineMetalEnvironments().

void MTKpp::metalCenter::addAtom ( atom a)
void MTKpp::metalCenter::addLabel ( std::string  s)

add bonded atom label

References itsLabels.

Referenced by MTKpp::collection::determineMetalEnvironments().

std::string MTKpp::metalCenter::getPrimaryShell ( )

Get Primary shell.

References primaryShell.

Referenced by MTKpp::collection::determineMetalEnvironments(), getInfo(), and print().

void MTKpp::metalCenter::getPrimaryShellAtoms ( std::vector< atom * > &  vSA)

Get Primary shell atoms.

Parameters:
vSAvector of primary shell atoms

References coordinationType, and itsBondedAtoms.

Referenced by MTKpp::collection::assignMetalParameters(), MTKpp::collection::assignMetalPartners(), and MTKpp::pdbParser::Write().

std::string MTKpp::metalCenter::getSecondaryShell ( )

Get Secondary shell.

References secondaryShell.

Referenced by MTKpp::collection::determineMetalEnvironments(), getInfo(), and print().

void MTKpp::metalCenter::getSecondaryShellAtoms ( std::vector< atom * > &  vSA)

Get Secondary shell atoms.

Parameters:
vSAvector of secondary shell atoms

References coordinationType, and itsBondedAtoms.

Referenced by MTKpp::collection::assignMetalParameters(), MTKpp::collection::assignMetalPartners(), and MTKpp::pdbParser::Write().

std::string MTKpp::metalCenter::getGeometry ( )

Get most likely geometry.

References geometry1.

Referenced by MTKpp::collection::determineMetalEnvironments().

double MTKpp::metalCenter::getGeometryRMS ( )

Get most likely geometry rmsd.

References geometry1RMS.

Referenced by MTKpp::collection::determineMetalEnvironments().

void MTKpp::metalCenter::checkBidentate ( int  at1,
int  at2 
)
void MTKpp::metalCenter::assignBondType ( )
void MTKpp::metalCenter::writeEnvironment ( std::string  file_name)

Write metal cluster pdb file.

References coordinationType, MTKpp::atom::getParent(), itsBondedAtoms, and metalAtom.

void MTKpp::metalCenter::assignGeometry ( )

Assign coordination state.

Coordination | Primary | Secondary oct | 6 | 0

Coordination | Primary | Secondary tbp/ttp | 5 | 0 oct | 5 | 1

Coordination | Primary | Secondary tet | 4 | 0 sqp | 4 | 0 oct | 4 | 2

Coordination | Primary | Secondary trp | 3 | 0 tet | 3 | 1 oct | 3 | 3

Coordination | Primary | Secondary tet | 2 | 2 tbp/ttp | 2 | 3 oct | 2 | 4

Coordination | Primary | Secondary tet | 1 | 3 ttp | 1 | 4 oct | 1 | 5

Coordination | Primary | Secondary tet | 0 | 4 ttp/tbp | 0 | 5 oct | 0 | 6

References coordinationType, geometry1, geometry2, itsBondedAtoms, primaryShell, secondaryShell, test4Coord(), test5Coord(), and test6Coord().

Referenced by MTKpp::collection::determineMetalEnvironments().

void MTKpp::metalCenter::print ( std::ostream &  os)
std::string MTKpp::metalCenter::getInfo ( )
void MTKpp::metalCenter::test4Coord ( std::vector< atom * >  atoms)

Test if 4/5 coordinate is tet, sqp, or tnb.

References geometry1, geometry1RMS, geometry2, geometry2RMS, metalCoords, primaryShell, MTKpp::RAD2DEG, and secondaryShell.

Referenced by assignGeometry().

void MTKpp::metalCenter::test5Coord ( std::vector< atom * >  atoms)

Determine the tbp_rms and ttp_rms.

References MTKpp::DEG2RAD, geometry1, geometry1RMS, geometry2, geometry2RMS, metalCoords, and MTKpp::RAD2DEG.

Referenced by assignGeometry().

void MTKpp::metalCenter::test6Coord ( std::vector< atom * >  atoms)

Determine the oct_rms.

References geometry1RMS, metalCoords, and MTKpp::RAD2DEG.

Referenced by assignGeometry().

void MTKpp::metalCenter::setStdGroup ( stdGroup pStdG)

Set stdGroup pointer.

Parameters:
pStdGstdGroup pointer

References pStdGroup.

stdGroup * MTKpp::metalCenter::getStdGroup ( )

Get stdGroup pointer.

Returns:
stdGroup pointer

References pStdGroup.

Bond * MTKpp::metalCenter::addBond ( atom at1,
atom at2,
const int &  type = 1,
const int &  stereo = 0,
const int &  topology = 0,
const double &  size = 0.0 
)

Add Bond to metal centers.

Parameters:
at1atom pointer
at2atom pointer
typeinteger value designating single, double, triple etc., bond type
stereointeger value designating bond stereo
topologyinteger value assigning ring membership or not
sizedistance between at1 and at2
Returns:
Bond pointer

References MTKpp::Bond::atom1, MTKpp::Bond::atom2, MTKpp::vector3d::dist(), MTKpp::atom::getColIndex(), MTKpp::atom::getCoords(), hasBond(), MTKpp::indexAB(), itsBondMap, MTKpp::MAXATOMS, pBond, MTKpp::Bond::rotatable, MTKpp::Bond::size, MTKpp::Bond::stereo, MTKpp::Bond::topology, and MTKpp::Bond::type.

Referenced by MTKpp::collection::assignMetalParameters().

bool MTKpp::metalCenter::hasBond ( atom at1,
atom at2 
)

Does metal center contain a certain bond.

Parameters:
at1atom pointer
at2atom pointer
Returns:
boolean

References MTKpp::atom::getColIndex(), MTKpp::indexAB(), itsBondMap, and MTKpp::MAXATOMS.

Referenced by addBond().

std::map< int, Bond * > MTKpp::metalCenter::getBondMap ( )

Get Bond map.

Returns:
bond map <int Bond*>

References itsBondMap.

Referenced by MTKpp::amberParser::Write().

int MTKpp::metalCenter::numBonds ( )

Get number of bonds.

Returns:
number of bonds

References itsBondMap.

Angle * MTKpp::metalCenter::addAngle ( atom at1,
atom at2,
atom at3,
const double &  ang = 0.0 
)
bool MTKpp::metalCenter::hasAngle ( atom at1,
atom at2,
atom at3 
)

Does metal center contain a certain angle.

Parameters:
at1atom pointer
at2atom pointer
at3atom pointer
Returns:
boolean

References MTKpp::atom::getColIndex(), MTKpp::indexABC_ULL(), itsAngleMap, MTKpp::MAXATOMS, MTKpp::MTKException::message, and ULONG_KIND.

Referenced by MTKpp::connections::assignAngles().

std::map< ULONG_KIND, Angle * > MTKpp::metalCenter::getAngleMap ( )

Get Angle map.

Returns:
angle map <ULONG_KING Angle*>

References itsAngleMap.

Referenced by MTKpp::amberParser::Write().

int MTKpp::metalCenter::numAngles ( )

Get number of angles.

Returns:
number of angles

References itsAngleMap.

Torsion * MTKpp::metalCenter::addTorsion ( atom at1,
atom at2,
atom at3,
atom at4,
const double &  tor 
)

Add Torsion to metal center.

Parameters:
at1atom pointer
at2atom pointer
at3atom pointer
at4atom pointer
torTorsion between at1, at2, at3, and at4
Returns:
Torsion pointer

References MTKpp::Torsion::atom1, MTKpp::Torsion::atom2, MTKpp::Torsion::atom3, MTKpp::Torsion::atom4, MTKpp::atom::getIndex(), MTKpp::indexABCD_ULL(), itsTorsionMap, MTKpp::MAXATOMS, MTKpp::MTKException::message, pTorsion, MTKpp::Torsion::size, and ULONG_KIND.

bool MTKpp::metalCenter::hasTorsion ( atom at1,
atom at2,
atom at3,
atom at4 
)

Does metal center contain a certain torsion.

Parameters:
at1atom pointer
at2atom pointer
at3atom pointer
at4atom pointer
Returns:
boolean

References MTKpp::atom::getIndex(), MTKpp::indexABCD_ULL(), itsTorsionMap, MTKpp::MAXATOMS, MTKpp::MTKException::message, and ULONG_KIND.

std::map< ULONG_KIND, Torsion * > MTKpp::metalCenter::getTorsionMap ( )

Get Torsion map.

Returns:
torsion map <ULONG_KIND Torsion*>

References itsTorsionMap.

int MTKpp::metalCenter::numTorsions ( )

Get number of torsions.

Returns:
number of torsions

References itsTorsionMap.


Member Data Documentation

std::string MTKpp::metalCenter::itsName [protected]

metal center name

Referenced by getName(), and setName().

molecule pointer

Referenced by metalCenter().

collection pointer

Referenced by metalCenter().

stdLibrary pointer

Referenced by assignBondType(), and metalCenter().

std::vector<atom*> MTKpp::metalCenter::itsBondedAtoms [protected]
std::vector<std::string> MTKpp::metalCenter::itsLabels [protected]

metal:residue label

Referenced by addLabel(), and assignBondType().

std::vector<std::string> MTKpp::metalCenter::itsResNames [protected]

bonded atoms residue names

Referenced by addAtom(), and assignBondType().

std::vector<int> MTKpp::metalCenter::itsResNums [protected]

bonded atoms residue numbers

Referenced by addAtom(), and assignBondType().

std::map<std::string, double> MTKpp::metalCenter::metal_donors [protected]

metal:residue label = double map

Referenced by assignBondType(), and metalCenter().

std::vector<std::string> MTKpp::metalCenter::coordinationType [protected]
std::vector<bool> MTKpp::metalCenter::assigned [protected]

bonded atoms bools

Referenced by assignBondType(), checkBidentate(), and metalCenter().

std::string MTKpp::metalCenter::primaryShell [protected]

storage for primary shell info

Referenced by assignBondType(), assignGeometry(), getPrimaryShell(), metalCenter(), and test4Coord().

std::string MTKpp::metalCenter::secondaryShell [protected]

storage for secondary shell info

Referenced by assignBondType(), assignGeometry(), getSecondaryShell(), metalCenter(), and test4Coord().

std::string MTKpp::metalCenter::pdbFile [protected]

pdb file where metal atom comes from

Referenced by getInfo(), metalCenter(), print(), and setPdb().

std::string MTKpp::metalCenter::geometry1 [protected]

Most likely geometry.

  • tetrahedral (tet) 109.5
  • tetrahedral with a weak bonded atom (tnb)
  • square planar (sqp) 127.3
  • trigonal bipyramidal (tbp) 111.4
  • tetragonal pyramid (ttp)
  • octahedral (oct)

Referenced by assignGeometry(), getGeometry(), getInfo(), metalCenter(), print(), test4Coord(), and test5Coord().

std::string MTKpp::metalCenter::geometry2 [protected]

Second most likely geometry.

  • tetrahedral (tet) 109.5
  • tetrahedral with a weak bonded atom (tnb)
  • square planar (sqp) 127.3
  • trigonal bipyramidal (tbp) 111.4
  • tetragonal pyramid (ttp)
  • octahedral (oct)

Referenced by assignGeometry(), getInfo(), metalCenter(), print(), test4Coord(), and test5Coord().

RMSD for geometry1 from ideal geometry

Referenced by getGeometryRMS(), getInfo(), metalCenter(), print(), test4Coord(), test5Coord(), and test6Coord().

RMSD for geometry2 from ideal geometry

Referenced by getInfo(), metalCenter(), print(), test4Coord(), and test5Coord().

int MTKpp::metalCenter::error [protected]

Error.

Referenced by getError().

stdGroup pointer

Referenced by getStdGroup(), metalCenter(), and setStdGroup().

Bond pointer.

Referenced by addBond().

Angle pointer.

Referenced by addAngle().

Torsion pointer.

Referenced by addTorsion().

Bond parameter pointer.

Angle parameter pointer.

Torsion parameter pointer.

std::map<int, Bond*> MTKpp::metalCenter::itsBondMap [protected]

Bond map.

Referenced by addBond(), getBondMap(), hasBond(), and numBonds().

std::map<ULONG_KIND, Angle*> MTKpp::metalCenter::itsAngleMap [protected]

Angle map.

Referenced by addAngle(), getAngleMap(), hasAngle(), and numAngles().

std::map<ULONG_KIND, Torsion*> MTKpp::metalCenter::itsTorsionMap [protected]

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