OpenStructure
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
typedef std::vector< Vec3base_type
 

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::Vec3List GetCellVectors () 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
 
std::pair< geom::Line3, RealFitCylinder (std::vector< unsigned long > &indices_ca) const
 
std::pair< geom::Line3, RealFitCylinder (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
 
void ApplyTransform (const Mat4 &m)
 
Real GetSummedSquaredDistances (const Vec3List &other) const
 
Real GetRMSD (const Vec3List &other) const
 
Real GetGDTHA (const Vec3List &other, bool norm=true) const
 
Real GetGDTTS (const Vec3List &other, bool norm=true) const
 
Real GetGDT (const Vec3List &other, Real thresh, bool norm=true) const
 
Real GetMinDist (const Vec3List &other) const
 
bool IsWithin (const Vec3List &other, Real dist) const
 
std::pair< Line3, RealFitCylinder (const Vec3 &initial_direction) 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

◆ base_type

Definition at line 51 of file coord_frame.hh.

Constructor & Destructor Documentation

◆ CoordFrame() [1/6]

CoordFrame ( )
inline

Definition at line 53 of file coord_frame.hh.

◆ CoordFrame() [2/6]

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

Definition at line 54 of file coord_frame.hh.

◆ CoordFrame() [3/6]

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

Definition at line 55 of file coord_frame.hh.

◆ CoordFrame() [4/6]

CoordFrame ( const base_type rhs)
inline

Definition at line 56 of file coord_frame.hh.

◆ CoordFrame() [5/6]

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

Definition at line 57 of file coord_frame.hh.

◆ CoordFrame() [6/6]

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

◆ FitCylinder() [1/2]

std::pair<geom::Line3, Real> FitCylinder ( const mol::EntityView view1) const

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

◆ FitCylinder() [2/2]

std::pair<geom::Line3, Real> 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

◆ GetAlphaHelixContent() [1/2]

Real GetAlphaHelixContent ( const mol::EntityView segment) const

see above

◆ GetAlphaHelixContent() [2/2]

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

◆ GetAngle() [1/2]

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)

◆ GetAngle() [2/2]

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)

◆ GetAtomPos() [1/2]

geom::Vec3 GetAtomPos ( const AtomHandle atom) const

◆ GetAtomPos() [2/2]

geom::Vec3 GetAtomPos ( int  atom_index) const

◆ GetCellAngles()

geom::Vec3 GetCellAngles ( ) const
inline

Definition at line 77 of file coord_frame.hh.

◆ GetCellSize()

geom::Vec3 GetCellSize ( ) const
inline

Definition at line 69 of file coord_frame.hh.

◆ GetCellVectors()

geom::Vec3List GetCellVectors ( ) const

◆ GetCenterOfMassPos() [1/2]

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

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

◆ GetCenterOfMassPos() [2/2]

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

◆ GetDihedralAngle() [1/2]

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.

◆ GetDihedralAngle() [2/2]

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.

◆ GetDistanceBetwAtoms() [1/2]

Real GetDistanceBetwAtoms ( const AtomHandle a1,
const AtomHandle a2 
) const

◆ GetDistanceBetwAtoms() [2/2]

Real GetDistanceBetwAtoms ( int  atom1_index,
int  atom2_index 
) const

◆ GetDistanceBetwCenterOfMass() [1/2]

Real GetDistanceBetwCenterOfMass ( const mol::EntityView sele1,
const mol::EntityView sele2 
) const

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

◆ GetDistanceBetwCenterOfMass() [2/2]

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

◆ GetMinDistance() [1/2]

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

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

◆ GetMinDistance() [2/2]

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

◆ GetMinDistBetwCenterOfMassAndView() [1/2]

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.

◆ GetMinDistBetwCenterOfMassAndView() [2/2]

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

◆ GetODRLine() [1/2]

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

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

◆ GetODRLine() [2/2]

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

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

◆ GetODRPlane() [1/2]

geom::Plane GetODRPlane ( const mol::EntityView view1) const

◆ GetODRPlane() [2/2]

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

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

◆ GetRMSD() [1/2]

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

◆ GetRMSD() [2/2]

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

◆ SetCellAngles()

void SetCellAngles ( const geom::Vec3 a)
inline

Definition at line 73 of file coord_frame.hh.

◆ SetCellSize()

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: