Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N > Class Template Reference

This class is meant to represent the non-rotameric chi observed in several amino acids (asn, asp, gln, glu, his, phe, trp, tyr ) which are rotameric for the chi closest to the backbone and non rotameric for exactly one chi angle. This non-rotameric chi (abv. nrchi) is the last chi for each of these 8 amino acids except tyrosine, where this chi is the last heavy-atom chi. The last chi on tyrosine governs a hydroxyl. Unlike in the fully rotameric residues, the last heavyatom chi in semi-rotameric residues do not "communicate" to the rotameric chi. That is, in the rotameric chi, the mean chi1 value is sensitive to the chi3 value. If the third diherdal switches from trans to g+, then chi1 would shift in response. Changes to the non-rotameric chi do not effect the rotameric chi. The data structure here is good for this model but no other. More...

#include <SemiRotamericSingleResidueDunbrackLibrary.hh>

Inheritance diagram for core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >:
Inheritance graph
[legend]

Public Types

typedef
RotamericSingleResidueDunbrackLibrary
< T, N > 
parent
 
typedef
RotamericSingleResidueDunbrackLibrary
< T, N >::parent 
grandparent
 
- Public Types inherited from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >
typedef
SingleResidueDunbrackLibrary 
parent
 
- Public Types inherited from core::pack::dunbrack::SingleResidueDunbrackLibrary
typedef chemical::AA AA
 

Public Member Functions

 SemiRotamericSingleResidueDunbrackLibrary (chemical::ResidueType const &rt, bool const backbone_independent_scoring, bool const backbone_independent_rotamer_sampling, bool use_shapovalov, bool use_bicubic, bool dun_entropy_correction, core::Real prob_buried, core::Real prob_nonburied)
 The constructor determines the path the library takes: whether it uses a backbone dependent or independent score function for the non-rotameric chi (the rotameric chi score function is always backbone dependent) and whether it uses a backbone dependent or independent rotamer sampling scheme. All four combinations are possible, though backbone independent scoring and backbone dependent rotamer sampling seems a poor combination. More...
 
 ~SemiRotamericSingleResidueDunbrackLibrary () override throw ()
 
Real rotamer_energy (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch) const override
 Virtual functions required by the base classes. More...
 
Real rotamer_energy_deriv (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch) const override
 
Real best_rotamer_energy (conformation::Residue const &rsd, pose::Pose const &pose, bool curr_rotamer_only, RotamerLibraryScratchSpace &scratch) const override
 Returns the energy of the lowest-energy rotamer accessible to the given residue (based on e.g. its current phi and psi values). If curr_rotamer_only is true, then consider only the idealized version of the residue's current rotamer (local optimum); otherwise, consider all rotamers (global optimum). More...
 
void assign_random_rotamer_with_bias (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, numeric::random::RandomGenerator &RG, ChiVector &new_chi_angles, bool perturb_from_rotamer_center) const override
 Pick a rotamer for the input residue according to the rotamer probability distribution and assign chi angles to the input rsd. If perturb_from_rotamer_center is true, then push the rotamer off from the center; for chi angles with a normal distribution, the perturbation is taken from a Gaussian random number with a standard deviation matching the chi angle's standard deviation. For chi angles that are not normally distributed, the behavior is open to the derived classe's interpretation. More...
 
void interpolate_nrchi_values (utility::fixedsizearray1< Size, N > const &bb_bin, utility::fixedsizearray1< Size, N > const &bb_bin_next, utility::fixedsizearray1< Real, N > const &bb_alpha, Size packed_rotno, utility::vector1< Real > &interpolated_nrchi_distribution) const
 
void fill_rotamer_vector (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, pack::task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue, utility::vector1< utility::vector1< Real > > const &extra_chi_steps, bool buried, rotamers::RotamerVector &rotamers) const override
 
utility::vector1
< DunbrackRotamerSampleData
get_all_rotamer_samples (Real5 bbs) const override
 Return all of the rotamer sample data given a particular phi/psi. For N-terminus residues, hand in the phi value SingleResidueDunbrackLibrary::PHI_NEUTRAL and for C-terminus residues, hand in the psi value SingleResidueDunbrackLibrary::PSI_NEUTRAL. The returned samples should be in semi-decrasing order by probability; semi, because the rotamers are constructed in sorted order by their probability in the lower phi-psi bin that the input phi/psi perscribes. More...
 
Real get_probability_for_rotamer (utility::fixedsizearray1< Real, N > bbs, Size rot_ind) const override
 
DunbrackRotamerSampleData get_rotamer (utility::fixedsizearray1< Real, N > bbs, Size rot_ind) const override
 
Size nchi () const override
 The number of chi represented by the library. More...
 
Size nbb () const override
 the number of backbone dihedrals represented by the library More...
 
Size n_rotamer_bins () const override
 
void write_to_file (utility::io::ozstream &out) const override
 
void write_to_binary (utility::io::ozstream &out) const override
 
void read_from_files (utility::io::izstream &in_rotdef, utility::io::izstream &in_rotameric, utility::io::izstream &in_continmin_bbdep)
 Initialize either a backbone-independent or a backbone-dependent SRSRDL from the set of four files which describe both (not all files are read). More...
 
void read_from_binary (utility::io::izstream &in) override
 
bool operator== (rotamers::SingleResidueRotamerLibrary const &) const override
 Comparison operator, mainly intended to use in ASCII/binary comparsion tests Values tested should parallel those used in the read_from_binary() function. More...
 
