EntityHandle Class Reference

Protein or molecule. More...

#include <entity_handle.hh>

Inherits ost::mol::EntityBase.


Public Member Functions

 EntityHandle (const impl::EntityImplPtr &)
 EntityHandle ()
EntityHandle Copy () const
void Swap (EntityHandle &eh)
void DeepSwap (EntityHandle &eh)
void Apply (EntityVisitor &v)
TorsionHandle FindTorsion (const AtomHandle &a1, const AtomHandle &a2, const AtomHandle &a3, const AtomHandle &a4) const
ChainHandleList GetChainList () const
ResidueHandleIter ResiduesBegin () const
ResidueHandleIter ResiduesEnd () const
ChainHandleIter ChainsBegin () const
ChainHandleIter ChainsEnd () const
AtomHandleIter AtomsBegin () const
AtomHandleIter AtomsEnd () const
AtomHandleList FindWithin (const geom::Vec3 &pos, Real radius) const
EntityView Select (const Query &q, QueryFlags flags=0) const
EntityView Select (const String &query_string, QueryFlags flags=0) const
EntityView CreateFullView () const
EntityView CreateEmptyView () const
int GetAtomCount () const
int GetResidueCount () const
int GetChainCount () const
int GetBondCount () const
mol::BondHandleList GetBondList () const
Real GetAngle (const AtomHandle &a1, const AtomHandle &a2, const AtomHandle &a3) const
Real GetAngle (const AtomView &a1, const AtomView &a2, const AtomView &a3) const
const geom::Mat4GetTransformationMatrix () const
const geom::Mat4GetInvTransformationMatrix () const
bool IsTransformationIdentity () const
ResidueHandleList GetResidueList () const
AtomHandleList GetAtomList () const
XCSEditor RequestXCSEditor (EditMode mode=UNBUFFERED_EDIT) const
ICSEditor RequestICSEditor (EditMode mode=UNBUFFERED_EDIT) const
EntityHandle GetHandle () const
bool operator== (const EntityHandle &ref) const
bool operator!= (const EntityHandle &ref) const
Center, Mass and Extent
geom::Vec3 GetCenterOfAtoms () const
Real GetMass () const
geom::Vec3 GetCenterOfMass () const
geom::Vec3 GetGeometricCenter () const
geom::Vec3 GetGeometricStart () const
geom::Vec3 GetGeometricEnd () const
geom::Vec3 GetBoundarySize () const
Observer interface
void AttachObserver (const EntityObserverPtr &)
void DetachObserver (const EntityObserverPtr &)
Single item addressing
ChainHandle FindChain (const String &name) const
ResidueHandle FindResidue (const String &chain_name, const ResNum &number) const
AtomHandle FindAtom (const String &chain_name, const ResNum &number, const String &atom_name) const

Friends

class XCSEditor
class ICSEditor

Related Functions

(Note that these are not member functions.)

DLLEXPORT_OST_MOL EntityHandle CreateEntity ()


Detailed Description

Protein or molecule.

Molecules such as proteins and ligands are all represented as entities in OpenStructure. To work with subsets of atoms, residues, chains and bonds, refer to EntityView

Entities consist of zero or more chains of residues. The interface of entities is tailored to proteins, but is not limited to that. An entity may also represent a ligand or a collection of water molecules - hence the rather generic name. A new, empty entity is created with CreateEntity(). Atoms, residues, chains and bonds are added,removed or manipulated via editors.

Definition at line 56 of file entity_handle.hh.


Constructor & Destructor Documentation

EntityHandle ( const impl::EntityImplPtr  ) 

internally used ctor

EntityHandle (  ) 

default ctor. creates invalid handle.


Member Function Documentation

void Apply ( EntityVisitor v  ) 

visitor interface

AtomHandleIter AtomsBegin (  )  const

Iterator pointing to the beginning of atoms.

AtomHandleIter AtomsEnd (  )  const

Iterator pointing to the end of atoms.

void AttachObserver ( const EntityObserverPtr  ) 

attach observer

ChainHandleIter ChainsBegin (  )  const

Iterator pointing to the beginning of the chains.

ChainHandleIter ChainsEnd (  )  const

Iterator pointing to the end of the chains.

EntityHandle Copy (  )  const

copy entity, effectively duplicating the whole data structure

Alternative atom positions are not handled at all!

EntityView CreateEmptyView (  )  const

return a (new) empty view of this entity

EntityView CreateFullView (  )  const

return a (new) full view of this entity

void DeepSwap ( EntityHandle eh  ) 

deep swaps the implementations, effectively affecting _all_ entity handles that point to either

void DetachObserver ( const EntityObserverPtr  ) 

remove observer

AtomHandle FindAtom ( const String chain_name,
const ResNum number,
const String atom_name 
) const

ChainHandle FindChain ( const String name  )  const

Find chain by name.

Find chain within this entity with given name.

See also:
IsValid, FindResidue, FindAtom
Returns:
The found chain, or an invalid chain handle if no such chain exists

