Rosetta Core  2014.35
Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::pack::dunbrack::RotamerLibrary Class Reference

#include <RotamerLibrary.hh>

Public Types

typedef chemical::AA AA
 
typedef conformation::Residue Residue
 
typedef chemical::ResidueType ResidueType
 

Public Member Functions

virtual ~RotamerLibrary ()
 
Real rotamer_energy (Residue const &rsd, RotamerLibraryScratchSpace &scratch) const
 
Real best_rotamer_energy (Residue const &rsd, bool curr_rotamer_only, RotamerLibraryScratchSpace &scratch) const
 
Real rotamer_energy_deriv (Residue const &rsd, RotamerLibraryScratchSpace &scratch) const
 to do: More...
 
void add_residue_library (AA const &aa, SingleResidueRotamerLibraryCOP rot_lib) const
 
void add_residue_library (ResidueType const &rsd_type, SingleResidueRotamerLibraryCOP rot_lib) const
 Overrides the library for AA. More...
 
bool rsd_library_already_loaded (chemical::ResidueType const &rsd_type) const
 Returns true if the singleton has already loaded a library for a given residue type. More...
 
SingleResidueRotamerLibraryCAP get_rsd_library (chemical::ResidueType const &rsd_type) const
 
SingleResidueRotamerLibraryCAP get_library_by_aa (chemical::AA const &aa) const
 
void write_to_file (std::string filename) const
 
void create_fa_dunbrack_libraries ()
 Public interface to read in dunbrack libraries. dun10 option checks are handled inside. More...
 
SingleResidueRotamerLibraryCAP get_NCAA_rotamer_library (chemical::ResidueType const &rsd_type) const
 Get the rotamer library specified by the NCAA_ROTLIB flag in the residue type paramater file in the residue type paramater file if it exists. More...
 
SingleResidueRotamerLibraryCAP get_peptoid_rotamer_library (chemical::ResidueType const &rsd_type) const
 Get the rotamer library specified by the PEPTOID_ROTLIB flag in the residue type paramater file in the residue type paramater file if it exists. More...
 

Static Public Member Functions

static RotamerLibraryget_instance ()
 static function to get the instance of ( pointer to) this singleton class More...
 
static void initialize_dun10_aa_parameters (utility::vector1< chemical::AA > &rotameric_amino_acids, utility::vector1< Size > &rotameric_n_chi, utility::vector1< chemical::AA > &sraa, utility::vector1< Size > &srnchi, utility::vector1< bool > &scind, utility::vector1< bool > &sampind, utility::vector1< bool > &sym, utility::vector1< Real > &astr)
 
static void initialize_dun02_aa_parameters (utility::vector1< chemical::AA > &rotameric_amino_acids, utility::vector1< Size > &rotameric_n_chi)
 
static void initialize_dun02_aa_parameters (utility::vector1< Size > &nchi_for_aa, Size &n_rotameric_aas)
 

Private Types

typedef std::map< AA,
SingleResidueRotamerLibraryCAP
LibraryMap
 
typedef LibraryMap::const_iterator library_iterator
 
typedef std::map< std::string,
SingleResidueRotamerLibraryCAP
ResLibraryMap
 
typedef
ResLibraryMap::const_iterator 
reslibrary_iterator
 

Private Member Functions

bool decide_read_from_binary () const
 
bool decide_read_from_binary_02 () const
 
bool decide_read_from_binary_10 () const
 
bool binary_is_up_to_date (utility::io::izstream &binlib) const
 
bool binary_is_up_to_date_02 (utility::io::izstream &binlib) const
 
bool binary_is_up_to_date_10 (utility::io::izstream &binlib) const
 
bool decide_write_binary () const
 
bool decide_write_binary_02 () const
 
bool decide_write_binary_10 () const
 
std::string get_library_name_02 () const
 
std::string get_binary_name () const
 
std::string get_binary_name_02 () const
 
std::string get_binary_name_10 () const
 
Size current_binary_format_version_id_02 () const
 
Size current_binary_format_version_id_10 () const
 
void create_fa_dunbrack_libraries_from_ASCII ()
 
