Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
core::chemical::rotamers::NCAARotamerLibrarySpecification Class Reference

#include <NCAARotamerLibrarySpecification.hh>

Inheritance diagram for core::chemical::rotamers::NCAARotamerLibrarySpecification:
Inheritance graph
[legend]

Public Member Functions

 NCAARotamerLibrarySpecification ()
 
 NCAARotamerLibrarySpecification (std::string const &ncaa_rotlib_path)
 
 NCAARotamerLibrarySpecification (std::istream &)
 
RotamerLibrarySpecificationOP clone () const override
 Create a copy of the RotamerLibrarySpecification, respecting the subclassing. More...
 
void ncaa_rotlib_path (std::string const &path)
 Sets the path to the NCAA rotlib for the residue type. More...
 
void ncaa_rotlib_n_bin_per_rot (utility::vector1< Size > const &n_bins_per_rot)
 Sets the number of rotamers for each rotatable bond described by the NCAA rotlib. More...
 
void semirotameric_ncaa_rotlib (bool setting)
 
void nrchi_symmetric (bool setting)
 
void nrchi_start_angle (Real setting)
 
std::string const & ncaa_rotlib_path () const
 Returns the path to the NCAA rotlib for the residue type. More...
 
core::Size ncaa_rotlib_n_rotameric_bins () const
 Returns the number of rotatable bonds described by the NCAA rotlib (not nesesarily equal to nchi) More...
 
utility::vector1< Size > const & ncaa_rotlib_n_bin_per_rot () const
 Returns the number of rotamers for each rotatable bond described by the NCAA rotlib for all bonds. More...
 
bool semirotameric_ncaa_rotlib () const
 
bool nrchi_symmetric () const
 
Real nrchi_start_angle () const
 
std::string keyname () const override
 Which type of SingleResidueRotamerLibrary does this specification sub-type correspond to? More...
 
std::string cache_tag (core::chemical::ResidueType const &) const override
 How, if at all, should the corresponding SingleResidueRotamerLibrary be cached? More...
 
void describe (std::ostream &out) const override
 Write a params-file-like description of this RotamerLibrarySpecification to the given output stream. Can be multi-line, will be ended with a newline. More...
 
void add_rotamer_bb_torsion_index (core::Size const index)
 Add a backbone torsion index that the rotamer library is dependent on. More...
 
utility::vector1< core::Size >
const & 
rotamer_bb_torsion_indices () const
 Get a const reference to the list of mainchain torsion indices that this rotamer library depends upon. More...
 
void clear_rotamer_bb_torsion_indices ()
 Empties the list of mainchain torsion indices that this rotamer library depends upon. More...
 
- Public Member Functions inherited from core::chemical::rotamers::RotamerLibrarySpecification
 RotamerLibrarySpecification ()=default
 

Static Public Member Functions

static std::string library_name ()
 

Private Attributes

std::string ncaa_rotlib_path_
 path to the NCAA rotlib More...
 
utility::vector1< Sizencaa_rotlib_n_bins_per_rot_
 the number of rotamer bins for each chi angle in the NCAA rotlib More...
 
bool semirotameric_ncaa_rotlib_
 whether or not the NCAA rotlib is semirotameric More...
 
bool nrchi_symmetric_
 
Real nrchi_start_angle_
 
utility::vector1< core::Sizerotamer_bb_torsion_indices_
 Which mainchain torsions are the rotamers dependent on? More...
 

Constructor & Destructor Documentation

core::chemical::rotamers::NCAARotamerLibrarySpecification::NCAARotamerLibrarySpecification ( )
core::chemical::rotamers::NCAARotamerLibrarySpecification::NCAARotamerLibrarySpecification ( std::string const &  ncaa_rotlib_path)
core::chemical::rotamers::NCAARotamerLibrarySpecification::NCAARotamerLibrarySpecification ( std::istream &  input)

Member Function Documentation

void core::chemical::rotamers::NCAARotamerLibrarySpecification::add_rotamer_bb_torsion_index ( core::Size const  index)

Add a backbone torsion index that the rotamer library is dependent on.

Checks for zero or duplicated indices.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References rotamer_bb_torsion_indices_.

std::string core::chemical::rotamers::NCAARotamerLibrarySpecification::cache_tag ( core::chemical::ResidueType const &  ) const
overridevirtual

How, if at all, should the corresponding SingleResidueRotamerLibrary be cached?

The default is to return an empty string, which turns off caching.

The SingleResidueRotamerLibraries are cached in the SingleResidueRotamerLibraryFactory based on keyname() and cache_tag() (as keys in a map< string, map< string, SRRL > > ). Two RotamerLibrarySpecifications with identical return values for keyname() and cache_tag() should correspond to (functionally) identical SingleResidueRotamerLibraries.

This has to be in the RotamerLibrarySpecification, as when reading we need to know the cache string before creating the library.

A note on writing RotamerLibrarySpecifications and SingleResidueRotamerLibrarys: The functions of a SingleResidueRotamerLibrary will normally have access to the actual RotamerLibrarySpecification from the passed Residue/ResidueType. Therefore, you don't need to store all the information from a RLS in the SRRL. Not doing so allows you to have more general cache_tag(), as the cache_tag() function only needs to disambiguate RotamerLibrarySpecifications which result in different SingleResidueRotamerLibrarys. (That is, cache_tag() only needs to encapsulate data used by SingleResidueRotamerLibraryCreator to create the SingleResidueRotamerLibrary.)

The ResidueType is passed to cache_tag() so that if the SingleResidueRotamerLibraryCreator needs details from the ResidueType in order to correctly create the SingleResidueRotamerLibrary, that information can be extracted. In general, though, you want to avoid keying off of information in ResidueType as much as possible.

