Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::nmr::NMRDummySpinlabelEnsemble Class Reference

Class that represents a "dummy" spinlabel ensemble. It holds information about each individual conformer member (atom coordinates, number of observations) and data to score those based on atom clashes with the neighborhood of the ensemble. To speed up the clash score calculation, this class holds also an object of type NMRDummySpinlabelVoxelGrid which gets filled with constant pointers to NMRDummySpinlabelAtoms. More...

#include <NMRDummySpinlabelEnsemble.hh>

Inheritance diagram for core::scoring::nmr::NMRDummySpinlabelEnsemble:
Inheritance graph
[legend]

Public Types

typedef utility::vector1
< NMRDummySpinlabelConformerOP >
::iterator 
NMRDummySpinlabelConformerTableIter
 
typedef utility::vector1
< NMRDummySpinlabelConformerOP >
::const_iterator 
NMRDummySpinlabelConformerTableCOIter
 

Public Member Functions

 NMRDummySpinlabelEnsemble (std::string const &database_file, chemical::ResidueType const &restype)
 Construct from database file and residue type. More...
 
 NMRDummySpinlabelEnsemble (NMRDummySpinlabelEnsemble const &other)
 copy constructor More...
 
NMRDummySpinlabelEnsembleoperator= (NMRDummySpinlabelEnsemble const &rhs)
 assignment operator More...
 
 ~NMRDummySpinlabelEnsemble () override
 destructor More...
 
void clash_check (pose::Pose const &pose, Size const target_resid, Real const radius)
 Perform a clash score calculation for every spinlabel conformer in the ensemble by calculating pairwise distances to neighborhood residues which are within a given radius. Specifically, the distance between every side-chain heavy atom in the spinlabel conformer and the neighbor atom of a pose residue is calculated. If the distance is smaller than the pose residue's neighbor radius, is is assumed that the spinlabel conformer will fall within the side-chain radius of the neighborhood residue and thus it will be labeled as clashing otherwise it will not. More...
 
HT coordinate_transform_onto_target_site (pose::Pose const &pose, Size const resid) const
 returns the transformation matrix which transforms a xyz coordinate from the frame of the spinlabel ensemble into the frame of the target site residue. More...
 
utility::vector1
< NMRDummySpinlabelConformerOP > & 
get_conformer_table ()
 Getters. More...
 
Size get_ensemble_size () const
 
utility::vector1
< utility::vector1< Real >
> const & 
get_rmsd_mat ()
 
NMRDummySpinlabelVoxelGridOP get_voxel_grid ()
 
NMRDummySpinlabelVoxelGridCOP get_voxel_grid () const
 

Private Member Functions

 NMRDummySpinlabelEnsemble ()
 default constructor More...
 
void init_from_database_file (std::string const &database_file, chemical::ResidueType const &restype)
 utility function used for initialization from database files More...
 
void define_ensemble_frame ()
 define the origin of the xyz coordinate frame of the ensemble. this needs to be done only once when we initialize the object. More...
 
HT coordinate_transform_from_target_site (pose::Pose const &pose, Size const resid) const
 calculate the homogeneous transform that relates the target residue (i.e. in our case the residue that represents the spinlabel site) with the coordinate frame of the dummy spinlabel ensemble. In this way we don't need to move the spinlabel ensemble which contains many more coordinates but can leave it static. More...
 
void register_options ()
 
void init_from_cml ()
 

Private Attributes

Size ensemble_size_
 
utility::vector1
< NMRDummySpinlabelConformerOP
conformer_table_
 
HT ensemble_origin_
 
utility::vector1
< utility::vector1< Real > > 
rmsd_mat_
 
NMRDummySpinlabelVoxelGridOP grid_
 
bool elaborate_clash_check_
 

Detailed Description

Class that represents a "dummy" spinlabel ensemble. It holds information about each individual conformer member (atom coordinates, number of observations) and data to score those based on atom clashes with the neighborhood of the ensemble. To speed up the clash score calculation, this class holds also an object of type NMRDummySpinlabelVoxelGrid which gets filled with constant pointers to NMRDummySpinlabelAtoms.

Member Typedef Documentation

Constructor & Destructor Documentation

core::scoring::nmr::NMRDummySpinlabelEnsemble::NMRDummySpinlabelEnsemble ( )
private

default constructor

core::scoring::nmr::NMRDummySpinlabelEnsemble::NMRDummySpinlabelEnsemble ( std::string const &  database_file,
chemical::ResidueType const &  restype 
)

Construct from database file and residue type.

Class NMRDummySpinlabelEnsemble.

Construct from database file

References define_ensemble_frame(), init_from_cml(), init_from_database_file(), and register_options().

core::scoring::nmr::NMRDummySpinlabelEnsemble::NMRDummySpinlabelEnsemble ( NMRDummySpinlabelEnsemble const &  other)

copy constructor

References conformer_table_, and grid_.

core::scoring::nmr::NMRDummySpinlabelEnsemble::~NMRDummySpinlabelEnsemble ( )
override

destructor