void get_rotamer_from_chi (ChiVector const &chi, RotVector &rot) const override
 Convert a vector of chi angles (degrees) into a integer vector of rotamer wells. Derived class should be consistent, but may be arbitrary in how wells divide angle space. More...
 
void set_nrchi_periodicity (Real angle_in_degrees)
 Initialization functions that must be called before reading the input libraries. More...
 
void set_nonrotameric_chi_start_angle (Real angle_in_degrees)
 What angle do the interpolation data start from? More...
 
void set_nonrotameric_chi_bbdep_scoring_step_size (Real step_size_in_degrees)
 What is the angular step size of the bbdep score? More...
 
void set_nonrotameric_chi_bbind_scoring_step_size (Real step_size_in_degrees)
 What is the angular step size of the bbind score? More...
 
- Public Member Functions inherited from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >
 RotamericSingleResidueDunbrackLibrary (chemical::ResidueType const &rt, bool dun02, bool use_bicubic, bool entropy_correction, core::Real prob_buried, core::Real prob_nonburied, bool const reduced_resolution_library=false)
 Creator. More...
 
 ~RotamericSingleResidueDunbrackLibrary () override throw ()
 
Real get_probability_for_rotamer (Real phi, Real psi, Size rot_ind) const override
 Return the probability for a particular rotamer where rotamers are indexed in order of decreasing probability (or something very close to decreasing probability). More...
 
DunbrackRotamerSampleData get_rotamer (Real phi, Real psi, Size rot_ind) const override
 
