OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions
CoordFrame Class Reference

#include <coord_frame.hh>

Inherits Vec3List.

Public Types

typedef geom::Vec3List base_type
- Public Types inherited from Vec3List

Public Member Functions

 CoordFrame ()
 CoordFrame (size_t size, const geom::Vec3 &value=geom::Vec3())
 CoordFrame (base_type::iterator b, base_type::iterator e)
 CoordFrame (const base_type &rhs)
 CoordFrame (const std::vector< geom::Vec3 > &rhs)
 CoordFrame (const std::vector< geom::Vec3 > &rhs, const geom::Vec3 box_size, const geom::Vec3 box_angles)
void SetCellSize (const geom::Vec3 &s)
geom::Vec3 GetCellSize () const
void SetCellAngles (const geom::Vec3 &a)
geom::Vec3 GetCellAngles () const
geom::Vec3 GetAtomPos (const AtomHandle &atom) const
geom::Vec3 GetAtomPos (int atom_index) const
Real GetDistanceBetwAtoms (const AtomHandle &a1, const AtomHandle &a2) const
Real GetDistanceBetwAtoms (int atom1_index, int atom2_index) const
Real GetAngle (const AtomHandle &a1, const AtomHandle &a2, const AtomHandle &a3) const
Real GetAngle (int atom1_index, int atom2_index, int atom3_index) const
Real GetDihedralAngle (const AtomHandle &a1, const AtomHandle &a2, const AtomHandle &a3, const AtomHandle &a4) const
Real GetDihedralAngle (int a1_index, int a2_index, int a3_index, int a4_index) const
geom::Vec3 GetCenterOfMassPos (const mol::EntityView &sele) const
geom::Vec3 GetCenterOfMassPos (std::vector< unsigned long > &indices, std::vector< Real > &masses) const
Real GetDistanceBetwCenterOfMass (const mol::EntityView &sele1, const mol::EntityView &sele2) const
Real GetDistanceBetwCenterOfMass (std::vector< unsigned long > &indices1, std::vector< Real > &masses1, std::vector< unsigned long > &indices2, std::vector< Real > &masses2) const
Real GetRMSD (const std::vector< geom::Vec3 > &ref_pos, const std::vector< unsigned long > &indices_sele) const
Real GetRMSD (const mol::EntityView &reference_view, const mol::EntityView &sele_view) const
Real GetMinDistance (std::vector< unsigned long > &index_list1, std::vector< unsigned long > &index_list2) const
Real GetMinDistance (const mol::EntityView &view1, const mol::EntityView &view2) const
Real GetMinDistBetwCenterOfMassAndView (std::vector< unsigned long > &indices_cm, std::vector< Real > &masses_cm, std::vector< unsigned long > &indices_atoms) const
Real GetMinDistBetwCenterOfMassAndView (const mol::EntityView &view_cm, const mol::EntityView &view_atoms) const
geom::Line3 GetODRLine (std::vector< unsigned long > &indices_ca) const
geom::Plane GetODRPlane (std::vector< unsigned long > &indices_ca) const
geom::Line3 GetODRLine (const mol::EntityView &view1) const
geom::Plane GetODRPlane (const mol::EntityView &view1) const
geom::Line3 FitCylinder (std::vector< unsigned long > &indices_ca) const
geom::Line3 FitCylinder (const mol::EntityView &view1) const
Real GetAlphaHelixContent (std::vector< unsigned long > &indices_ca, std::vector< unsigned long > &indices_c, std::vector< unsigned long > &indices_o, std::vector< unsigned long > &indices_n) const
Real GetAlphaHelixContent (const mol::EntityView &segment) const
- Public Member Functions inherited from Vec3List
 Vec3List ()
 Vec3List (size_t size, const Vec3 &value=Vec3())
 Vec3List (base_type::iterator b, base_type::iterator e)
 Vec3List (const Vec3List &rhs)
 Vec3List (const base_type &rhs)
Vec3Listoperator= (const Vec3List &rhs)
bool operator== (const Vec3List &rhs) const
Vec3Listoperator+= (const Vec3List &rhs)
Vec3Listoperator+= (Real d)
Vec3Listoperator-= (const Vec3List &rhs)
Vec3Listoperator-= (Real d)
Vec3Listoperator*= (Real d)
Vec3Listoperator/= (Real d)
Mat3 GetInertia () const
Vec3 GetCenter () const
Mat3 GetPrincipalAxes () const
Line3 GetODRLine () const
Plane GetODRPlane () const
Line3 FitCylinder (const Vec3 &initial_direction, const Vec3 &center) const

Detailed Description

A coordinate frame in a trajectory, containing atom positions and per-frame unit cell size and angles.

Definition at line 46 of file coord_frame.hh.


Member Typedef Documentation

Reimplemented from Vec3List.

Definition at line 51 of file coord_frame.hh.


Constructor & Destructor Documentation

CoordFrame ( )
inline

Definition at line 53 of file coord_frame.hh.

CoordFrame ( size_t  size,
const geom::Vec3 value = geom::Vec3() 
)
inline

Definition at line 54 of file coord_frame.hh.

CoordFrame ( base_type::iterator  b,
base_type::iterator  e 
)
inline

Definition at line 55 of file coord_frame.hh.

CoordFrame ( const base_type rhs)
inline

Definition at line 56 of file coord_frame.hh.

CoordFrame ( const std::vector< geom::Vec3 > &  rhs)
inline

Definition at line 57 of file coord_frame.hh.

CoordFrame ( const std::vector< geom::Vec3 > &  rhs,
const geom::Vec3  box_size,
const geom::Vec3  box_angles 
)
inline

Definition at line 58 of file coord_frame.hh.