void create_fa_dunbrack_libraries_from_binary ()
 
void create_fa_dunbrack_libraries_02_from_ASCII ()
 
void create_fa_dunbrack_libraries_02_from_binary ()
 
void create_centroid_rotamer_libraries_from_ASCII ()
 
void create_fa_dunbrack_libraries_10_from_ASCII ()
 
void create_fa_dunbrack_libraries_10_from_binary ()
 
void write_binary_fa_dunbrack_libraries () const
 
void write_binary_fa_dunbrack_libraries_02 () const
 
void write_binary_fa_dunbrack_libraries_10 () const
 
std::string random_tempname (std::string const &prefix) const
 
template<Size T>
void initialize_and_read_srsrdl (SemiRotamericSingleResidueDunbrackLibrary< T > &srsrdl, bool const nrchi_is_symmetric, Real const nrchi_start_angle, utility::io::izstream &rotamer_definitions, utility::io::izstream &regular_library, utility::io::izstream &continuous_minimization_bbdep) const
 
template<Size T>
void initialize_srsrdl (SemiRotamericSingleResidueDunbrackLibrary< T > &srsrdl, bool const nrchi_is_symmetric, Real const nrchi_start_angle) const
 
SingleResidueDunbrackLibraryOP create_rotameric_dunlib (chemical::AA aa, Size const n_chi, utility::io::izstream &library, bool dun02, std::string &next_aa_in_library, bool first_three_letter_code_already_read) const
 Instantiate the appropriate RSRDL< T > library given the n_chi input and initialize the library from the input stream. Return the string that the library returns after reading the from the stream (which may be the empty string, or the three letter code for the next AA in the input stream). If the first three letter code for this amino acid has already been retrieved from the input stream, indicate so with the "first_three_letter_code_alread_read" boolean. More...
 
SingleResidueDunbrackLibraryOP create_rotameric_dunlib (chemical::AA aa, Size const n_chi, bool dun02) const
 
SingleResidueDunbrackLibraryOP create_semi_rotameric_dunlib (chemical::AA aa, Size const nchi, bool const use_bbind_rnchi_scoring, bool const use_bbind_rnchi_sampling, bool const nrchi_is_symmetric, Real const nrchi_start_angle, utility::io::izstream &rotamer_definitions, utility::io::izstream &regular_library, utility::io::izstream &continuous_minimization_bbdep) const
 Instantiate the appropriate SRSRDL< T > library given the nchi input. nchi indicates the number of rotameric chi – there are nchi+1 chi described by the library, the last of which is non-rotameric. (E.g. Tyrosine has an nchi of 1, its chi2 is non-rotameric and its chi3 is not described by the library.) The input streams are either read or not read depending on the boolean variables. More...
 
SingleResidueDunbrackLibraryOP create_semi_rotameric_dunlib (chemical::AA aa, Size const nchi, bool const use_bbind_rnchi_scoring, bool const use_bbind_rnchi_sampling, bool const nrchi_is_symmetric, Real const nrchi_start_angle) const
 
SingleResidueDunbrackLibraryOP create_srdl (chemical::AA aa_in) const
 
void write_to_binary (utility::io::ozstream &out) const
 Generic "write out a library to binary" which has a straightforward nlibraries (aa, aa_data)* format. Works for both 02 and 08 libraries. The kind of aa_data written is left to the discression of the SinResDunLib derived classes. More...
 
void read_from_binary (utility::io::izstream &in)
 
 RotamerLibrary ()
 
 RotamerLibrary (RotamerLibrary const &)
 
RotamerLibrary const & operator= (RotamerLibrary const &)
 

Static Private Member Functions

static RotamerLibrarycreate_singleton_instance ()
 private singleton creation function to be used with utility::thread::threadsafe_singleton More...
 

Private Attributes

ResLibraryMap reslibraries_
 
LibraryMap libraries_
 
utility::vector1
< SingleResidueRotamerLibraryCAP
aa_libraries_
 
utility::vector1
< SingleResidueRotamerLibraryCOP
libraries_ops_
 