std::string read_from_file (utility::io::izstream &in, bool first_line_three_letter_code_already_read)
 Read from input stream; stream may contain data for other amino acids. Quit once another amino acid is specified in the input file, returning the name of the next amino acid specifed (since it's already been extracted from the input stream). Return the empty string if no other amino acid is specified. More...
 
Size find_another_representative_for_unlikely_rotamer (conformation::Residue const &rsd, pose::Pose const &pose, Size4 &rotwell) const
 
void interpolate_rotamers (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, Size packed_rotno, PackedDunbrackRotamer< T, N, Real > &interpolated_rotamer) const
 
void get_bb_bins (utility::fixedsizearray1< Real, N > const &bbs, utility::fixedsizearray1< Size, N > &bb_bin, utility::fixedsizearray1< Size, N > &bb_bin_next, utility::fixedsizearray1< Real, N > &bb_alpha) const
 
void get_bb_bins (utility::fixedsizearray1< Real, N > const &bbs, utility::fixedsizearray1< Size, N > &bb_bin) const
 
void get_bb_bins (utility::vector1< core::Real > const &bbs, utility::vector1< core::Size > &bb_bin) const
 Version for external, non-template classes to access. More...
 
- Public Member Functions inherited from core::pack::dunbrack::SingleResidueDunbrackLibrary
SingleResidueDunbrackLibraryoperator= (SingleResidueDunbrackLibrary const &other)=delete
 
 SingleResidueDunbrackLibrary (SingleResidueDunbrackLibrary const &)=delete
 
 SingleResidueDunbrackLibrary (chemical::ResidueType const &rt, Size const n_rotameric_chi, bool dun02, bool use_bicubic, bool dun_entropy_correction, core::Real prob_buried, core::Real prob_nonburied)
 c-tor More...
 
virtual Size memory_usage_in_bytes () const
 Virtual functions the derived classes must implement. More...
 
void set_n_chi_bins (utility::vector1< Size > const &)
 Tell the base class the number of chi bins for each rotameric chi dimension. More...
 
Size rotwell_2_rotno (utility::vector1< Size > const &rotwell) const
 Conversion functions. More...
 
Size rotwell_2_rotno (Size4 const &rotwell) const
 Convert from the rotamer bin indices for each chi to the (non-compact) "rotamer number". More...
 
Size rotno_2_packed_rotno (Size const rotno) const
 Convert from the rotamer number to the compacted "packed rotamer number". Returns 0 if rotno has no corresponding packed rotno. More...
 
Size rotwell_2_packed_rotno (utility::vector1< Size > const &rotwell) const
 Convert from the rotamer bin indices for each chi to the compacted "packed rotamer number." Returns 0 if rotwell has no corresponding packed rotno. More...
 
Size rotwell_2_packed_rotno (Size4 const &rotwell) const
 Convert from the rotamer bin indices for each chi to the compacted "packed rotamer number." Returns 0 if rotwell has no corresponding packed rotno. More...
 
void packed_rotno_2_rotwell (Size const packed_rotno, utility::vector1< Size > &rotwell) const
 Convert from the packed rotamer number to the rotamer well. More...
 
void packed_rotno_2_rotwell (Size const packed_rotno, Size4 &rotwell) const
 
utility::vector1< Size > const & packed_rotno_2_rotwell (Size const packed_rotno) const
 
void rotno_2_rotwell (Size const rotno, utility::vector1< Size > &rotwell) const
 Convert from the rotamer number to the rotamer well. More...
 
Size bin_rotameric_chi (Real chi, Size which_chi) const
 , Turns out, when non-rotameric chi are taken out of the picture, all remaining chi are binned the same way, except proline. Valid only for Dun10 libraries. For D-amino acids, chi must be inverted before passing to this function. More...
 
void bin_angle (Real const angle_start, Real const angle_step, Real const ASSERT_ONLY(angle_range), Size const nbins, Real const ang, Size &bin_lower, Size &bin_upper, Real &angle_alpha) const
 
void bin_angle (Real const angle_start, utility::vector1< core::Size > const &bin_equivs, Real const angle_step, Real const ASSERT_ONLY(angle_range), Size const nbins, Real const ang, Size &bin_lower, Size &bin_upper, Real &angle_alpha) const
 
AA aa () const
 The amino acid this library is representing. More...
 
Real probability_to_accumulate_while_building_rotamers (bool buried) const
 When creating rotamer, what position in the CDF should one build until? Unlikely rotamers ( < 0.5 %) are numerous, but are very infrequently useful. More...
 
void prob_to_accumulate (Real, Real)
 setters for accumulation probability cutoff (to support externally-controlled option dependence) More...
 
void prob_to_accumulate_buried (Real)
 
void prob_to_accumulate_nonburied (Real)
 
bool operator== (rotamers::SingleResidueRotamerLibrary const &) const override
 Comparison operator, mainly intended to use in ASCII/binary comparsion tests Values tested should parallel those used in the read_from_binary() function. More...
 
- Public Member Functions inherited from core::pack::rotamers::SingleResidueRotamerLibrary
 SingleResidueRotamerLibrary ()
 
 ~SingleResidueRotamerLibrary () override
 
virtual utility::vector1
< utility::vector1< core::Real > > 
compute_proton_chi_samplings (chemical::ResidueType const &concrete_residue, pack::task::ResidueLevelTask const &rlt, bool buried) const
 Return a vector (indexed by proton_chi number) of vectors of dihedral values to use in proton chi sampling. More...
 
virtual utility::vector1
< dunbrack::ChiSetOP
expand_proton_chis (utility::vector1< utility::vector1< core::Real > > const &sampling, chemical::ResidueType const &concrete_residue, core::Size max_rotamers=5000) const
 Given a vector of vectors of dihedrals to sample on proton chis, Will create the ChiSet vector combinitorially on those chi values (Note: The ChiSets are only valid/defined over the proton chis.) More...
 
virtual void bump_filter (RotamerVector &rotamers, core::Size resid, scoring::ScoreFunction const &sf, pose::Pose const &pose, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph) const
 Filter a RotamerVector by "bump energy" of a rotamer: All rotamers with bump energies over a certain threshold will be discarded Exception: if all rotamers are over the threshold, one rotamer (with the lowest bump energy) will be reserved. The vector "rotamers" will be modified "in-place". More...
 
virtual core::PackerEnergy bump_check (core::conformation::ResidueCOP rotamer, core::Size resid, scoring::ScoreFunction const &sf, pose::Pose const &pose, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph) const
 Computes the "bump energy" of a rotamer: the bump energy is the sum of rotamer's interactions with 1) the backbone-and-side chains of neighboring residues that are held fixed during this repacking optimization and 2) the backbones of neighboring residues that are changable during this repacking optimization. More...
 
virtual core::Size current_rotamer (RotamerVector &rotamers, core::Size resid, task::PackerTask const &task, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue) const
 Adds the current rotamer to rotamer vector, if the Rotlib supports it. More...
 
virtual void emergency_rotamer (RotamerVector &rotamers, core::Size resid, pose::Pose const &pose, task::PackerTask const &task, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue) const
 Generate an "emergency rotamer" if we don't have any. More...
 
RotamerVector virtual_sidechain (RotamerVector const &rotamers, core::Size resid, pose::Pose const &pose, task::PackerTask const &task, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue) const
 Add a virtualized sidechain to the rotamer vector if settings call for it. More...
 

Protected Member Functions

Size memory_usage_static () const override
 Worker functions. More...
 
Size memory_usage_dynamic () const override
 
Real rotamer_energy_deriv_bbdep (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, bool eval_deriv) const
 
void assign_random_rotamer_with_bias_bbdep (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, numeric::random::RandomGenerator &RG, ChiVector &new_chi_angles, bool perturb_from_rotamer_center) const
 
Real bbdep_nrchi_score (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, Real &dnrchi_score_dnrchi, utility::fixedsizearray1< Real, N > &dnrchi_score_dbb) const
 Trilinear interpolation. Derivatives discontinuous at edge planes. Correction: it seems that this was updated at some point to use tricubic interpolation. Note: This function has been updated to handle D-amino acids properly. More...
 
void fill_rotamer_vector_bbdep (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, pack::task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue, utility::vector1< utility::vector1< Real > > const &extra_chi_steps, bool buried, rotamers::RotamerVector &rotamers) const
 
utility::vector1
< DunbrackRotamerSampleData
get_all_rotamer_samples_bbdep (Real5 bbs) const
 
Real get_probability_for_rotamer_bbdep (utility::fixedsizearray1< Real, N > bbs, Size rot_ind) const
 
DunbrackRotamerSampleData get_rotamer_bbdep (utility::fixedsizearray1< Real, N > bbs, Size rot_ind) const
 
void chisamples_for_rotamer_and_chi (chemical::ResidueType const &rsd_type, pack::task::ResidueLevelTask const &rtask, bool buried, Size const chi_index, RotamericData< T, N > const &rotamer_data, utility::vector1< Real > const &extra_steps, utility::vector1< Real > &total_chi, utility::vector1< int > &total_rot, utility::vector1< Real > &total_ex_steps, utility::vector1< Real > &chisample_prob) const override
 overrides parent class for the non-rotameric chi, but falls back on the parent class functionality for all other chi. More...
 
- Protected Member Functions inherited from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >
void initialize_bicubic_splines ()
 
void increment_tensor_index_recursively (utility::fixedsizearray1< Size,(N+1) > &bb_bin, utility::fixedsizearray1< Size,(N+1) > const &bb_bin_maxes, core::Size const recursion_level) const
 Given a RotamericSingleResidueDunbrackLibrary of type T (probably core::Real) and with N backbone dihedrals, a vector of coordinates in the backbone bins tensor, and a vector of sizes for the dimensions of the backbone bins tensor, increment the coordinate in a manner that ensures that all bins can be iterated over. More...
 
void get_rotamer_from_chi_static_voronoi (ChiVector const &chi, core::Size &rot, core::conformation::Residue const &rsd, core::pose::Pose const &pose) const
 Given chi values and a pose residue, return indices specifying the nearest rotamer well centre. More...
 
void get_rotamer_from_chi_static (ChiVector const &chi, Size4 &rot) const
 When given a statically sized fixedsizearray, use this method. More...
 
void get_rotamer_from_chi_static (Real4 const &chi, Size4 &rot) const
 When given a statically sized fixedsizearray, use this method. More...
 
ObjexxFCL::FArray2D
< PackedDunbrackRotamer< T, N >
> const & 
rotamers () const
 Read and write access for derived classes and parser class. More...
 
ObjexxFCL::FArray2D
< PackedDunbrackRotamer< T, N > > & 
rotamers ()
 
ObjexxFCL::FArray2D< Size > const & packed_rotno_2_sorted_rotno () const
 
ObjexxFCL::FArray2D< Size > & packed_rotno_2_sorted_rotno ()
 
Real eval_rotameric_energy_deriv (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, bool eval_deriv) const
 Evaluates the score and chi-deviation penalty for the rotameric chi (in this class, that means all the chi) and stores the answers in the scratch object. If eval_deriv is true, then at the end of this function, scratch contains up-to-date dchidevpen_dbb, dchidevpen_dchi, chimean, chisd, chidev, chidevpen, dchimean_d(phi/psi), dchisd_d(phi/psi) rotwell and rotprob data. More...
 
void interpolate_rotamers (RotamerLibraryScratchSpace &scratch, Size packed_rotno, utility::fixedsizearray1< Size, N > const &bb_bin, utility::fixedsizearray1< Size, N > const &bb_bin_next, utility::fixedsizearray1< Real, N > const &bb_alpha, PackedDunbrackRotamer< T, N, Real > &interpolated_rotamer, ChiVector const &chi=ChiVector(T, 0.0), bool const use_chi=false) const
 
Size make_conditional_packed_rotno_index (Size const original_bb_index, Size const bb_index, Size const packed_rotno, ChiVector const &chi, bool const use_chi) const
 Given the index of a rotamer in the current backbone bin, find the closest rotamer index in another backbone bin. More...
 
void assign_random_rotamer (conformation::Residue const &rsd, pose::Pose const &pose, RotamerLibraryScratchSpace &scratch, numeric::random::RandomGenerator &RG, ChiVector &new_chi_angles, bool perturb_from_rotamer_center, Size &packed_rotno) const
 Assigns random chi angles and returns the packed_rotno for the chosen random rotamer. More...
 
void assign_chi_for_interpolated_rotamer (PackedDunbrackRotamer< T, N, Real > const &interpolated_rotamer, conformation::Residue const &rsd, numeric::random::RandomGenerator &RG, ChiVector &new_chi_angles, bool perturb_from_rotamer_center) const
 
void correct_termini_derivatives (conformation::Residue const &rsd, RotamerLibraryScratchSpace &scratch) const
 
Real get_phi_from_rsd (conformation::Residue const &rsd) const override
 
Real get_psi_from_rsd (conformation::Residue const &rsd) const override
 
utility::fixedsizearray1< Real, N > get_IVs_from_rsd (conformation::Residue const &rsd, pose::Pose const &pose) const
 
Real get_IV_from_rsd (core::Size bbn, conformation::Residue const &rsd, pose::Pose const &pose) const
 
template<class P >
DunbrackRotamer< T, N, P > packed_rotamer_2_regular_rotamer (PackedDunbrackRotamer< T, N, P > const &packedrot) const
 
void enumerate_chi_sets (chemical::ResidueType const &rsd_type, pack::task::PackerTask const &task, Size const seqpos, bool buried, RotamericData< T, N > const &rotamer_data, utility::vector1< utility::vector1< Real > > const &extra_chi_steps, utility::vector1< ChiSetOP > &chi_set_vector) const
 This member function constructs a list of all combinations of chi angles for a rotamer sample. It relies on a virtual function chisamples_for_rotamer_chi that may be overridden by derived classes. With a list of samples for each chi, this function then enumerates all combinations. More...
 
void create_rotamers_from_chisets (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, pack::task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue, utility::vector1< ChiSetOP > const &chi_set_vector, rotamers::RotamerVector &rotamers) const
 Once all the chi have been enumerated, building the rotamers is a trivial task. This function is protected so that derived classes may simply enumerate their chi and then invoke this function. This arguably should be moved into the SingleResidueRotamerLibrary base class. More...
 
void setup_entropy_correction ()
 
void setup_entropy_correction () const
 
- Protected Member Functions inherited from core::pack::dunbrack::SingleResidueDunbrackLibrary
bool dun02 () const
 Read access for the derived class. More...
 
bool use_bicubic () const
 Read access for the derived class. More...
 
bool dun_entropy_correction () const
 Read access for the derived class. More...
 
utility::vector1< Size > const & n_chi_bins () const
 Read access to the n_chi_bins_ vector. More...
 
void mark_rotwell_exists (utility::vector1< Size > const &rotwell)
 The base class needs to be informed about which rotamer wells exist in order to create the rotwell to packed rot conversion data. set_chi_nbins must be called first. More...
 
void declare_all_existing_rotwells_encountered ()
 After the derived class has marked all the rotwells that do exist, the base class will create the rotwell to packerot conversion data. More...
 
Size n_packed_rots () const
 The number of existing rotamers. More...
 
Size n_possible_rots () const
 The number of possible rotamers – product of the chi_nbins_ array. More...
 

Private Member Functions

void read_rotamer_definitions (utility::io::izstream &in_rotdef)
 
void read_bbdep_continuous_minimization_data (utility::io::izstream &in_contmin)
 
void read_rotameric_data (utility::io::izstream &in_rotameric)
 
void build_bbdep_rotamers (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, pack::task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue, utility::vector1< utility::vector1< Real > > const &extra_chi_steps, bool buried, PackedDunbrackRotamer< T, N, Real > const &interpolated_rotamer, BBDepNRChiSample< Real > const &interpolated_sample, rotamers::RotamerVector &rotamers) const
 
void bbdep_chisamples_for_rotamer_chi (chemical::ResidueType const &rsd_type, pack::task::ResidueLevelTask const &rtask, bool buried, Size const chi_index, RotamericData< T, N > const &rotamer_data, utility::vector1< Real > const &extra_steps, utility::vector1< Real > &total_chi, utility::vector1< int > &total_rot, utility::vector1< Real > &total_ex_steps, utility::vector1< Real > &chisample_prob) const
 
Real clip_to_nrchi_range (Real chi) const
 
void get_bbdep_nrchi_bin (Real nrchi, Size &bin_lower, Size &bin_upper, Real &nrchi_alpha) const
 
BBDepNRChiSample< Realinterpolate_bbdep_nrchi_sample (Size packed_rotno, Size nrchi_bin, utility::fixedsizearray1< Size, N > const &bb_bin, utility::fixedsizearray1< Size, N > const &bb_bin_next, utility::fixedsizearray1< Real, N > const &bb_alpha) const
 
BBDepNRChiSample< Realinterpolate_bbdep_nrchi_sample (utility::fixedsizearray1< BBDepNRChiSample<>,(1<< N) > const &nrchi_sample, utility::fixedsizearray1< Real, N > const &bb_alpha) const
 

Private Attributes

bool const bbind_nrchi_scoring_
 no default ctor SemiRotamericSingleResidueDunbrackLibrary(); More...
 
bool const bbind_nrchi_sampling_
 
bool const use_shapovalov_
 
Real nrchi_periodicity_
 
Real nrchi_lower_angle_
 
utility::vector1
< ObjexxFCL::FArray2D
< BBDepScoreInterpData< N > > > 
bbdep_nrc_interpdata_
 The non rotameric chi is n_rotameric_chi + 1;. More...
 
Size bbdep_nrchi_nbins_
 
Real bbdep_nrchi_binsize_
 
ObjexxFCL::FArray2D< Realbbind_non_rotameric_chi_scores_
 
Size bbind_nrchi_nbins_
 
Real bbind_nrchi_binsize_
 
Size n_nrchi_sample_bins_
 
ObjexxFCL::FArray2D
< BBIndNRChiSample<> > 
bbind_rotamers_to_sample_
 
ObjexxFCL::FArray2D< Sizebbind_rotamers_sorted_by_probability_
 
ObjexxFCL::FArray2D
< BBDepNRChiSample<> > 
bbdep_rotamers_to_sample_
 
ObjexxFCL::FArray3D< Sizebbdep_rotsample_sorted_order_
 

Friends

class SingleResidueDunbrackLibrary
 

Additional Inherited Members

- Static Public Member Functions inherited from core::pack::dunbrack::SingleResidueDunbrackLibrary
static void n_rotamer_bins_for_aa (chemical::ResidueType const &rt, RotVector &rot, bool const dun02=false)
 Extract the number of rotamer bins (vector of bin counts for each chi) from the ResidueType and store it in rot. More...
 
static void n_rotamer_bins_for_aa (chemical::AA const aa, RotVector &rot)
 
static void n_rotameric_bins_for_aa (chemical::AA const aa, RotVector &rot, bool dun02)
 
static void n_rotamer_bins_for_aa_02 (chemical::AA const aa, RotVector &rot)
 
- Public Attributes inherited from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >
utility::fixedsizearray1< Size, N > N_BB_BINS
 
utility::fixedsizearray1< Real, N > BB_BINRANGE
 
utility::fixedsizearray1
< utility::vector1< core::Size >
, N > 
BIN_EQUIVALENTS
 
utility::fixedsizearray1
< std::function< Real(conformation::Residue
const &rsd, pose::Pose const
&pose) >, N > 
IVs
 
- Static Public Attributes inherited from core::pack::dunbrack::SingleResidueDunbrackLibrary
static Real const PEPTIDE_NEUTRAL_PHI = -90
 constants More...
 
static Real const PEPTIDE_NEUTRAL_PSI = 130
 
static Real const PEPTOID_NEUTRAL_OMG = 180
 A good omega, phi, and psi values to use for terminal peptoid residues where they cannont be completely defined. More...
 
static Real const PEPTOID_NEUTRAL_PHI = -90
 
static Real const PEPTOID_NEUTRAL_PSI = 180
 
static Real const ANGLE_DELTA
 Precision measures for comparsions. More...
 
static Real const PROB_DELTA
 
static Real const ENERGY_DELTA
 
static Real const COEF_DELTA
 

Detailed Description

template<Size T, Size N>
class core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >

This class is meant to represent the non-rotameric chi observed in several amino acids (asn, asp, gln, glu, his, phe, trp, tyr ) which are rotameric for the chi closest to the backbone and non rotameric for exactly one chi angle. This non-rotameric chi (abv. nrchi) is the last chi for each of these 8 amino acids except tyrosine, where this chi is the last heavy-atom chi. The last chi on tyrosine governs a hydroxyl. Unlike in the fully rotameric residues, the last heavyatom chi in semi-rotameric residues do not "communicate" to the rotameric chi. That is, in the rotameric chi, the mean chi1 value is sensitive to the chi3 value. If the third diherdal switches from trans to g+, then chi1 would shift in response. Changes to the non-rotameric chi do not effect the rotameric chi. The data structure here is good for this model but no other.

Member Typedef Documentation

Constructor & Destructor Documentation

template<Size T, Size N>
core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::SemiRotamericSingleResidueDunbrackLibrary ( chemical::ResidueType const &  rt,
bool const  backbone_independent_scoring,
bool const  backbone_independent_rotamer_sampling,
bool  use_shapovalov,
bool  use_bicubic,
bool  dun_entropy_correction,
core::Real  prob_buried,
core::Real  prob_nonburied 
)

The constructor determines the path the library takes: whether it uses a backbone dependent or independent score function for the non-rotameric chi (the rotameric chi score function is always backbone dependent) and whether it uses a backbone dependent or independent rotamer sampling scheme. All four combinations are possible, though backbone independent scoring and backbone dependent rotamer sampling seems a poor combination.

Member Function Documentation

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::assign_random_rotamer_with_bias ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
RotamerLibraryScratchSpace scratch,
numeric::random::RandomGenerator &  RG,
ChiVector new_chi_angles,
bool  perturb_from_rotamer_center 
) const
overridevirtual