Member Function Documentation

void core::scoring::nmr::NMRDummySpinlabelEnsemble::clash_check ( pose::Pose const &  pose,
Size const  target_resid,
Real const  radius 
)

Perform a clash score calculation for every spinlabel conformer in the ensemble by calculating pairwise distances to neighborhood residues which are within a given radius. Specifically, the distance between every side-chain heavy atom in the spinlabel conformer and the neighbor atom of a pose residue is calculated. If the distance is smaller than the pose residue's neighbor radius, is is assumed that the spinlabel conformer will fall within the side-chain radius of the neighborhood residue and thus it will be labeled as clashing otherwise it will not.

References core::pose::motif::a(), core::conformation::Residue::atom_name(), protocols::match::upstream::b, core::scoring::nmr::NMRDummySpinlabelConformer::clash_on(), core::scoring::nmr::NMRDummySpinlabelConformer::clash_score(), conformer_table_, coordinate_transform_from_target_site(), core::kinematics::distance(), elaborate_clash_check_, ensemble_size_, grid_, core::scoring::nmr::NMRDummySpinlabelConformer::has_clash(), core::conformation::Residue::is_virtual_residue(), protocols::mean_field::max(), protocols::mean_field::min(), core::conformation::Residue::name3(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_atom_xyz(), core::conformation::Residue::nbr_radius(), core::pose::Pose::residue(), core::simple_metrics::metrics::sum, core::pose::Pose::total_residue(), and core::scoring::nmr::TR().

HT core::scoring::nmr::NMRDummySpinlabelEnsemble::coordinate_transform_from_target_site ( pose::Pose const &  pose,
Size const  resid 
) const
private

calculate the homogeneous transform that relates the target residue (i.e. in our case the residue that represents the spinlabel site) with the coordinate frame of the dummy spinlabel ensemble. In this way we don't need to move the spinlabel ensemble which contains many more coordinates but can leave it static.

References core::scoring::nmr::define_local_frame(), ensemble_origin_, core::conformation::Residue::has(), core::pose::Pose::residue(), and core::conformation::Residue::xyz().

Referenced by clash_check(), and coordinate_transform_onto_target_site().

HT core::scoring::nmr::NMRDummySpinlabelEnsemble::coordinate_transform_onto_target_site ( pose::Pose const &  pose,
Size const  resid 
) const

returns the transformation matrix which transforms a xyz coordinate from the frame of the spinlabel ensemble into the frame of the target site residue.

References coordinate_transform_from_target_site().

void core::scoring::nmr::NMRDummySpinlabelEnsemble::define_ensemble_frame ( )
private

define the origin of the xyz coordinate frame of the ensemble. this needs to be done only once when we initialize the object.

References conformer_table_, core::scoring::nmr::define_local_frame(), ensemble_origin_, and ensemble_size_.

Referenced by NMRDummySpinlabelEnsemble().

utility::vector1< NMRDummySpinlabelConformerOP >& core::scoring::nmr::NMRDummySpinlabelEnsemble::get_conformer_table ( )
inline

Getters.

References conformer_table_.

Size core::scoring::nmr::NMRDummySpinlabelEnsemble::get_ensemble_size ( ) const
inline

References ensemble_size_.

utility::vector1<utility::vector1<Real> > const& core::scoring::nmr::NMRDummySpinlabelEnsemble::get_rmsd_mat ( )
inline

References rmsd_mat_.

NMRDummySpinlabelVoxelGridOP core::scoring::nmr::NMRDummySpinlabelEnsemble::get_voxel_grid ( )
inline

References grid_.

NMRDummySpinlabelVoxelGridCOP core::scoring::nmr::NMRDummySpinlabelEnsemble::get_voxel_grid ( ) const
inline

References grid_.

void core::scoring::nmr::NMRDummySpinlabelEnsemble::init_from_cml ( )
private
void core::scoring::nmr::NMRDummySpinlabelEnsemble::init_from_database_file ( std::string const &  database_file,
chemical::ResidueType const &  restype 
)
private
NMRDummySpinlabelEnsemble & core::scoring::nmr::NMRDummySpinlabelEnsemble::operator= ( NMRDummySpinlabelEnsemble const &  rhs)
void core::scoring::nmr::NMRDummySpinlabelEnsemble::register_options ( )
private

Member Data Documentation

utility::vector1< NMRDummySpinlabelConformerOP > core::scoring::nmr::NMRDummySpinlabelEnsemble::conformer_table_
private
bool core::scoring::nmr::NMRDummySpinlabelEnsemble::elaborate_clash_check_
private
HT core::scoring::nmr::NMRDummySpinlabelEnsemble::ensemble_origin_
private
Size core::scoring::nmr::NMRDummySpinlabelEnsemble::ensemble_size_
private
NMRDummySpinlabelVoxelGridOP core::scoring::nmr::NMRDummySpinlabelEnsemble::grid_
private
utility::vector1<utility::vector1<Real> > core::scoring::nmr::NMRDummySpinlabelEnsemble::rmsd_mat_
private

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