std::map< std::string,
SingleResidueRotamerLibraryCOP
ncaa_rotlibs_
 Map that associates three letter codes with SRRLCOPs for the noncanonical alpha-amino acid sidechain rotamer libraries. More...
 
std::map< std::string,
SingleResidueRotamerLibraryCOP
peptoid_rotlibs_
 Map that associates three letter codes with SRRLCOPs for the peptoid sidechain rotamer libraries. More...
 

Static Private Attributes

static RotamerLibraryrotamer_library_
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::pack::dunbrack::RotamerLibrary::~RotamerLibrary ( )
virtual
core::pack::dunbrack::RotamerLibrary::RotamerLibrary ( )
private

References chemical.

Referenced by create_singleton_instance().

core::pack::dunbrack::RotamerLibrary::RotamerLibrary ( RotamerLibrary const &  )
private

Member Function Documentation

void core::pack::dunbrack::RotamerLibrary::add_residue_library ( AA const &  aa,
SingleResidueRotamerLibraryCOP  rot_lib 
) const
void core::pack::dunbrack::RotamerLibrary::add_residue_library ( ResidueType const &  rsd_type,
SingleResidueRotamerLibraryCOP  rot_lib 
) const
Real core::pack::dunbrack::RotamerLibrary::best_rotamer_energy ( Residue const &  rsd,
bool  curr_rotamer_only,
RotamerLibraryScratchSpace scratch 
) const
bool core::pack::dunbrack::RotamerLibrary::binary_is_up_to_date ( utility::io::izstream binlib) const
private

Dispatches binary file is up-to-date to appropriate library given flag status (dun10 or dun08 yes/no).

References binary_is_up_to_date_02(), binary_is_up_to_date_10(), corrections::score::dun10, and option.

Referenced by decide_read_from_binary(), and decide_write_binary().

bool core::pack::dunbrack::RotamerLibrary::binary_is_up_to_date_02 ( utility::io::izstream binlib) const
private
bool core::pack::dunbrack::RotamerLibrary::binary_is_up_to_date_10 ( utility::io::izstream binlib) const
private

Binary file is up-to-date if all the following are true:

  1. Version # for binary file is equal to the current version #
  2. All the hard coded constants for the rotameric and semirotameric libraries are the same from the previous hard coded values.

DANGER DANGER DANGER - True for dun10 as well? -JAB When we reopen the binary file in create_fa_dunbrack_libraries_08_from_binary we will want to skip past all this data; the code in that section assumes that it will read 8 arrays: 2 representing the rotameric amino acids, and 6 representing the semirotameric amino acids. The arithmetic it performs depends on this basic structure not changing, therefore, if you change this structure, you must also change the seekg arithmetic in the create...08_from_binary function.

References current_binary_format_version_id_10(), initialize_dun10_aa_parameters(), utility::io::izstream::read(), and version.

Referenced by binary_is_up_to_date().

void core::pack::dunbrack::RotamerLibrary::create_centroid_rotamer_libraries_from_ASCII ( )
private
void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries ( )

Public interface to read in dunbrack libraries. dun10 option checks are handled inside.

Generic decision tree for both 02 and 2010 libraries. Requires that low-level subroutines dispatch to 02 and 2010 versions based on the dun10 flag.

References create_fa_dunbrack_libraries_from_ASCII(), create_fa_dunbrack_libraries_from_binary(), decide_read_from_binary(), decide_write_binary(), and write_binary_fa_dunbrack_libraries().

Referenced by core::pack::dunbrack::read_dunbrack_library().

void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_02_from_ASCII ( )
private
void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_02_from_binary ( )
private
void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_10_from_ASCII ( )
private
void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_10_from_binary ( )
private
void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_from_ASCII ( )
private
void core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_from_binary ( )
private
SingleResidueDunbrackLibraryOP core::pack::dunbrack::RotamerLibrary::create_rotameric_dunlib ( chemical::AA  aa,
Size const  n_chi,
utility::io::izstream library,
bool  dun02,
std::string &  next_aa_in_library,
bool  first_three_letter_code_already_read 
) const
private