Pick a rotamer for the input residue according to the rotamer probability distribution and assign chi angles to the input rsd. If perturb_from_rotamer_center is true, then push the rotamer off from the center; for chi angles with a normal distribution, the perturbation is taken from a Gaussian random number with a standard deviation matching the chi angle's standard deviation. For chi angles that are not normally distributed, the behavior is open to the derived classe's interpretation.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::assign_random_rotamer_with_bias_bbdep ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
RotamerLibraryScratchSpace scratch,
numeric::random::RandomGenerator &  RG,
ChiVector new_chi_angles,
bool  perturb_from_rotamer_center 
) const
protected
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_chisamples_for_rotamer_chi ( chemical::ResidueType const &  rsd_type,
pack::task::ResidueLevelTask const &  rtask,
bool  buried,
Size const  chi_index,
RotamericData< T, N > const &  rotamer_data,
utility::vector1< Real > const &  extra_steps,
utility::vector1< Real > &  total_chi,
utility::vector1< int > &  total_rot,
utility::vector1< Real > &  total_ex_steps,
utility::vector1< Real > &  chisample_prob 
) const
private
template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrchi_score ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
RotamerLibraryScratchSpace scratch,
Real dnrchi_score_dnrchi,
utility::fixedsizearray1< Real, N > &  dnrchi_score_dbb 
) const
protected

