Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

HaMolecule Class Reference

Class to define a single Molecule object. More...

#include <hamolecule.h>

Inheritance diagram for HaMolecule:

Object3D AtomCollection PointCollection List of all members.

Public Types

typedef BondIteratorMolecule BondIterator
 Bond iterator type for the molecule.

typedef ResidueIteratorMolecule ResidueIterator
 Residue iterator type for the molecule.


Public Member Functions

 HaMolecule (HaMolSet *new_phost_mset, HaString new_name="HARLEMMOL")
 HaMolecule (const HaMolecule &Mol_ref)
HaMolSetGetHostMolSet ()
const HaMolSetGetHostMolSet () const
bool AddMolCopy (const HaMolecule &Mol_ref, bool create_new_chain=true, map< HaAtom *, HaAtom *, less< HaAtom * > > *ptr_atom_map=NULL)
int CombineMolecules (HaMolecule *frag_mol, HaAtom *catom_host, HaAtom *catom_frag)
HaString GetRef () const
 get a text reference for a molecule

bool FillRef (char *buf, int mode=0) const
 Fill string with a molecule text reference.

virtual bool SetObjName (const char *new_name)
 virtual function from Object3D

virtual int RotateObj (const HaMat_double &rot_mat, const Vec3D &cnt)
 Rotate object around the center.

virtual int Translate (const Vec3D &tr_vec)
 Translate the molecule by (dx,dy,dz).

int GetStdPosition (HaMat_double &rot_std, Vec3D &trans_std)
 Determine std rot matric and translation for a given molecule.

int SetPosition (const HaMat_double &rot_new, const Vec3D &trans_new)
 Set molecular orientations corresponding to a given std rotation and translation.

int SetPosEulerTrans (double phi, double cos_theta, double psi, const Vec3D &trans)
 Set the molecule position using Euler angles and translation vectors.

void GetPosEulerTrans (double &phi, double &cos_theta, double &psi, Vec3D &trans)
 get std translational and rotational (Euler angles) coordinates for a given molecule position

int SetIntCoordFromStr (const char *int_crd_str)
int SetAtomScreenCoord (HaMolView *pview)
 Display Related functions:.

bool SetUniqueAtomNames ()
bool InitAtomsGRWF ()
 load atom coordinates from Gaussian rwf file

bool InitAtoms (GauFile &gfile)
 load atom coordinates from Gaussian rwf file

HaAtomAddAtomFromTempl (HaAtom *aptr2, HaAtom *aptr3, HaAtom *aptr4, const HaAtom *aptr_templ, const HaAtom *aptr_templ_2, const HaAtom *aptr_templ_3, const HaAtom *aptr_templ_4)
 add atom from a template

int GetSeqNumOfAtom (const HaAtom *aptr) const
 get the postion of the atom in the atomic sequence of the molecule

HaAtomGetAtomBySeqNum (const int index)
 get a pointer to an atom by its sequence number

const HaAtomGetAtomBySeqNum (const int index) const
 get a pointer to an atom by its sequence number const version

HaAtomGetAtomByRef (const char *at_ref)
 Get an atom of the molecule by its text reference.

virtual int GetNAtoms () const
 return the number of atoms in molecule

virtual int IsMember (const HaAtom *aptr) const
 Check if the Atom belongs to the Molecule.

virtual AtomIteratorGetAtomIterator ()
 Create AtomIterator for the molecule.

int GetNBonds () const
 Get the number of bonds in the molecule.

int GetNHBonds () const
 Get the number of H-bonds in the molecule.

int GetNSSBonds () const
 Get the number of SS-bonds in the molecule.

int AreHBonded (HaAtom *src, HaAtom *dst) const
 check if there is an H-bond between two(heavy) atoms of the molecule

void CalcHydrogenBonds ()
 Find hydrogen bonds in the molecule.

bool AreHBondsFound () const
 Check if hydrogen bonds have been found for the molecule.

bool AreSSBondsFound () const
 Check if SS-bonds have been found for the molecule.

void CreateMoleculeBonds ()
HaBondAddBond (HaAtom *src, HaAtom *dst, int flag)
 Create a covalent bond.

HaHBondAddHBond (HaAtom *src, HaAtom *dst)
 Create a hydrogen bond.

HaHBondAddSSBond (HaAtom *src, HaAtom *dst)
 Create SS-bond.

bool DeleteBond (HaAtom *src, HaAtom *dst)
int AddAllMissingAtoms (ADD_ATOM_TYPE atom_type)
 Add all Missing Atoms in the molecule.

int AddMissingAtoms (HaResidue *pres, ADD_ATOM_TYPE atom_type)
 Add atoms missing in the residue using residue template.

int AddWaterHydrogens (HaResidue *pres)
 Add Hydrogens to water molecule residue.

void BondIfClose (HaAtom *sptr, HaAtom *dptr)
 Function to make a bond between two atoms if they close enough.