Instantiate the appropriate RSRDL< T > library given the n_chi input and initialize the library from the input stream. Return the string that the library returns after reading the from the stream (which may be the empty string, or the three letter code for the next AA in the input stream). If the first three letter code for this amino acid has already been retrieved from the input stream, indicate so with the "first_three_letter_code_alread_read" boolean.

References r1, r2, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T >::read_from_file(), and utility_exit_with_message.

Referenced by create_fa_dunbrack_libraries_02_from_ASCII(), create_fa_dunbrack_libraries_10_from_ASCII(), and create_srdl().

SingleResidueDunbrackLibraryOP core::pack::dunbrack::RotamerLibrary::create_rotameric_dunlib ( chemical::AA  aa,
Size const  n_chi,
bool  dun02 
) const
private
SingleResidueDunbrackLibraryOP core::pack::dunbrack::RotamerLibrary::create_semi_rotameric_dunlib ( chemical::AA  aa,
Size const  nchi,
bool const  use_bbind_rnchi_scoring,
bool const  use_bbind_rnchi_sampling,
bool const  nrchi_is_symmetric,
Real const  nrchi_start_angle,
utility::io::izstream rotamer_definitions,
utility::io::izstream regular_library,
utility::io::izstream continuous_minimization_bbdep 
) const
private

Instantiate the appropriate SRSRDL< T > library given the nchi input. nchi indicates the number of rotameric chi – there are nchi+1 chi described by the library, the last of which is non-rotameric. (E.g. Tyrosine has an nchi of 1, its chi2 is non-rotameric and its chi3 is not described by the library.) The input streams are either read or not read depending on the boolean variables.

References initialize_and_read_srsrdl(), r1, r2, and utility_exit_with_message.

Referenced by create_fa_dunbrack_libraries_10_from_ASCII(), and create_srdl().

SingleResidueDunbrackLibraryOP core::pack::dunbrack::RotamerLibrary::create_semi_rotameric_dunlib ( chemical::AA  aa,
Size const  nchi,
bool const  use_bbind_rnchi_scoring,
bool const  use_bbind_rnchi_sampling,
bool const  nrchi_is_symmetric,
Real const  nrchi_start_angle 
) const
private
RotamerLibrary * core::pack::dunbrack::RotamerLibrary::create_singleton_instance ( )
staticprivate

private singleton creation function to be used with utility::thread::threadsafe_singleton

References basic::options::OptionKeys::corrections::score::cenrot, create_centroid_rotamer_libraries_from_ASCII(), basic::options::option, core::pack::dunbrack::read_dunbrack_library(), and RotamerLibrary().

Referenced by get_instance().

SingleResidueDunbrackLibraryOP core::pack::dunbrack::RotamerLibrary::create_srdl ( chemical::AA  aa_in) const
private

Build and initialize some of the data in an SRDL in preparation for binary file input – that is, the SRDL does not have "read_from_file(s)" called before it is returned to the calling function. ATM not threadsafe.

References create_rotameric_dunlib(), create_semi_rotameric_dunlib(), corrections::score::dun10, initialize_dun02_aa_parameters(), initialize_dun10_aa_parameters(), and option.

Referenced by read_from_binary().

Size core::pack::dunbrack::RotamerLibrary::current_binary_format_version_id_02 ( ) const
private

The older binary formats did not have a version number, instead, a somewhat stupid time-stamp was hard coded and compared against the time stamp of the binary file that existed... e.g. if a new binary format was committed to trunk on 1/1/08 12:00 pm, and the time stamp on a particular binary was from 12/1/07, then the old binary file would be overwritten. However, if the time stamp on some other binary file was from 2/1/08, the code assumed that the binary file was up to date. This is a poor assumption, since the code from 12/1/07 might have been run on 2/1/08 to generate a binary file. The time stamp would have falsely indicated that the 2/1/08 generated file was of the same binary format imposed on 1/1/08.

Version numbering avoids this issue. If the 12/1/07 code wrote version # 3, the 1/1/08 code could look for version # 4 in a file generated on 2/1/08 and use the mismatch as an indication of an out-of-date binary format.

