![]() |
Rosetta
2021.16
|
#include <RotamerLibrarySpecification.hh>

Public Member Functions | |
| RotamerLibrarySpecification ()=default | |
| virtual RotamerLibrarySpecificationOP | clone () const =0 |
| Create a copy of the RotamerLibrarySpecification, respecting the subclassing. More... | |
| virtual std::string | keyname () const =0 |
| Which type of SingleResidueRotamerLibrary does this specification sub-type correspond to? More... | |
| virtual std::string | cache_tag (core::chemical::ResidueType const &) const |
| How, if at all, should the corresponding SingleResidueRotamerLibrary be cached? More... | |
| virtual void | describe (std::ostream &out) const =0 |
| 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... | |
|
default |
|
inlinevirtual |
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 in core::chemical::rotamers::NCAARotamerLibrarySpecification, core::chemical::rotamers::CenrotRotamerLibrarySpecification, core::chemical::rotamers::DunbrackRotamerLibrarySpecification, core::chemical::rotamers::PDBRotamerLibrarySpecification, and core::chemical::rotamers::BasicRotamerLibrarySpecification.
|
pure virtual |
Create a copy of the RotamerLibrarySpecification, respecting the subclassing.
Implemented in core::chemical::rotamers::StoredRotamerLibrarySpecification, core::chemical::rotamers::NCAARotamerLibrarySpecification, core::chemical::rotamers::CenrotRotamerLibrarySpecification, core::chemical::rotamers::DunbrackRotamerLibrarySpecification, core::chemical::rotamers::PDBRotamerLibrarySpecification, and core::chemical::rotamers::BasicRotamerLibrarySpecification.
Referenced by core::chemical::rotamers::deep_copy().
|
pure virtual |
Write a params-file-like description of this RotamerLibrarySpecification to the given output stream. Can be multi-line, will be ended with a newline.
Implemented in core::chemical::rotamers::NCAARotamerLibrarySpecification, core::chemical::rotamers::StoredRotamerLibrarySpecification, core::chemical::rotamers::CenrotRotamerLibrarySpecification, core::chemical::rotamers::DunbrackRotamerLibrarySpecification, core::chemical::rotamers::PDBRotamerLibrarySpecification, and core::chemical::rotamers::BasicRotamerLibrarySpecification.
|
pure virtual |
Which type of SingleResidueRotamerLibrary does this specification sub-type correspond to?
Implemented in core::chemical::rotamers::NCAARotamerLibrarySpecification, core::chemical::rotamers::StoredRotamerLibrarySpecification, core::chemical::rotamers::CenrotRotamerLibrarySpecification, core::chemical::rotamers::DunbrackRotamerLibrarySpecification, core::chemical::rotamers::PDBRotamerLibrarySpecification, and core::chemical::rotamers::BasicRotamerLibrarySpecification.
1.8.7