Trilinear interpolation. Derivatives discontinuous at edge planes. Correction: it seems that this was updated at some point to use tricubic interpolation. Note: This function has been updated to handle D-amino acids properly.

References core::conformation::Residue::chi(), core::chemical::ResidueType::is_mirrored_type(), core::chemical::element::N, core::pack::dunbrack::polycubic_interpolation(), core::pack::dunbrack::RotamerLibraryScratchSpace::rotwell(), and core::conformation::Residue::type().

template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::best_rotamer_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
bool  curr_rotamer_only,
RotamerLibraryScratchSpace scratch 
) const
overridevirtual

Returns the energy of the lowest-energy rotamer accessible to the given residue (based on e.g. its current phi and psi values). If curr_rotamer_only is true, then consider only the idealized version of the residue's current rotamer (local optimum); otherwise, consider all rotamers (global optimum).

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

References core::conformation::Residue::chi(), core::chemical::element::N, and core::conformation::Residue::nchi().

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::build_bbdep_rotamers ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
pack::task::PackerTask const &  task,
utility::graph::GraphCOP  packer_neighbor_graph,
chemical::ResidueTypeCOP  concrete_residue,
conformation::Residue const &  existing_residue,
utility::vector1< utility::vector1< Real > > const &  extra_chi_steps,
bool  buried,
PackedDunbrackRotamer< T, N, Real > const &  interpolated_rotamer,
BBDepNRChiSample< Real > const &  interpolated_sample,
rotamers::RotamerVector rotamers 
) const
private
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::chisamples_for_rotamer_and_chi ( chemical::ResidueType const &  rsd_type,
pack::task::ResidueLevelTask const &  rtask,
bool  buried,
Size const  chi_index,
RotamericData< T, N > const &  rotamer_data,
utility::vector1< Real > const &  extra_steps,
utility::vector1< Real > &  total_chi,
utility::vector1< int > &  total_rot,
utility::vector1< Real > &  total_ex_steps,
utility::vector1< Real > &  chisample_prob 
) const
overrideprotectedvirtual