The challenge is to come up with a versioning scheme that handles the fact that until now, there haven't been version #'s in the binary files. How can a binary file generated by a pre-versioning piece of code be detected? The trick is to look at the data in the older binary file at the position which will in the future be used to hold a version number. The first piece of data in the old binary files was a count of the number of libraries in the binary file:

  1. Therefore, any starting version number beyond 18 would distinguish the pre-versioned files from the versioned files.

When changing the binary format, document the date of the change in the comment section below and increment the version number in the function. Do not delete old comments from the comment block below.

Version 19: start vesion number. 8/9/08. Andrew Leaver-Fay Version 20: Limit zero-probability rotamers to the resolution of the library (1e-4). 6/16/2009. Andrew Leaver-Fay Version 21: Write out bicubic spline parameters for -log(p(rot|phi,psi)). 3/28/2012. Andrew Leaver-Fay Version 22: Bicubic spline bugfix 3/29/2012. Andrew Leaver-Fay

Referenced by binary_is_up_to_date_02(), create_fa_dunbrack_libraries_02_from_binary(), and write_binary_fa_dunbrack_libraries_02().

Size core::pack::dunbrack::RotamerLibrary::current_binary_format_version_id_10 ( ) const
private

Version number for binary format. See comments for 02 version.

When changing the binary format, document the date of the change in the comment section below and increment the version number in the function. Do not delete old comments from the comment block below.

Version 1: start vesion number. 6/3/11. Andrew Leaver-Fay Version 2: Rotameric residues write out bicubic spline parameters for -log(p(rot|phi,psi)). 3/28/2012. Andrew Leaver-Fay Version 3: Tricubic interpolation data for semi-rotameric residues. 3/29/2012. Andrew Leaver-Fay Version 4: Generate and write out bicubic spline data for the rotameric portion of the semi-rotameric residues . 3/29/2012. Andrew Leaver-Fay

Referenced by binary_is_up_to_date_10(), and write_binary_fa_dunbrack_libraries_10().

bool core::pack::dunbrack::RotamerLibrary::decide_read_from_binary ( ) const
private
bool core::pack::dunbrack::RotamerLibrary::decide_read_from_binary_02 ( ) const
private

Put specific objections to reading the 02 library from binary here. This function alone will not answer whether the binary file should be read; rather, it is called by the more generic "decide_read_from_binary" function.

Referenced by decide_read_from_binary().

bool core::pack::dunbrack::RotamerLibrary::decide_read_from_binary_10 ( ) const
private

Put specific objections to reading the 10 library from binary here. This function alone will not answer whether the binary file should be read; rather, it is called by the more generic "decide_read_from_binary" function.

Referenced by decide_read_from_binary().

bool core::pack::dunbrack::RotamerLibrary::decide_write_binary ( ) const
private

First checks general conditions under which a binary library file should not be writen. It relies on get_binary_name() and binary_is_up_to_date() to dispatch to the 02 and 08 data. If the binary file doesn't exist or isn't up-to-date it then checks if there are any specific 02 or 08 objections to writing the binary file. If no one objects, then this function gives a green light.

References binary_is_up_to_date(), decide_write_binary_02(), decide_write_binary_10(), out::file::dont_rewrite_dunbrack_database, corrections::score::dun10, get_binary_name(), in::file::no_binary_dunlib, and option.

Referenced by create_fa_dunbrack_libraries().

bool core::pack::dunbrack::RotamerLibrary::decide_write_binary_02 ( ) const
private

Add specific objections to the writing of the 02 library here.

Referenced by decide_write_binary().

bool core::pack::dunbrack::RotamerLibrary::decide_write_binary_10 ( ) const
private

Add specific objections to the writing of the 10 library here.

Referenced by decide_write_binary().

std::string core::pack::dunbrack::RotamerLibrary::get_binary_name ( ) const
private
std::string core::pack::dunbrack::RotamerLibrary::get_binary_name_02 ( ) const
private
std::string core::pack::dunbrack::RotamerLibrary::get_binary_name_10 ( ) const
private
RotamerLibrary & core::pack::dunbrack::RotamerLibrary::get_instance ( )
static
SingleResidueRotamerLibraryCAP core::pack::dunbrack::RotamerLibrary::get_library_by_aa ( chemical::AA const &  aa) const