void CreateHydrogenBond (HaAtom *src, HaAtom *dst, int energy, int offset)
void CalcNucleicHBonds (HaChain *chn1)
void CalcProteinHBonds (HaChain *chn1)
int CalculateBondEnergy (HaResidue *group)
void TestDisulphideBridge (HaResidue *group1, HaResidue *group2, HaAtom *cys1)
int SetTermResNames ()
 Set proper terminal residue name modfiers (N & C terminal for proteins) (3' and 5' for Nucleic Acids).

int SetCysBridgeNames ()
 Set proper residue name for cys involved in disulfide bridges.

bool Print_info (ostream &sout, const int level) const
 Print information about the molecule.

HaResidueCreateMolResidue ()
 Create first chain and first 'MOL' residue.

int GetNRes () const
 get the number of residues in the molecule

HaResidueGetResByRef (const HaString &res_str)
 Get a residue of the molecule by its text reference.

int GetNChains ()
 Get the number of chains in the molecule.

HaChainAddChain (char ident)
 Add Blank Chain to the list.

HaChainGetFirstChain ()
 get a pointer to the first Chain of Molecule

HaChainGetNextChain ()
 get a pointer to the next Chain of the molecule

HaChainGetChain (const char chain_id)
 Get a chain by id.

virtual PointIteratorGetPointIterator ()
 create Point Interator and return pointer (should be deleted when done)

virtual int GetPtNum ()
 Get total of number of points in the collection.

bool FixChainsIdent ()
 set unique chain ident on the molecule

void DescribeMolecule ()
void DetermineStructure (int flag)
 Compute sceondary structure of the molecule.

void FindDisulphideBridges ()
 FInd Disulphide bridges.

void Renumber (int start)
void DescribeSequence ()
FeatEntry * AddFeature ()
int GetNumFeatures (const int itype) const
void UpdateFeature (FeatEntry *ptr, int mask)
void ProcessFeatures ()
bool IsSecStructFound ()
bool GetMinMaxCrd (double &MinX_v, double &MinY_v, double &MinZ_v, double &MaxX_v, double &MaxY_v, double &MaxZ_v)
 Get Min and Max coordinates of the molecule.

bool GetAverageCoord (double &avx, double &avy, double &avz)
 Get average coordinates of the molecule:.

bool GetStdRotMat (HaMat_double &rot_mat)
 Get Standard Rotation matrix for a given molecule's orientation:.


Static Public Member Functions

int AttachFragment (HaAtom *catom_host, HaAtom *catom_frag)
bool SetCoordSubstH (const HaAtom *aptr1, const HaAtom *aptr2, HaAtom *haptr)
 generate coordinates of the hydrogen connected to aptr1 in the direction of aptr2


Public Attributes

bool sec_struct_found
 flag to indicate that secondary structure is found

int structsource
 indicate wheter sceondary structure were loaded from PDB or computed

list< FeatEntry > Features
list< HaChainChains
 List of Chains.

set< HaHBond, less< HaHBond > > HBonds
 Hydrogen Bonds of the molecule.

set< HaHBond, less< HaHBond > > SSBonds
 SS bridges of the molecule.

set< HaBond, less< HaBond > > Bonds
 Valence bonds of the molecule.

list< HaAtomAtoms
 Atoms of the molecule.

bool SSBonds_found
bool HBonds_found
 flag to show if H-bonds have been created

HaString classification
HaString identcode
HaResidueCurResidue
 Pointer to the last added Residue (from Rasmol).

HaChainCurChain
 Pointer to the last added chain.


Static Public Attributes

int SeqFormat = 0
 Format Sequence in DesribeSequence() function.


Protected Member Functions

int AddMissingAtoms_2 (HaResidue *pres, HaResidue *prtempl, ADD_ATOM_TYPE atom_type)
void FindAlphaHelix (int pitch, int flag)
void FindTurnStructure ()
void FindBetaTurns ()
void FindBetaSheets ()
void TestLadder (list< HaChain >::iterator chain_ref, HaResidue *prevri, HaResidue *curri, HaResidue *nexti)

Protected Attributes

HaMolSetphost_mset
vector< AtomNodenodes
list< HaChain >::iterator CurChainItr

Detailed Description

Class to define a single Molecule object.


Member Function Documentation

int HaMolecule::GetStdPosition HaMat_double rot_std,
Vec3D trans_std
 

Determine std rot matric and translation for a given molecule.

Determine standard rotation matrix and standard translation vector for a given orientation of the molecule

int HaMolecule::SetPosition const HaMat_double rot_new,
const Vec3D trans_new
 

Set molecular orientations corresponding to a given std rotation and translation.

Rotate and translate the molecule according standardtized rotation matrix rot_new and translation vector trans_new

int HaMolecule::SetPosEulerTrans double  phi,
double  cos_theta,
double  psi,
const Vec3D trans
 

Set the molecule position using Euler angles and translation vectors.

Rotate and translate the molecule according standardtized rotation matrix determined by euler angles, translation vector transx, transy, transz

int HaMolecule::SetIntCoordFromStr const char *  int_crd_str  ) 
 

in seq x,y,z, phi,cost,psi


The documentation for this class was generated from the following files:
Generated on Tue Feb 17 02:03:18 2004 for harlem by doxygen 1.3.6