Reimplemented from core::chemical::rotamers::RotamerLibrarySpecification.

References core::chemical::ResidueType::mainchain_atoms(), core::chemical::ResidueTypeBase::name3(), ncaa_rotlib_n_bins_per_rot_, ncaa_rotlib_path_, nrchi_start_angle_, nrchi_symmetric_, and semirotameric_ncaa_rotlib_.

void core::chemical::rotamers::NCAARotamerLibrarySpecification::clear_rotamer_bb_torsion_indices ( )

Empties the list of mainchain torsion indices that this rotamer library depends upon.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References rotamer_bb_torsion_indices_.

RotamerLibrarySpecificationOP core::chemical::rotamers::NCAARotamerLibrarySpecification::clone ( ) const
overridevirtual

Create a copy of the RotamerLibrarySpecification, respecting the subclassing.

Implements core::chemical::rotamers::RotamerLibrarySpecification.

void core::chemical::rotamers::NCAARotamerLibrarySpecification::describe ( std::ostream &  out) const
overridevirtual

Write a params-file-like description of this RotamerLibrarySpecification to the given output stream. Can be multi-line, will be ended with a newline.

Implements core::chemical::rotamers::RotamerLibrarySpecification.

References ncaa_rotlib_n_bins_per_rot_, ncaa_rotlib_path_, nrchi_start_angle_, nrchi_symmetric_, rotamer_bb_torsion_indices_, and semirotameric_ncaa_rotlib_.

std::string core::chemical::rotamers::NCAARotamerLibrarySpecification::keyname ( ) const
overridevirtual

Which type of SingleResidueRotamerLibrary does this specification sub-type correspond to?

Implements core::chemical::rotamers::RotamerLibrarySpecification.

References library_name().

std::string core::chemical::rotamers::NCAARotamerLibrarySpecification::library_name ( )
static
void core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_n_bin_per_rot ( utility::vector1< Size > const &  n_bins_per_rot)
inline

Sets the number of rotamers for each rotatable bond described by the NCAA rotlib.

References ncaa_rotlib_n_bins_per_rot_.

utility::vector1<Size> const& core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_n_bin_per_rot ( ) const
inline

Returns the number of rotamers for each rotatable bond described by the NCAA rotlib for all bonds.

References ncaa_rotlib_n_bins_per_rot_.

core::Size core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_n_rotameric_bins ( ) const
inline

Returns the number of rotatable bonds described by the NCAA rotlib (not nesesarily equal to nchi)

References ncaa_rotlib_n_bins_per_rot_.

void core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_path ( std::string const &  path)
inline

Sets the path to the NCAA rotlib for the residue type.

References ncaa_rotlib_path_, and protocols::hybridization::path.

std::string const& core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_path ( ) const
inline

Returns the path to the NCAA rotlib for the residue type.

References ncaa_rotlib_path_.

void core::chemical::rotamers::NCAARotamerLibrarySpecification::nrchi_start_angle ( Real  setting)
inline

References nrchi_start_angle_.

Real core::chemical::rotamers::NCAARotamerLibrarySpecification::nrchi_start_angle ( ) const
inline

References nrchi_start_angle_.

void core::chemical::rotamers::NCAARotamerLibrarySpecification::nrchi_symmetric ( bool  setting)
inline

References nrchi_symmetric_.

bool core::chemical::rotamers::NCAARotamerLibrarySpecification::nrchi_symmetric ( ) const
inline

References nrchi_symmetric_.

utility::vector1< core::Size > const& core::chemical::rotamers::NCAARotamerLibrarySpecification::rotamer_bb_torsion_indices ( ) const
inline

Get a const reference to the list of mainchain torsion indices that this rotamer library depends upon.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References rotamer_bb_torsion_indices_.

void core::chemical::rotamers::NCAARotamerLibrarySpecification::semirotameric_ncaa_rotlib ( bool  setting)
inline
bool core::chemical::rotamers::NCAARotamerLibrarySpecification::semirotameric_ncaa_rotlib ( ) const
inline

Member Data Documentation

utility::vector1< Size > core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_n_bins_per_rot_
private

the number of rotamer bins for each chi angle in the NCAA rotlib

RM: The amount of data we have to side-encode seems like a lot. Much of this stuff seems like something that should be encoded in the library file itself.

Referenced by cache_tag(), describe(), ncaa_rotlib_n_bin_per_rot(), ncaa_rotlib_n_rotameric_bins(), and NCAARotamerLibrarySpecification().

std::string core::chemical::rotamers::NCAARotamerLibrarySpecification::ncaa_rotlib_path_
private

path to the NCAA rotlib

Referenced by cache_tag(), describe(), ncaa_rotlib_path(), and NCAARotamerLibrarySpecification().

Real core::chemical::rotamers::NCAARotamerLibrarySpecification::nrchi_start_angle_
private
bool core::chemical::rotamers::NCAARotamerLibrarySpecification::nrchi_symmetric_
private
utility::vector1< core::Size > core::chemical::rotamers::NCAARotamerLibrarySpecification::rotamer_bb_torsion_indices_
private

Which mainchain torsions are the rotamers dependent on?

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

Referenced by add_rotamer_bb_torsion_index(), clear_rotamer_bb_torsion_indices(), describe(), and rotamer_bb_torsion_indices().

bool core::chemical::rotamers::NCAARotamerLibrarySpecification::semirotameric_ncaa_rotlib_
private

whether or not the NCAA rotlib is semirotameric

Referenced by cache_tag(), describe(), and semirotameric_ncaa_rotlib().


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