Member Function Documentation

geom::Line3 FitCylinder ( std::vector< unsigned long > &  indices_ca) const

Returns a line which is the axis of a fitted cylinder to the atoms with indices given in indices_ca It is assumed that we fit an alpha-helix and that the CA atoms are oredered sequentially This is used for the initial guess of the helix axis

geom::Line3 FitCylinder ( const mol::EntityView view1) const

see FitCylinder(std::vector<unsigned long>&)

Real GetAlphaHelixContent ( std::vector< unsigned long > &  indices_ca,
std::vector< unsigned long > &  indices_c,
std::vector< unsigned long > &  indices_o,
std::vector< unsigned long > &  indices_n 
) const

Returns the percentage of residues in the EntityView (segment) that are in an alpha-helix Each residue is assigned as being in an alpha-helix or not, based on and backbone torsion angles and the hydrogen bonding (O-N) (this term is used only if the segment contains at least 8 residues The entity view should be a single segment with no gaps and no missing N,CA,C,O backbone atoms the first and last residues will not be asessed for helicity

Real GetAlphaHelixContent ( const mol::EntityView segment) const

see above

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

Returns the angle between the three atoms in rad

a2 is considered the central atom, i.e the result is the angle between the vectors (a1.pos-a2.pos) and (a3.pos-a2.pos)

Real GetAngle ( int  atom1_index,
int  atom2_index,
int  atom3_index 
) const

Returns the angle between the three atom indices in rad

atom2 is considered the central atom, i.e the result is the angle between the vectors (atom1.pos-atom2.pos) and (atom3.pos-atom2.pos)

geom::Vec3 GetAtomPos ( const AtomHandle atom) const
geom::Vec3 GetAtomPos ( int  atom_index) const
geom::Vec3 GetCellAngles ( ) const
inline

Definition at line 77 of file coord_frame.hh.

geom::Vec3 GetCellSize ( ) const
inline

Definition at line 69 of file coord_frame.hh.

geom::Vec3 GetCenterOfMassPos ( const mol::EntityView sele) const

Returns the position of the centor of mass of the atoms in the EntityView.

geom::Vec3 GetCenterOfMassPos ( std::vector< unsigned long > &  indices,
std::vector< Real > &  masses 
) const

Calculates the center of mass given a list of indices and provided masses.

the masses vector contains only the masses for the atoms indexed by indices, not for all atoms in the frame

Real GetDihedralAngle ( const AtomHandle a1,
const AtomHandle a2,
const AtomHandle a3,
const AtomHandle a4 
) const

Returns the Dihedral angle between the four atoms a1,a2,a3,a4.

Real GetDihedralAngle ( int  a1_index,
int  a2_index,
int  a3_index,
int  a4_index 
) const

Returns the Dihedral angle between the four atom indices a1,a2,a3,a4.

Real GetDistanceBetwAtoms ( const AtomHandle a1,
const AtomHandle a2 
) const
Real GetDistanceBetwAtoms ( int  atom1_index,
int  atom2_index 
) const
Real GetDistanceBetwCenterOfMass ( const mol::EntityView sele1,
const mol::EntityView sele2 
) const

Returns the distance between the centers of mass of the two EntityViews.

Real GetDistanceBetwCenterOfMass ( std::vector< unsigned long > &  indices1,
std::vector< Real > &  masses1,
std::vector< unsigned long > &  indices2,
std::vector< Real > &  masses2 
) const

Returns the distance betweem two custom center of masses

Calculates the centers of mass of the two groups of atoms from given by index lists and custom masses. See comment regarding masses vector for GetCenterOfMassPos

Real GetMinDistance ( std::vector< unsigned long > &  index_list1,
std::vector< unsigned long > &  index_list2 
) const

Returns the minimal distance between two groups of atoms.

with indices given by index_list1 and index_list2

Real GetMinDistance ( const mol::EntityView view1,
const mol::EntityView view2 
) const

Returns the minimal distance between the atoms of two views (view1 and view2)

Real GetMinDistBetwCenterOfMassAndView ( std::vector< unsigned long > &  indices_cm,
std::vector< Real > &  masses_cm,
std::vector< unsigned long > &  indices_atoms 
) const

Returns the minimal distance between the center of mass of two groups of atoms

atoms and their masses are defined by indices and masses for those atoms

Real GetMinDistBetwCenterOfMassAndView ( const mol::EntityView view_cm,
const mol::EntityView view_atoms 
) const

Returns the minimal distance between the center of mass of two views.

geom::Line3 GetODRLine ( std::vector< unsigned long > &  indices_ca) const

Returns the best fit line to atoms with indices in indices_ca.

geom::Line3 GetODRLine ( const mol::EntityView view1) const

Returns the normal to the best fit plane to atoms with indices in indices_ca.

geom::Plane GetODRPlane ( std::vector< unsigned long > &  indices_ca) const

Returns the best fit line to atoms in the EntityView view1.

geom::Plane GetODRPlane ( const mol::EntityView view1) const
Real GetRMSD ( const std::vector< geom::Vec3 > &  ref_pos,
const std::vector< unsigned long > &  indices_sele 
) const

Returns the RMSD between the positions of the atoms whose indices are given in indices_sele and the positions given in ref_pos

Real GetRMSD ( const mol::EntityView reference_view,
const mol::EntityView sele_view 
) const

Returns the rmsd between two EntityViews.

The reference positions are taken directly from the reference_view, whereas they are taken from this CoordFrame for the sele_view

void SetCellAngles ( const geom::Vec3 a)
inline

Definition at line 73 of file coord_frame.hh.

void SetCellSize ( const geom::Vec3 s)
inline

Definition at line 65 of file coord_frame.hh.


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