Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::chemical::rings::RingConformerSet Class Reference

#include <RingConformerSet.hh>

Inheritance diagram for core::chemical::rings::RingConformerSet:
Inheritance graph
[legend]

Public Member Functions

 RingConformerSet (core::Size const ring_size, core::chemical::rings::RingSaturationType const saturation_type=core::chemical::rings::ALIPHATIC, std::string const &lowest_conformer="", utility::vector1< std::string > const &low_conformers=utility::vector1< std::string >())
 Standard constructor. More...
 
 RingConformerSet (RingConformerSet const &object_to_copy)
 Copy constructor. More...
 
RingConformerSetoperator= (RingConformerSet const &object_to_copy)
 
 ~RingConformerSet () override
 
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...
 
bool low_energy_conformers_are_known () const
 Are the low-energy conformers known for this 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 const & get_ideal_conformer_from_nus (utility::vector1< core::Angle > const &angles, core::Real limit=90.0) const
 Return the conformer that is the best fit for the provided list of nu angles. More...
 
RingConformer const & 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 const & get_random_local_min_conformer () const
 Return a random conformer from the subset of conformers that are local minima. More...
 
utility::vector1< RingConformerget_local_min_conformers () const
 

Private Member Functions

 RingConformerSet ()
 
void init (core::Size const ring_size, core::chemical::rings::RingSaturationType const saturation_type, std::string const &lowest_conformer_in, utility::vector1< std::string > const &low_conformers)
 
void copy_data (RingConformerSet &object_to_copy_to, RingConformerSet const &object_to_copy_from)
 

Private Attributes

core::Size ring_size_
 
utility::vector1< RingConformernondegenerate_conformers_
 
utility::vector1< RingConformerdegenerate_conformers_
 
RingConformer energy_minimum_conformer_
 
utility::vector1< RingConformerenergy_minima_conformers_
 

Constructor & Destructor Documentation

core::chemical::rings::RingConformerSet::RingConformerSet ( core::Size const  ring_size,
core::chemical::rings::RingSaturationType const  saturation_type = core::chemical::rings::ALIPHATIC,
std::string const &  lowest_conformer = "",
utility::vector1< std::string > const &  low_conformers = utility::vector1< std::string >() 
)

Standard constructor.

Parameters
<ring_size>an unsigned integer expressing the size of the ring
<saturation_type>ALIPHATIC, AROMATIC, etc. Default is ALIPHATIC.
<lowest_conformer>IUPAC name for the lowest-energy ring conformer, if known. Default "".
<low_conformers>IUPAC name for other low-energy ring conformers. Default empty vector.

References init().

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

Copy constructor.

References copy_data().

core::chemical::rings::RingConformerSet::~RingConformerSet ( )
overridedefault
core::chemical::rings::RingConformerSet::RingConformerSet ( )
private

Member Function Documentation

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

Return a list of all nondegenerate conformers in the set.

References nondegenerate_conformers_.

RingConformer const & core::chemical::rings::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::rings::RingConformer::CP_parameters, nondegenerate_conformers_, core::chemical::rings::PHI, core::chemical::rings::q, ring_size_, size(), core::chemical::rings::THETA, and core::chemical::TR().

RingConformer const & core::chemical::rings::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_, size(), and core::chemical::rings::RingConformer::specific_name.

RingConformer const & core::chemical::rings::RingConformerSet::get_ideal_conformer_from_nus ( utility::vector1< core::Angle > const &  angles,
core::Real  limit = 90.0 
) const

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

Parameters
<angles>an appropriate, ordered list of nu angles in degrees, one less than the ring size.
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::rings::RingConformer::nu_angles, ring_size_, size(), and core::chemical::TR().

utility::vector1< RingConformer > core::chemical::rings::RingConformerSet::get_local_min_conformers ( ) const
RingConformer const & core::chemical::rings::RingConformerSet::get_lowest_energy_conformer ( ) const

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

References energy_minimum_conformer_.

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

Return a random conformer from the set.

References degenerate_conformers_, and core::scoring::rg.

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

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

References energy_minima_conformers_, and core::scoring::rg.

void core::chemical::rings::RingConformerSet::init ( core::Size const  ring_size,
core::chemical::rings::RingSaturationType const  saturation_type,
std::string const &  lowest_conformer_in,
utility::vector1< std::string > const &  low_conformers 
)
private
bool core::chemical::rings::RingConformerSet::low_energy_conformers_are_known ( ) const

Are the low-energy conformers known for this set?

References energy_minima_conformers_.

RingConformerSet & core::chemical::rings::RingConformerSet::operator= ( RingConformerSet const &  object_to_copy)

References copy_data().

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

Return the ring size of the conformers in this set.

References ring_size_.

Referenced by init().

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

Generate string representation of RingConformerSet for debugging purposes.

References nondegenerate_conformers_.

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

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

Member Data Documentation

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

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