Rosetta Core  2014.35
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
core::chemical::RingConformerSet Class Reference

#include <RingConformerSet.hh>

Public Member Functions

 RingConformerSet (core::uint const ring_size)
 Standard constructor. More...
 
 RingConformerSet (RingConformerSet const &object_to_copy)
 Copy constructor. More...
 
RingConformerSetoperator= (RingConformerSet const &object_to_copy)
 
virtual ~RingConformerSet ()
 
virtual void show (std::ostream &output=std::cout) const
 Generate string representation of RingConformerSet for debugging purposes. More...
 
core::Size ring_size () const
 Return the ring size of the conformers in this set. More...
 
core::Size size () const
 Return the size of the conformer set. More...
 
utility::vector1
< RingConformer > const & 
get_all_nondegenerate_conformers () const
 Return a list of all nondegenerate conformers in the set. More...
 
RingConformer const & get_ideal_conformer_by_name (std::string const name) const
 Return the conformer corresponding to the requested name. More...
 
RingConformer const & get_ideal_conformer_by_CP_parameters (utility::vector1< core::Real > const parameters) const
 Return the conformer that is the best fit for the provided Cremer-Pople parameters. More...
 
RingConformer get_ideal_conformer_from_nus (utility::vector1< core::Angle > const angles) const
 Return the conformer that is the best fit for the provided list of nu angles. More...
 
RingConformer get_lowest_energy_conformer () const
 Return the conformer that is known from studies (if available) to be the lowest energy ring conformer. More...
 
RingConformer const & get_random_conformer () const
 Return a random conformer from the set. More...
 
RingConformer get_random_local_min_conformer () const
 Return a random conformer from the subset of conformers that are local minima. More...
 

Private Member Functions

 RingConformerSet ()
 
void init (core::uint const ring_size)
 
void copy_data (RingConformerSet &object_to_copy_to, RingConformerSet const &object_to_copy_from)
 

Static Private Member Functions

static utility::vector1
< RingConformer > const & 
conformers_for_ring_size (core::Size ring_size)
 A set of ring conformers for the requested ring size. More...
 

Private Attributes

core::Size ring_size_
 
utility::vector1< RingConformernondegenerate_conformers_
 
utility::vector1< RingConformerdegenerate_conformers_
 
utility::vector1< RingConformerenergy_minima_conformers_
 
utility::vector1< RingConformerenergy_maxima_conformers_
 

Constructor & Destructor Documentation

core::chemical::RingConformerSet::RingConformerSet ( core::uint const  ring_size)

Standard constructor.

Parameters
<ring_size>an unsigned integer expressing the size of the saccharide ring

References init().

core::chemical::RingConformerSet::RingConformerSet ( RingConformerSet const &  object_to_copy)

Copy constructor.

References copy_data().

core::chemical::RingConformerSet::~RingConformerSet ( )
virtual
core::chemical::RingConformerSet::RingConformerSet ( )
private

References init().

Member Function Documentation

utility::vector1< RingConformer > const & core::chemical::RingConformerSet::conformers_for_ring_size ( core::Size  ring_size)
staticprivate

A set of ring conformers for the requested ring size.

References filename(), basic::database::full_name(), core::chemical::read_conformers_from_database_file_for_ring_size(), and ring_size().

Referenced by init().

void core::chemical::RingConformerSet::copy_data ( RingConformerSet object_to_copy_to,
RingConformerSet const &  object_to_copy_from 
)
private
utility::vector1< RingConformer > const & core::chemical::RingConformerSet::get_all_nondegenerate_conformers ( ) const

Return a list of all nondegenerate conformers in the set.

References nondegenerate_conformers_.

RingConformer const & core::chemical::RingConformerSet::get_ideal_conformer_by_CP_parameters ( utility::vector1< core::Real > const  parameters) const

Return the conformer that is the best fit for the provided Cremer-Pople parameters.

Parameters
<parameter>an appropriate, ordered list of C-P parameters, with angles in degrees:

For 4-membered rings, provide q.
For 5-membered rings, provide q, phi.
For 6-membered rings, provide q, phi, theta. For ideal conformers, q is ignored, if non-zero, except for 4-membered rings, where only the sign matters.

Returns
matching RingConformer or exits, if no match is found
Note
This is slow, but it should not be called by most protocols, which will pull randomly from various subsets.

References core::chemical::RingConformer::CP_parameters, nondegenerate_conformers_, nonnegative_principal_angle_degrees(), core::chemical::PHI, core::chemical::q, ring_size_, core::chemical::THETA, core::chemical::TR, and utility_exit_with_message.

RingConformer const & core::chemical::RingConformerSet::get_ideal_conformer_by_name ( std::string const  name) const

Return the conformer corresponding to the requested name.

Parameters
<name>the IUPAC name for a specific ring conformation, e.g., "1C4"

For a saccharide residue, the provided name assumes a ring with the anomeric carbon labeled 1. That is, for a 2-ketopyranose in the 2C5 chair form, provide 1C4.

Returns
matching RingConformer or exits, if no match is found
Note
This is slow, but it should not be called by most protocols, which will pull randomly from various subsets.

References nondegenerate_conformers_, core::chemical::RingConformer::specific_name, and utility_exit_with_message.

RingConformer core::chemical::RingConformerSet::get_ideal_conformer_from_nus ( utility::vector1< core::Angle > const  angles) const

Return the conformer that is the best fit for the provided list of nu angles.

RingConformer core::chemical::RingConformerSet::get_lowest_energy_conformer ( ) const

Return the conformer that is known from studies (if available) to be the lowest energy ring conformer.

RingConformer const & core::chemical::RingConformerSet::get_random_conformer ( ) const

Return a random conformer from the set.

References degenerate_conformers_, RG, and numeric::random::RandomGenerator::uniform().

RingConformer core::chemical::RingConformerSet::get_random_local_min_conformer ( ) const

Return a random conformer from the subset of conformers that are local minima.

void core::chemical::RingConformerSet::init ( core::uint const  ring_size)
private
RingConformerSet & core::chemical::RingConformerSet::operator= ( RingConformerSet const &  object_to_copy)

References copy_data().

core::Size core::chemical::RingConformerSet::ring_size ( ) const
inline

Return the ring size of the conformers in this set.

References ring_size_.

Referenced by conformers_for_ring_size(), and init().

void core::chemical::RingConformerSet::show ( std::ostream &  output = std::cout) const
virtual

Generate string representation of RingConformerSet for debugging purposes.

References nondegenerate_conformers_.

Referenced by core::chemical::operator<<().

core::Size core::chemical::RingConformerSet::size ( ) const

Return the size of the conformer set.

References nondegenerate_conformers_.

Member Data Documentation

utility::vector1<RingConformer> core::chemical::RingConformerSet::degenerate_conformers_
private
utility::vector1<RingConformer> core::chemical::RingConformerSet::energy_maxima_conformers_
private
utility::vector1<RingConformer> core::chemical::RingConformerSet::energy_minima_conformers_
private
utility::vector1<RingConformer> core::chemical::RingConformerSet::nondegenerate_conformers_
private
core::Size core::chemical::RingConformerSet::ring_size_
private

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