ResidueHandle FindResidue ( const String chain_name,
const ResNum number 
) const

TorsionHandle FindTorsion ( const AtomHandle a1,
const AtomHandle a2,
const AtomHandle a3,
const AtomHandle a4 
) const

Search a specific torsion.

The order of atoms is important. For the torsion to exist, it must have been added before via AddTorsion.

Returns:
the torsion or an invalid torsion handle if the torsion could not be found
See also:
DihedralAngle, SetDihedralAngle

AtomHandleList FindWithin ( const geom::Vec3 pos,
Real  radius 
) const

use atom hash to perform fast within lookup

Real GetAngle ( const AtomView a1,
const AtomView a2,
const AtomView a3 
) const

Get angle in radians between bonds a1-a2 and a2-a3.

Real GetAngle ( const AtomHandle a1,
const AtomHandle a2,
const AtomHandle a3 
) const

Get angle in radians between bonds a1-a2 and a2-a3.

int GetAtomCount (  )  const

Get number of atoms of this entity.

To count the atoms of a specific chain or residue, use the respective method of ChainHandle and ResidueHandle.

See also:
ResidueHandle::GetAtomCount, ChainHandle::GetAtomCount, GetResidueCount

AtomHandleList GetAtomList (  )  const

get complete list of atoms

See also:
AtomsBegin, AtomsEnd

int GetBondCount (  )  const

Get number of bonds.

mol::BondHandleList GetBondList (  )  const

Get list of bonds.

geom::Vec3 GetBoundarySize (  )  const

Get size of the entity.

geom::Vec3 GetCenterOfAtoms (  )  const

Get entity's center of atoms (not mass weighted).

Returns the center of all the atoms in an entity. This is similar to GetCenterOfMass(), but the atoms are not mass weighted

geom::Vec3 GetCenterOfMass (  )  const

Get entity's center of mass (mass weighted).

int GetChainCount (  )  const

Get number of chains of this entity.

ChainHandleList GetChainList (  )  const

Get list of chains.

geom::Vec3 GetGeometricCenter (  )  const

Get entity's geometric center.

Returns the geometric center of the entity's bounding box by calculating (GetGeometricStart()+GetGeometricEnd())/2

geom::Vec3 GetGeometricEnd (  )  const

Get entity's maximum cartesian coordinates.

geom::Vec3 GetGeometricStart (  )  const

Get entity's minimum cartesian coordinates.

EntityHandle GetHandle (  )  const

get this handle

Useful for templated code and duck-typing in Python

const geom::Mat4& GetInvTransformationMatrix (  )  const

Real GetMass (  )  const

Get entity's mass.

int GetResidueCount (  )  const

Get number of residues of this entity.

To count the atoms of a chain, use the GetResidueCount() of ChainHandle.

See also:
GetAtomCount, ChainHandle::GetResidueCount

ResidueHandleList GetResidueList (  )  const

get complete list of residues

See also:
ResiduesBegin, ResiduesEnd

const geom::Mat4& GetTransformationMatrix (  )  const

bool IsTransformationIdentity (  )  const

bool operator!= ( const EntityHandle ref  )  const

bool operator== ( const EntityHandle ref  )  const

ICSEditor RequestICSEditor ( EditMode  mode = UNBUFFERED_EDIT  )  const

Get editor for the internal coordinate system to manipulate torsions bond lengths and angles between bonds.

See also:
editors

XCSEditor RequestXCSEditor ( EditMode  mode = UNBUFFERED_EDIT  )  const

Get editor for external coordinate system to manipulate atom positions.

See also:
editors

ResidueHandleIter ResiduesBegin (  )  const

Iterator pointing to the beginning of the residues.

The residues are first ordered by chain and then ascending residue number.

Note:
The residue range is not fail-safe. If residues are removed or the iterators become invalid and the behaviour undefined.

ResidueHandleIter ResiduesEnd (  )  const

Iterator pointing to the end of th residues.

The two iterators returned by ResiduesBegin() and ResiduesEnd() form a half-closed range. It is cheaper to cache the iterator returned by ResiduesEnd() than to call ResiduesEnd() after very loop, i.e. like

 // e is an instance of EntityHandle
 for (ResidueHandleIter i=e.ResiduesBegin(), x=e.ResiduesEnd(); i!=x; ++i) {
  . . .
 }

EntityView Select ( const String query_string,
QueryFlags  flags = 0 
) const

return view based on query String.

See also:
Query

EntityView Select ( const Query q,
QueryFlags  flags = 0 
) const

return view based on a query object

See also:
Query

void Swap ( EntityHandle eh  ) 

swaps implementations on the entity handle level


Friends And Related Function Documentation

DLLEXPORT_OST_MOL EntityHandle CreateEntity (  )  [related]

create entity

friend class ICSEditor [friend]

Definition at line 59 of file entity_handle.hh.

friend class XCSEditor [friend]

Definition at line 58 of file entity_handle.hh.


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

Generated on Fri Jul 2 14:23:07 2010 for OpenStructure by  doxygen 1.5.8