References aa_libraries_.

std::string core::pack::dunbrack::RotamerLibrary::get_library_name_02 ( ) const
private
SingleResidueRotamerLibraryCAP core::pack::dunbrack::RotamerLibrary::get_NCAA_rotamer_library ( chemical::ResidueType const &  rsd_type) const
SingleResidueRotamerLibraryCAP core::pack::dunbrack::RotamerLibrary::get_peptoid_rotamer_library ( chemical::ResidueType const &  rsd_type) const
SingleResidueRotamerLibraryCAP core::pack::dunbrack::RotamerLibrary::get_rsd_library ( chemical::ResidueType const &  rsd_type) const

returns NULL if no library is available for the given residue type and no pdb rotamers have been defined for the given residue; if PDB rotamers HAVE been defined, then

References aa_libraries_, add_residue_library(), core::chemical::CENTROID, core::chemical::CENTROID_ROT, core::chemical::FA_STANDARD, core::chemical::get_L_equivalent(), get_NCAA_rotamer_library(), get_peptoid_rotamer_library(), core::chemical::ResidueType::get_RotamerLibraryName(), core::chemical::ResidueType::get_use_ncaa_rotlib(), core::chemical::ResidueType::get_use_peptoid_rotlib(), core::chemical::is_canonical_D_aa(), core::chemical::ResidueType::is_ligand(), key, libraries_, core::chemical::ResidueTypeSet::name(), core::chemical::ResidueType::name(), core::chemical::ResidueType::name3(), core::chemical::num_canonical_aas, core::chemical::ResidueType::residue_type_set(), reslibraries_, core::chemical::ResidueType::rotamer_aa(), and core::pack::dunbrack::TR.