overrides parent class for the non-rotameric chi, but falls back on the parent class functionality for all other chi.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::clip_to_nrchi_range ( Real  chi) const
private

Clips to range [ nrchi_lower_angle_, nrchi_lower_angle_ + nrchi_periodicity ) Note: this isn't really "clipping" (i.e. values outside of this range are not set to the minimum or maximum of the range). Instead, it is properly returning the value within the range corresponding to a value outside of the range.

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::fill_rotamer_vector ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
pack::task::PackerTask const &  task,
utility::graph::GraphCOP  packer_neighbor_graph,
chemical::ResidueTypeCOP  concrete_residue,
conformation::Residue const &  existing_residue,
utility::vector1< utility::vector1< Real > > const &  extra_chi_steps,
bool  buried,
rotamers::RotamerVector rotamers 
) const
overridevirtual
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::fill_rotamer_vector_bbdep ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
pack::task::PackerTask const &  task,
utility::graph::GraphCOP  packer_neighbor_graph,
chemical::ResidueTypeCOP  concrete_residue,
conformation::Residue const &  existing_residue,
utility::vector1< utility::vector1< Real > > const &  extra_chi_steps,
bool  buried,
rotamers::RotamerVector rotamers 
) const
protected
template<Size T, Size N>
utility::vector1< DunbrackRotamerSampleData > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_all_rotamer_samples ( Real5  bbs) const
overridevirtual

