MTK++ Latest version: 0.2.0
Container for metal centers. More...
#include <mtkpp/src/Molecule/metalCenter.h>
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. | |
atom * | getMetalAtom () |
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. | |
stdGroup * | getStdGroup () |
Get stdGroup pointer. | |
Bond * | 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. | |
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. | |
Angle * | addAngle (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. | |
Torsion * | addTorsion (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 | |
atom * | metalAtom |
metal atom | |
molecule * | pMolecule |
molecule pointer | |
collection * | pCollection |
collection pointer | |
stdLibrary * | pStdLibrary |
stdLibrary pointer | |
vector3d * | metalCoords |
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. | |
stdGroup * | pStdGroup |
stdGroup pointer | |
Bond * | pBond |
Bond pointer. | |
Angle * | pAngle |
Angle pointer. | |
Torsion * | pTorsion |
Torsion pointer. | |
bondParam * | pBondParam |
Bond parameter pointer. | |
angleParam * | pAngleParam |
Angle parameter pointer. | |
torsionParam * | pTorsionParam |
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. |
Container for metal centers.
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.
MTKpp::metalCenter::metalCenter | ( | atom * | metal, |
std::map< std::string, double > | m_d | ||
) |
Constructor.
References assigned, coordinationType, geometry1, geometry1RMS, geometry2, geometry2RMS, MTKpp::atom::getCoords(), MTKpp::molecule::getParent(), MTKpp::submolecule::getParent(), MTKpp::atom::getParent(), MTKpp::collection::getStdLibrary(), metal_donors, metalAtom, metalCoords, pCollection, pdbFile, pMolecule, primaryShell, pStdGroup, pStdLibrary, and secondaryShell.
MTKpp::metalCenter::~metalCenter | ( | ) | [virtual] |
Destructor.
void MTKpp::metalCenter::setName | ( | std::string | n | ) | [inline] |
Set name.
References itsName.
std::string MTKpp::metalCenter::getName | ( | ) | [inline] |
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 | ) |
add bonded atom
References MTKpp::submolecule::getName(), MTKpp::atom::getParent(), MTKpp::submolecule::getSubMolId(), itsBondedAtoms, itsResNames, and itsResNums.
Referenced by MTKpp::collection::determineMetalEnvironments().
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.
vSA | vector 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.
vSA | vector 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 | ||
) |
Check if a residue is bidentate.
References assigned, coordinationType, MTKpp::vector3d::dist(), MTKpp::atom::getCoords(), MTKpp::atom::getName(), itsBondedAtoms, and metalCoords.
Referenced by assignBondType().
void MTKpp::metalCenter::assignBondType | ( | ) |
Assign bond type between metal center and bonded atoms.
References assigned, checkBidentate(), coordinationType, MTKpp::vector3d::dist(), MTKpp::stdLibrary::getL(), itsBondedAtoms, itsLabels, itsResNames, itsResNums, metal_donors, metalCoords, primaryShell, pStdLibrary, and secondaryShell.
Referenced by MTKpp::collection::determineMetalEnvironments().
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 | ) |
Print metal center info.
References coordinationType, MTKpp::vector3d::dist(), geometry1, geometry1RMS, geometry2, geometry2RMS, MTKpp::atom::getFileID(), MTKpp::submolecule::getName(), MTKpp::atom::getName(), MTKpp::atom::getParent(), getPrimaryShell(), getSecondaryShell(), MTKpp::submolecule::getSubMolId(), itsBondedAtoms, metalAtom, metalCoords, and pdbFile.
std::string MTKpp::metalCenter::getInfo | ( | ) |
Return metal center info.
References coordinationType, MTKpp::d2s(), MTKpp::vector3d::dist(), geometry1, geometry1RMS, geometry2, geometry2RMS, MTKpp::atom::getFileID(), MTKpp::submolecule::getName(), MTKpp::atom::getName(), MTKpp::atom::getParent(), getPrimaryShell(), getSecondaryShell(), MTKpp::submolecule::getSubMolId(), MTKpp::i2s(), itsBondedAtoms, metalAtom, metalCoords, and pdbFile.
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 | ) |
stdGroup * MTKpp::metalCenter::getStdGroup | ( | ) |
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.
at1 | atom pointer |
at2 | atom pointer |
type | integer value designating single, double, triple etc., bond type |
stereo | integer value designating bond stereo |
topology | integer value assigning ring membership or not |
size | distance between at1 and at2 |
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().
Does metal center contain a certain bond.
at1 | atom pointer |
at2 | atom pointer |
References MTKpp::atom::getColIndex(), MTKpp::indexAB(), itsBondMap, and MTKpp::MAXATOMS.
Referenced by addBond().
std::map< int, Bond * > MTKpp::metalCenter::getBondMap | ( | ) |
Get Bond map.
References itsBondMap.
Referenced by MTKpp::amberParser::Write().
int MTKpp::metalCenter::numBonds | ( | ) |
Angle * MTKpp::metalCenter::addAngle | ( | atom * | at1, |
atom * | at2, | ||
atom * | at3, | ||
const double & | ang = 0.0 |
||
) |
Add Angle to metal center.
at1 | atom pointer |
at2 | atom pointer |
at3 | atom pointer |
ang | Angle between at1, at2, and at3 |
References MTKpp::Angle::atom1, MTKpp::Angle::atom2, MTKpp::Angle::atom3, MTKpp::atom::getColIndex(), MTKpp::atom::getCoords(), MTKpp::indexABC_ULL(), itsAngleMap, MTKpp::MAXATOMS, MTKpp::MTKException::message, pAngle, MTKpp::Angle::size, and ULONG_KIND.
Referenced by MTKpp::connections::assignAngles(), and MTKpp::collection::assignMetalParameters().
Does metal center contain a certain angle.
at1 | atom pointer |
at2 | atom pointer |
at3 | atom pointer |
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.
References itsAngleMap.
Referenced by MTKpp::amberParser::Write().
int MTKpp::metalCenter::numAngles | ( | ) |
Torsion * MTKpp::metalCenter::addTorsion | ( | atom * | at1, |
atom * | at2, | ||
atom * | at3, | ||
atom * | at4, | ||
const double & | tor | ||
) |
Add Torsion to metal center.
at1 | atom pointer |
at2 | atom pointer |
at3 | atom pointer |
at4 | atom pointer |
tor | Torsion between at1, at2, at3, and at4 |
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.
Does metal center contain a certain torsion.
at1 | atom pointer |
at2 | atom pointer |
at3 | atom pointer |
at4 | atom pointer |
References MTKpp::atom::getIndex(), MTKpp::indexABCD_ULL(), itsTorsionMap, MTKpp::MAXATOMS, MTKpp::MTKException::message, and ULONG_KIND.
std::map< ULONG_KIND, Torsion * > MTKpp::metalCenter::getTorsionMap | ( | ) |
int MTKpp::metalCenter::numTorsions | ( | ) |
std::string MTKpp::metalCenter::itsName [protected] |
atom* MTKpp::metalCenter::metalAtom [protected] |
metal atom
Referenced by getInfo(), getMetalAtom(), metalCenter(), print(), and writeEnvironment().
molecule* MTKpp::metalCenter::pMolecule [protected] |
molecule pointer
Referenced by metalCenter().
collection* MTKpp::metalCenter::pCollection [protected] |
collection pointer
Referenced by metalCenter().
stdLibrary* MTKpp::metalCenter::pStdLibrary [protected] |
stdLibrary pointer
Referenced by assignBondType(), and metalCenter().
vector3d* MTKpp::metalCenter::metalCoords [protected] |
metal atom coordinations
Referenced by assignBondType(), checkBidentate(), getInfo(), metalCenter(), print(), test4Coord(), test5Coord(), and test6Coord().
std::vector<atom*> MTKpp::metalCenter::itsBondedAtoms [protected] |
metal atom's bonded atoms
Referenced by addAtom(), assignBondType(), assignGeometry(), checkBidentate(), getInfo(), getPrimaryShellAtoms(), getSecondaryShellAtoms(), print(), and writeEnvironment().
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] |
bonded atom coordination types
Referenced by assignBondType(), assignGeometry(), checkBidentate(), getInfo(), getPrimaryShellAtoms(), getSecondaryShellAtoms(), metalCenter(), print(), and writeEnvironment().
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.
Referenced by assignGeometry(), getGeometry(), getInfo(), metalCenter(), print(), test4Coord(), and test5Coord().
std::string MTKpp::metalCenter::geometry2 [protected] |
Second most likely geometry.
Referenced by assignGeometry(), getInfo(), metalCenter(), print(), test4Coord(), and test5Coord().
double MTKpp::metalCenter::geometry1RMS [protected] |
RMSD for geometry1 from ideal geometry
Referenced by getGeometryRMS(), getInfo(), metalCenter(), print(), test4Coord(), test5Coord(), and test6Coord().
double MTKpp::metalCenter::geometry2RMS [protected] |
RMSD for geometry2 from ideal geometry
Referenced by getInfo(), metalCenter(), print(), test4Coord(), and test5Coord().
int MTKpp::metalCenter::error [protected] |
Error.
Referenced by getError().
stdGroup* MTKpp::metalCenter::pStdGroup [protected] |
stdGroup pointer
Referenced by getStdGroup(), metalCenter(), and setStdGroup().
Bond* MTKpp::metalCenter::pBond [protected] |
Angle* MTKpp::metalCenter::pAngle [protected] |
Angle pointer.
Referenced by addAngle().
Torsion* MTKpp::metalCenter::pTorsion [protected] |
Torsion pointer.
Referenced by addTorsion().
bondParam* MTKpp::metalCenter::pBondParam [protected] |
Bond parameter pointer.
angleParam* MTKpp::metalCenter::pAngleParam [protected] |
Angle parameter pointer.
torsionParam* MTKpp::metalCenter::pTorsionParam [protected] |
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] |
Torsion map.
Referenced by addTorsion(), getTorsionMap(), hasTorsion(), and numTorsions().
Generated on Fri Dec 23 2011 09:28:56 for MTK++ by Doxygen 1.7.5.1