Referenced by core::util::add_covalent_linkage_helper(), best_rotamer_energy(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T >::best_rotamer_energy(), core::pack::rotamer_set::ContinuousRotamerSet::build_rotamers(), core::pack::rotamer_set::RotamerSet_::build_rotamers_for_concrete(), core::pack::dunbrack::DunbrackEnergy::eval_dof_derivative(), core::pack::dunbrack::cenrot::CenRotDunEnergy::eval_dof_derivative(), core::pack::dunbrack::cenrot::CenRotDunEnergy::eval_residue_derivatives(), core::pack::dunbrack::DunbrackEnergy::eval_residue_dof_derivative(), core::pack::dunbrack::cenrot::CenRotDunEnergy::eval_residue_dof_derivative(), core::pack::dunbrack::DunbrackEnergy::residue_energy(), core::pack::dunbrack::cenrot::CenRotDunEnergy::residue_energy(), rotamer_energy(), rotamer_energy_deriv(), and core::pack::dunbrack::rotamer_from_chi().

template<Size T>
void core::pack::dunbrack::RotamerLibrary::initialize_and_read_srsrdl ( SemiRotamericSingleResidueDunbrackLibrary< T > &  srsrdl,
bool const  nrchi_is_symmetric,
Real const  nrchi_start_angle,
utility::io::izstream rotamer_definitions,
utility::io::izstream regular_library,
utility::io::izstream continuous_minimization_bbdep 
) const
private
void core::pack::dunbrack::RotamerLibrary::initialize_dun02_aa_parameters ( utility::vector1< chemical::AA > &  rotameric_amino_acids,
utility::vector1< Size > &  rotameric_n_chi 
)
static
void core::pack::dunbrack::RotamerLibrary::initialize_dun02_aa_parameters ( utility::vector1< Size > &  nchi_for_aa,
Size n_rotameric_aas 
)
static
void core::pack::dunbrack::RotamerLibrary::initialize_dun10_aa_parameters ( utility::vector1< chemical::AA > &  rotameric_amino_acids,
utility::vector1< Size > &  rotameric_n_chi,
utility::vector1< chemical::AA > &  sraa,
utility::vector1< Size > &  srnchi,
utility::vector1< bool > &  scind,
utility::vector1< bool > &  sampind,
utility::vector1< bool > &  sym,
utility::vector1< Real > &  astr 
)
static
template<Size T>
void core::pack::dunbrack::RotamerLibrary::initialize_srsrdl ( SemiRotamericSingleResidueDunbrackLibrary< T > &  srsrdl,
bool const  nrchi_is_symmetric,
Real const  nrchi_start_angle 
) const
private
RotamerLibrary const& core::pack::dunbrack::RotamerLibrary::operator= ( RotamerLibrary const &  )
private
std::string core::pack::dunbrack::RotamerLibrary::random_tempname ( std::string const &  prefix) const
private
void core::pack::dunbrack::RotamerLibrary::read_from_binary ( utility::io::izstream in)
private

Generic binary file reader. Intended to work for both 02 and 08 Libraries. If a "preamble" starts the binary format, the input stream to this function must have already been walked past it. Somewhat circularly, the preamble is anything in the binary file that leads the "nlibraries (aa, aa_data)*" format perscribed in this function.

References core::chemical::aa_unk, add_residue_library(), create_srdl(), core::chemical::name_from_aa(), utility::io::izstream::read(), and utility_exit_with_message.

Referenced by create_fa_dunbrack_libraries_02_from_binary(), and create_fa_dunbrack_libraries_10_from_binary().

Real core::pack::dunbrack::RotamerLibrary::rotamer_energy ( Residue const &  rsd,
RotamerLibraryScratchSpace scratch 
) const
Real core::pack::dunbrack::RotamerLibrary::rotamer_energy_deriv ( Residue const &  rsd,
RotamerLibraryScratchSpace scratch 
) const
bool core::pack::dunbrack::RotamerLibrary::rsd_library_already_loaded ( chemical::ResidueType const &  rsd_type) const
void core::pack::dunbrack::RotamerLibrary::write_binary_fa_dunbrack_libraries ( ) const
private
void core::pack::dunbrack::RotamerLibrary::write_binary_fa_dunbrack_libraries_02 ( ) const
private
void core::pack::dunbrack::RotamerLibrary::write_binary_fa_dunbrack_libraries_10 ( ) const
private
void core::pack::dunbrack::RotamerLibrary::write_to_binary ( utility::io::ozstream out) const
private

Generic "write out a library to binary" which has a straightforward nlibraries (aa, aa_data)* format. Works for both 02 and 08 libraries. The kind of aa_data written is left to the discression of the SinResDunLib derived classes.

References libraries_, and utility::io::ozstream::write().

Referenced by write_binary_fa_dunbrack_libraries_02(), and write_binary_fa_dunbrack_libraries_10().

void core::pack::dunbrack::RotamerLibrary::write_to_file ( std::string  filename) const

References libraries_, and out.

Member Data Documentation

utility::vector1< SingleResidueRotamerLibraryCAP > core::pack::dunbrack::RotamerLibrary::aa_libraries_
mutableprivate
LibraryMap core::pack::dunbrack::RotamerLibrary::libraries_
mutableprivate
utility::vector1< SingleResidueRotamerLibraryCOP > core::pack::dunbrack::RotamerLibrary::libraries_ops_
mutableprivate
std::map< std::string, SingleResidueRotamerLibraryCOP > core::pack::dunbrack::RotamerLibrary::ncaa_rotlibs_
mutableprivate

Map that associates three letter codes with SRRLCOPs for the noncanonical alpha-amino acid sidechain rotamer libraries.

DOUG DOUG DOUG Should this be done in the "threadsafe" way above?

Referenced by get_NCAA_rotamer_library(), and rsd_library_already_loaded().

std::map< std::string, SingleResidueRotamerLibraryCOP > core::pack::dunbrack::RotamerLibrary::peptoid_rotlibs_
mutableprivate

Map that associates three letter codes with SRRLCOPs for the peptoid sidechain rotamer libraries.

DOUG DOUG DOUG Should this be done in the "threadsafe" way above?

Referenced by get_peptoid_rotamer_library(), and rsd_library_already_loaded().

ResLibraryMap core::pack::dunbrack::RotamerLibrary::reslibraries_
mutableprivate
RotamerLibrary * core::pack::dunbrack::RotamerLibrary::rotamer_library_
staticprivate

Referenced by get_instance().


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