Return all of the rotamer sample data given a particular phi/psi. For N-terminus residues, hand in the phi value SingleResidueDunbrackLibrary::PHI_NEUTRAL and for C-terminus residues, hand in the psi value SingleResidueDunbrackLibrary::PSI_NEUTRAL. The returned samples should be in semi-decrasing order by probability; semi, because the rotamers are constructed in sorted order by their probability in the lower phi-psi bin that the input phi/psi perscribes.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
utility::vector1< DunbrackRotamerSampleData > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_all_rotamer_samples_bbdep ( Real5  bbs) const
protected
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_bbdep_nrchi_bin ( Real  nrchi,
Size bin_lower,
Size bin_upper,
Real nrchi_alpha 
) const
private
template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_probability_for_rotamer ( utility::fixedsizearray1< Real, N >  bbs,
Size  rot_ind 
) const
overridevirtual
template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_probability_for_rotamer_bbdep ( utility::fixedsizearray1< Real, N >  bbs,
Size  rot_ind 
) const
protected
template<Size T, Size N>
DunbrackRotamerSampleData core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_rotamer ( utility::fixedsizearray1< Real, N >  bbs,
Size  rot_ind 
) const
overridevirtual
template<Size T, Size N>
DunbrackRotamerSampleData core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_rotamer_bbdep ( utility::fixedsizearray1< Real, N >  bbs,
Size  rot_ind 
) const
protected
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_rotamer_from_chi ( ChiVector const &  chi,
RotVector rot 
) const
overridevirtual

Convert a vector of chi angles (degrees) into a integer vector of rotamer wells. Derived class should be consistent, but may be arbitrary in how wells divide angle space.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

References core::sequence::left.

template<Size T, Size N>
BBDepNRChiSample< Real > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::interpolate_bbdep_nrchi_sample ( Size  packed_rotno,
Size  nrchi_bin,
utility::fixedsizearray1< Size, N > const &  bb_bin,
utility::fixedsizearray1< Size, N > const &  bb_bin_next,
utility::fixedsizearray1< Real, N > const &  bb_alpha 
) const
private
template<Size T, Size N>
BBDepNRChiSample< Real > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::interpolate_bbdep_nrchi_sample ( utility::fixedsizearray1< BBDepNRChiSample<>,(1<< N) > const &  nrchi_sample,
utility::fixedsizearray1< Real, N > const &  bb_alpha 
) const
private
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::interpolate_nrchi_values ( utility::fixedsizearray1< Size, N > const &  bb_bin,
utility::fixedsizearray1< Size, N > const &  bb_bin_next,
utility::fixedsizearray1< Real, N > const &  bb_alpha,
Size  packed_rotno,
utility::vector1< Real > &  interpolated_nrchi_distribution 
) const
template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::memory_usage_dynamic ( ) const
overrideprotectedvirtual

Measures the amount of dynamically allocated data in this class. Must recurse to parent to count parent's dynamically allocated data.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::memory_usage_static ( ) const
overrideprotectedvirtual

Worker functions.

called only if the library is actually an RSRDL<T> object. Derived classes should not call this function or recurse. Accounts for the statically allocated data that's part of this class.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::n_rotamer_bins ( ) const
overridevirtual
template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::nbb ( ) const
overridevirtual

the number of backbone dihedrals represented by the library

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

References core::chemical::element::N.

template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::nchi ( ) const
overridevirtual

The number of chi represented by the library.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
bool core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator== ( rotamers::SingleResidueRotamerLibrary const &  rhs) const
overridevirtual

Comparison operator, mainly intended to use in ASCII/binary comparsion tests Values tested should parallel those used in the read_from_binary() function.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

References protocols::cluster::calibur::aa, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrc_interpdata_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrchi_binsize_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrchi_nbins_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_rotamers_to_sample_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_rotsample_sorted_order_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_binsize_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_nbins_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_sampling_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_scoring_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_rotamers_sorted_by_probability_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_rotamers_to_sample_, core::chemical::element::N, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::n_nrchi_sample_bins_, core::pack::dunbrack::SingleResidueDunbrackLibrary::n_packed_rots(), core::chemical::name_from_aa(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::nrchi_lower_angle_, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::nrchi_periodicity_, and core::pack::dunbrack::TR().

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::read_bbdep_continuous_minimization_data ( utility::io::izstream &  in_contmin)
private
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::read_from_binary ( utility::io::izstream &  in)
overridevirtual
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::read_from_files ( utility::io::izstream &  in_rotdef,
utility::io::izstream &  in_rotameric,
utility::io::izstream &  in_continmin_bbdep 
)

Initialize either a backbone-independent or a backbone-dependent SRSRDL from the set of four files which describe both (not all files are read).

read-from-files that does not require the in_continmin_bbind file

Initialize a backbone-dependent SRSRDL from the set of three files which describe it.

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

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::read_rotamer_definitions ( utility::io::izstream &  in_rotdef)
private

the rotamer definition file must be the first file read. Reading this file gives the number of pseudorotamers used for both the bbdep and bbind rotamer building. The bbind rotamer data is saved iff the bbind_rotamer_building_ flag is true.

References core::sequence::left, and core::pack::dunbrack::product().

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::read_rotameric_data ( utility::io::izstream &  in_rotameric)
private
template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::rotamer_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
RotamerLibraryScratchSpace scratch 
) const
overridevirtual

Virtual functions required by the base classes.

Reimplemented from core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >.

template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::rotamer_energy_deriv ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
RotamerLibraryScratchSpace scratch 
) const
overridevirtual
template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::rotamer_energy_deriv_bbdep ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
RotamerLibraryScratchSpace scratch,
bool  eval_deriv 
) const
protected
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::set_nonrotameric_chi_bbdep_scoring_step_size ( Real  step_size_in_degrees)

What is the angular step size of the bbdep score?

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

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::set_nonrotameric_chi_bbind_scoring_step_size ( Real  step_size_in_degrees)

What is the angular step size of the bbind score?

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

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::set_nonrotameric_chi_start_angle ( Real  angle_in_degrees)

What angle do the interpolation data start from?

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

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::set_nrchi_periodicity ( Real  angle_in_degrees)

Initialization functions that must be called before reading the input libraries.

For the non rotameric chi, how many asymmetric degrees are there? (e.g. 360 for asn, 180 for asp)

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

template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::write_to_binary ( utility::io::ozstream &  out) const
overridevirtual
template<Size T, Size N>
void core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::write_to_file ( utility::io::ozstream &  out) const
overridevirtual

Friends And Related Function Documentation

template<Size T, Size N>
friend class SingleResidueDunbrackLibrary
friend

Member Data Documentation

template<Size T, Size N>
utility::vector1< ObjexxFCL::FArray2D< BBDepScoreInterpData<N> > > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrc_interpdata_
private

The non rotameric chi is n_rotameric_chi + 1;.

Referenced by core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator==().

template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrchi_binsize_
private
template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrchi_nbins_
private
template<Size T, Size N>
ObjexxFCL::FArray2D< BBDepNRChiSample<> > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_rotamers_to_sample_
private

This variable is used iff bbind_nrchi_sampling_ is false; Space is not allocated if it is true.

Referenced by core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator==().

template<Size T, Size N>
ObjexxFCL::FArray3D< Size > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_rotsample_sorted_order_
private
template<Size T, Size N>
ObjexxFCL::FArray2D< Real > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_non_rotameric_chi_scores_
private

If bbind_nrchi_scoring_ is true, then this array holds the continuous minimization data for each of the packed rotamers.

template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_binsize_
private
template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_nbins_
private
template<Size T, Size N>
bool const core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_sampling_
private
template<Size T, Size N>
bool const core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_nrchi_scoring_
private
template<Size T, Size N>
ObjexxFCL::FArray2D< Size > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_rotamers_sorted_by_probability_
private
template<Size T, Size N>
ObjexxFCL::FArray2D< BBIndNRChiSample<> > core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbind_rotamers_to_sample_
private

This variable is used iff bbind_nrchi_sampling_ is true; Space is not allocated if it is false. The algorithm for creating the top 95% most probable rotamers relies on a sorted order for these rotamers, which is why we need bbind_rotamers_sorted_by_probability_.

Referenced by core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator==().

template<Size T, Size N>
Size core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::n_nrchi_sample_bins_
private

For rotamer sampling, "pseudo rotamers" are defined for the non rotameric chi. These rotamers are arbitrary bins in chi space, and each bin gives a left and right edge as well as a median (mode?) angle which is used for rotamer sampling iff bbind_nrchi_sampling_ is true. The bins do not have a uniform width.

Referenced by core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator==().

template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::nrchi_lower_angle_
private
template<Size T, Size N>
Real core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::nrchi_periodicity_
private
template<Size T, Size N>
bool const core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::use_shapovalov_
private

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