Rosetta
Namespaces | Classes | Typedefs | Functions | Variables
core::pack::dunbrack Namespace Reference

Namespaces

 cenrot
 

Classes

class  ChiSet
 
class  DunbrackConstraint
 
class  DunbrackConstraintCreator
 Mover creator for the DunbrackConstraint constraint. More...
 
class  DunbrackEnergy
 
class  DunbrackEnergyCreator
 
class  DunbrackRotamerMeanSD
 forward declaration; default precision is DunbrackReal More...
 
class  PackedDunbrackRotamer
 forward declaration; default precision is DunbrackReal; More...
 
class  DunbrackRotamer
 forward declaration; default precision is DunbrackReal More...
 
class  RotamericData
 DOUG DOUG DOUG. More...
 
class  DunbrackRotamerSampleData
 
class  RotamerBuildingData
 a simple class for passing data around in virtual function calls of the rotamer creating process. Derived classes will be simple containers for interpolated rotameric data that 1) has to be available to the derived class when building rotamers and 2) cannot be stored as member data in the derived class in a thread-safe manner. Derived classes of the RotamerBuildingData can be declared on the stack, passed into the RotamericSingleResidueDunbrackLibrary::build_chi_sets function, and then in the (virtual) chisamples_for_rotamer function, the derived classes may be downcast. More...
 
class  PeptoidOmegaReporter
 
class  PeptoidGeneralDOFReporter
 
class  ResidueDOFReporter
 
class  RotamerConstraint
 This class favors a particular rotamer at a particular position by reducing its Dunbrack energy. More...
 
class  RotamericSingleResidueDunbrackLibrary
 
class  RotamericSingleResidueDunbrackLibraryParser
 A helper class to assist in parsing rotamer libraries. More...
 
struct  DunbrackAAParameterSet
 A small structure to hold overview parameters about the Dunbrack Libraries. More...
 
class  RotamerLibrary
 A class to manage the Dunbrack Rotamer Libraries. More...
 
class  RotamerLibraryInterpolationScratch
 A scratch-space class to store the information needed for Dunbrack Rotamer interpolation. More...
 
class  RotamerLibraryScratchSpace
 
class  SemiRotamericSingleResidueDunbrackLibrary
 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...
 
class  BBDepNRChiSample
 P for precision. More...
 
class  BBIndNRChiSample
 
class  BBDepSemiRotamericData
 A class to hold rotamer building data on the stack and yet have it accessible to derived classes when invoking base class functions. An alternative would have been to store mutable member data in the Library class itself. This option, however, is not thread safe. This data is used by the SemiRotamericSRDL class for when building backbone dependent rotamers. More...
 
struct  BBDepScoreInterpData
 
class  BBIndSemiRotamericData
 A class to hold rotamer building data on the stack and yet have it accessible to derived classes when invoking base class functions. An alternative would have been to store mutable member data in the Library class itself. This option, however, is not thread safe. This data is used by the SemiRotamericSRDL class for when building backbone independent rotamers. More...
 
class  ProbSortClass
 
class  SingleResidueDunbrackLibraryConcrete
 
class  SingleResidueDunbrackLibrary
 
class  SingleResidueDunbrackLibraryCreator
 
class  MainchainTorsionReporter
 
class  PeptideTorsionReporter
 

Typedefs

typedef utility::pointer::shared_ptr< ChiSetChiSetOP
 
typedef utility::pointer::shared_ptr< ChiSet const > ChiSetCOP
 
typedef utility::pointer::shared_ptr< DunbrackConstraintDunbrackConstraintOP
 
typedef utility::pointer::shared_ptr< DunbrackConstraint const > DunbrackConstraintCOP
 
typedef float DunbrackReal
 
typedef utility::vector1< SizeRotVector
 
typedef utility::vector1< RealChiVector
 
typedef utility::vector1< RealAngleVector
 
typedef utility::pointer::shared_ptr< ResidueDOFReporterResidueDOFReporterOP
 
typedef utility::pointer::shared_ptr< ResidueDOFReporter const > ResidueDOFReporterCOP
 
typedef utility::pointer::shared_ptr< RotamerConstraintRotamerConstraintOP
 
typedef utility::pointer::shared_ptr< RotamerConstraint const > RotamerConstraintCOP
 
typedef utility::pointer::shared_ptr< RotamericSingleResidueDunbrackLibraryParserRotamericSingleResidueDunbrackLibraryParserOP
 
typedef utility::pointer::shared_ptr< RotamericSingleResidueDunbrackLibraryParser const > RotamericSingleResidueDunbrackLibraryParserCOP
 
typedef utility::pointer::shared_ptr< RotamerLibraryRotamerLibraryOP
 
typedef utility::pointer::shared_ptr< RotamerLibrary const > RotamerLibraryCOP
 
typedef utility::fixedsizearray1< utility::fixedsizearray1< Real, DUNBRACK_MAX_SCTOR >, DUNBRACK_MAX_BBTORFiveReal4
 
typedef utility::fixedsizearray1< Real, DUNBRACK_MAX_SCTORReal4
 
typedef utility::fixedsizearray1< Size, DUNBRACK_MAX_SCTORSize4
 
typedef utility::fixedsizearray1< Real, DUNBRACK_MAX_BBTORReal5
 
typedef utility::fixedsizearray1< Size, DUNBRACK_MAX_BBTORSize5
 
typedef utility::pointer::shared_ptr< RotamerLibraryScratchSpaceRotamerLibraryScratchSpaceOP
 
typedef utility::pointer::shared_ptr< RotamerLibraryScratchSpace const > RotamerLibraryScratchSpaceCOP
 
typedef utility::pointer::shared_ptr< SingleResidueDunbrackLibrarySingleResidueDunbrackLibraryOP
 
typedef utility::pointer::weak_ptr< SingleResidueDunbrackLibrarySingleResidueDunbrackLibraryAP
 
typedef utility::pointer::shared_ptr< SingleResidueDunbrackLibrary const > SingleResidueDunbrackLibraryCOP
 
typedef utility::pointer::weak_ptr< SingleResidueDunbrackLibrary const > SingleResidueDunbrackLibraryCAP
 
typedef utility::pointer::shared_ptr< SingleResidueDunbrackLibraryCreatorSingleResidueDunbrackLibraryCreatorOP
 
typedef utility::pointer::shared_ptr< SingleResidueDunbrackLibraryCreator const > SingleResidueDunbrackLibraryCreatorCOP
 

Functions

static basic::Tracer TR ("core.pack.dunbrack.DunbrackConstraint")
 
Size positive_pow (Size mantissa, Size exponent)
 
template<Size N>
void interpolate_rotamers (utility::fixedsizearray1< DunbrackRotamer< FOUR, N >,(1<< N) > const &rot, utility::fixedsizearray1< Real, N > bb_err, Real binrange, Size nchi_aa, DunbrackRotamer< FOUR, N, Real > &interpolated_rotamer)
 
template<Size N>
Size product (utility::fixedsizearray1< Size, N > factors)
 
bool bit_is_set (Size num, Size num_len, Size pos)
 
template<Size N>
Size make_index (utility::fixedsizearray1< Size, N > const &num_bins, utility::fixedsizearray1< Size, N > const &bb_bin)
 
template<Size N>
Size make_index (utility::fixedsizearray1< Size, N > const &num_bins, utility::fixedsizearray1< Size, N+1 > const &bb_bin)
 
template<Size N>
Size make_index (utility::fixedsizearray1< Size, N > const &num_bins, utility::vector1< Size > const &bb_bin)
 Variant of above make_index function for bb_bin as a vector. More...
 
template<Size N>
Size make_conditional_index (utility::fixedsizearray1< Size, N > num_bins, Size cond_i, utility::fixedsizearray1< Size, N > bin_true, utility::fixedsizearray1< Size, N > bin_false)
 
template<Size N>
Size make_conditional_index (utility::fixedsizearray1< Size, N > num_bins, Size cond_i, utility::fixedsizearray1< Size, N+1 > bin_true, utility::fixedsizearray1< Size, N+1 > bin_false)
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA. More...
 
template<Size N>
void polycubic_interpolation (utility::fixedsizearray1< utility::fixedsizearray1< Real,(1<< N) >,(1<< N) > n_derivs, utility::fixedsizearray1< Real, N > dbbp, utility::fixedsizearray1< Real, N > binwbb, Real &val, utility::fixedsizearray1< Real, N > &dvaldbb)
 Perform cubic interpolation over each of N axes, using the 2^N derivatives at 2^N gridpoints. More...
 
template<Size N>
void interpolate_polylinear_by_value_noangles (utility::fixedsizearray1< core::Real,(1<< N) > const &vals, utility::fixedsizearray1< core::Real, N > const &bbd, utility::fixedsizearray1< core::Real, N > const &binrange, core::Real &val, utility::fixedsizearray1< core::Real, N > &dval_dbb)
 Interpolate polylinearly in N dimensions for values that AREN'T angles. More...
 
template<core::Size N>
void interpolate_polylinear_by_value_angles_degrees (utility::fixedsizearray1< core::Real,(1<< N) > const &vals, utility::fixedsizearray1< core::Real, N > const &bbd, utility::fixedsizearray1< core::Real, N > const &binrange, core::Real &val, utility::fixedsizearray1< core::Real, N > &dval_dbb)
 Interpolate polylinearly in N dimensions, for outputs that are angles (and have to handle wraparound properly). More...
 
template<>
void interpolate_polylinear_by_value_angles_degrees< 1 > (utility::fixedsizearray1< core::Real, 2 > const &vals, utility::fixedsizearray1< core::Real, 1 > const &bbd, utility::fixedsizearray1< core::Real, 1 > const &binrange, core::Real &val, utility::fixedsizearray1< core::Real, 1 > &dval_dbb)
 Interpolate polylinearly in N dimensions, for outputs that are angles (and have to handle wraparound properly). More...
 
template<Size N>
void interpolate_polylinear_by_value (utility::fixedsizearray1< core::Real,(1<< N) > const &vals, utility::fixedsizearray1< core::Real, N > const &bbd, utility::fixedsizearray1< core::Real, N > const &binrange, bool angles, core::Real &val, utility::fixedsizearray1< core::Real, N > &dval_dbb)
 Interpolate polylinearly in N dimensions. More...
 
template<Size S, Size N>
DunbrackRotamer< S, N, Realincrease_rotamer_precision (DunbrackRotamer< S, N, DunbrackReal > const &original_rotamer)
 
static basic::Tracer TR ("core.pack.dunbrack.RotamerConstraint")
 
void load_unboundrot (pose::Pose &pose)
 Convenience function adds constraints to the supplied pose based on the -unboundrot command line flag. More...
 
void load_unboundrot (pose::Pose &pose, core::pose::PoseCOPs const &unboundrot_poses)
 Convenience function adds constraints to the supplied pose based on the list of provided poses. More...
 
static basic::Tracer TR ("core.pack.dunbrack.RotamerLibrary")
 
void rotamer_from_chi (conformation::Residue const &rsd, RotVector &rot)
 helper that'll determine the rotamer bins for a residue by asking its associated rotamer library for that information. More...
 
void rotamer_from_chi (chemical::ResidueType const &rsd_type, ChiVector const &chi, RotVector &rot)
 helper that'll determine the rotamer bins for a residue_type by asking its associated rotamer library for that information. Takes chi vector as input parameter. More...
 
void rotamer_from_chi_02 (ChiVector const &chi, chemical::AA const res, RotVector &rot)
 Do not bother calling this function if you're interested in staying up to date with changes in the rotamer library. Call rotamer_from_chi instead. It will eventually call this function iff dun10 is not set to true. More...
 
void rotamer_from_chi_02 (Real4 const &chi, chemical::AA const res, Size nchi, Size4 &rot)
 DEPRECATED convert between the real-valued chi dihedrals and the rotamer well indices. More...
 
Real subtract_chi_angles (Real chi1, Real chi2, chemical::AA const &aa, int chino)
 Find the difference in angles between two chi values using hard-coded symmetry information for the symmetric amino acids. Disappears for 2010 library. More...
 
bool psc_compare (ProbSortClass left, ProbSortClass right)
 
template<Size T, Size N>
void initialize_and_read_srsrdl (SemiRotamericSingleResidueDunbrackLibrary< T, N > &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)
 
template<Size T, Size N>
void initialize_srsrdl (SemiRotamericSingleResidueDunbrackLibrary< T, N > &srsrdl, bool const nrchi_is_symmetric, Real const nrchi_start_angle)
 
static basic::Tracer TR ("core.pack.dunbrack")
 
static basic::Tracer TR ("core.pack.dunbrack.SingleResidueDunbrackLibraryCreator")
 

Variables

Size const ONE = 1
 
Size const TWO = 2
 
Size const THREE = 3
 
Size const FOUR = 4
 
Size const FIVE = 5
 
Size const DUNBRACK_MAX_BBTOR = 5
 
Size const DUNBRACK_MAX_SCTOR = 5
 
Size const DUNBRACK_FILE_DEFAULT_SCTOR = 4
 

Typedef Documentation

◆ AngleVector

typedef utility::vector1< Real > core::pack::dunbrack::AngleVector

◆ ChiSetCOP

typedef utility::pointer::shared_ptr< ChiSet const > core::pack::dunbrack::ChiSetCOP

◆ ChiSetOP

typedef utility::pointer::shared_ptr< ChiSet > core::pack::dunbrack::ChiSetOP

◆ ChiVector

typedef utility::vector1< Real > core::pack::dunbrack::ChiVector

◆ DunbrackConstraintCOP

typedef utility::pointer::shared_ptr< DunbrackConstraint const > core::pack::dunbrack::DunbrackConstraintCOP

◆ DunbrackConstraintOP

typedef utility::pointer::shared_ptr< DunbrackConstraint > core::pack::dunbrack::DunbrackConstraintOP

◆ DunbrackReal

Low precision in Dunbrack rotamer library suggests no need to store chi dihedrals and standard deviations with 64 bits.

◆ FiveReal4

typedef utility::fixedsizearray1< utility::fixedsizearray1< Real, DUNBRACK_MAX_SCTOR >, DUNBRACK_MAX_BBTOR > core::pack::dunbrack::FiveReal4

◆ Real4

typedef utility::fixedsizearray1< Real, DUNBRACK_MAX_SCTOR > core::pack::dunbrack::Real4

◆ Real5

typedef utility::fixedsizearray1< Real, DUNBRACK_MAX_BBTOR > core::pack::dunbrack::Real5

◆ ResidueDOFReporterCOP

typedef utility::pointer::shared_ptr< ResidueDOFReporter const > core::pack::dunbrack::ResidueDOFReporterCOP

◆ ResidueDOFReporterOP

typedef utility::pointer::shared_ptr< ResidueDOFReporter > core::pack::dunbrack::ResidueDOFReporterOP

◆ RotamerConstraintCOP

typedef utility::pointer::shared_ptr< RotamerConstraint const > core::pack::dunbrack::RotamerConstraintCOP

◆ RotamerConstraintOP

typedef utility::pointer::shared_ptr< RotamerConstraint > core::pack::dunbrack::RotamerConstraintOP

◆ RotamericSingleResidueDunbrackLibraryParserCOP

◆ RotamericSingleResidueDunbrackLibraryParserOP

◆ RotamerLibraryCOP

typedef utility::pointer::shared_ptr< RotamerLibrary const > core::pack::dunbrack::RotamerLibraryCOP

◆ RotamerLibraryOP

typedef utility::pointer::shared_ptr< RotamerLibrary > core::pack::dunbrack::RotamerLibraryOP

◆ RotamerLibraryScratchSpaceCOP

◆ RotamerLibraryScratchSpaceOP

◆ RotVector

typedef utility::vector1< Size > core::pack::dunbrack::RotVector

◆ SingleResidueDunbrackLibraryAP

◆ SingleResidueDunbrackLibraryCAP

◆ SingleResidueDunbrackLibraryCOP

◆ SingleResidueDunbrackLibraryCreatorCOP

◆ SingleResidueDunbrackLibraryCreatorOP

◆ SingleResidueDunbrackLibraryOP

◆ Size4

typedef utility::fixedsizearray1< Size, DUNBRACK_MAX_SCTOR > core::pack::dunbrack::Size4

◆ Size5

typedef utility::fixedsizearray1< Size, DUNBRACK_MAX_BBTOR > core::pack::dunbrack::Size5

Function Documentation

◆ bit_is_set()

bool core::pack::dunbrack::bit_is_set ( Size  num,
Size  num_len,
Size  pos 
)
inline

◆ increase_rotamer_precision()

template<Size S, Size N>
DunbrackRotamer< S, N, Real > core::pack::dunbrack::increase_rotamer_precision ( DunbrackRotamer< S, N, DunbrackReal > const &  original_rotamer)

◆ initialize_and_read_srsrdl()

template<Size T, Size N>
void core::pack::dunbrack::initialize_and_read_srsrdl ( SemiRotamericSingleResidueDunbrackLibrary< T, N > &  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 
)

◆ initialize_srsrdl()

template<Size T, Size N>
void core::pack::dunbrack::initialize_srsrdl ( SemiRotamericSingleResidueDunbrackLibrary< T, N > &  srsrdl,
bool const  nrchi_is_symmetric,
Real const  nrchi_start_angle 
)

◆ interpolate_polylinear_by_value()

template<Size N>
void core::pack::dunbrack::interpolate_polylinear_by_value ( utility::fixedsizearray1< core::Real,(1<< N) > const &  vals,
utility::fixedsizearray1< core::Real, N > const &  bbd,
utility::fixedsizearray1< core::Real, N > const &  binrange,
bool  angles,
core::Real val,
utility::fixedsizearray1< core::Real, N > &  dval_dbb 
)

Interpolate polylinearly in N dimensions.

Author
Original author unknown.
Angle interpolation rewritten by Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org) and Andy Watkins, 12 Sept. 2018.
Parameters
[in]valsThe values at the corners of the gridpoints. This vector should have N^2 points.
[in]bbdCoordinate within the grid square/cube/hypercube, with each dimension ranging from 0 to 1.
[in]binrangeSize of each bin. For example, 10 degrees by 10 degrees by 10 degrees...
[in]anglesAre we interpolating angles, or just some value? Note that, if angles, we assume angles are in DEGREES.
[out]valThe interpolated value.
[out]dval_dbbThe derivatives of the interpolated value, with respect to the degrees of freedom over which the grid is defined.

References core::scoring::packstat::old::angles, interpolate_polylinear_by_value_angles_degrees(), interpolate_polylinear_by_value_noangles(), core::chemical::element::N, and protocols::hybridization::val.

Referenced by core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::get_probability_for_rotamer(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_probability_for_rotamer_bbdep(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::interpolate_bbdep_nrchi_sample(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::interpolate_nrchi_values(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::interpolate_rotamers(), and interpolate_rotamers().

◆ interpolate_polylinear_by_value_angles_degrees()

template<core::Size N>
void core::pack::dunbrack::interpolate_polylinear_by_value_angles_degrees ( utility::fixedsizearray1< core::Real,(1<< N) > const &  vals,
utility::fixedsizearray1< core::Real, N > const &  bbd,
utility::fixedsizearray1< core::Real, N > const &  binrange,
core::Real val,
utility::fixedsizearray1< core::Real, N > &  dval_dbb 
)
inline

Interpolate polylinearly in N dimensions, for outputs that are angles (and have to handle wraparound properly).

Author
Original author unknown.
Angle interpolation rewritten by Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org) and Andy Watkins, 12 Sept. 2018.
Note
We assume that angles are in DEGREES.
Parameters
[in]valsThe values at the corners of the gridpoints. This vector should have N^2 points.
[in]bbdCoordinate within the grid square/cube/hypercube, with each dimension ranging from 0 to 1.
[in]binrangeSize of each bin. For example, 10 degrees by 10 degrees by 10 degrees...
[out]valThe interpolated value.
[out]dval_dbbThe derivatives of the interpolated value, with respect to the degrees of freedom over which the grid is defined.

References interpolate_polylinear_by_value_noangles(), core::chemical::element::N, and protocols::hybridization::val.

Referenced by interpolate_polylinear_by_value().

◆ interpolate_polylinear_by_value_angles_degrees< 1 >()

template<>
void core::pack::dunbrack::interpolate_polylinear_by_value_angles_degrees< 1 > ( utility::fixedsizearray1< core::Real, 2 > const &  vals,
utility::fixedsizearray1< core::Real, 1 > const &  bbd,
utility::fixedsizearray1< core::Real, 1 > const &  binrange,
core::Real val,
utility::fixedsizearray1< core::Real, 1 > &  dval_dbb 
)
inline

Interpolate polylinearly in N dimensions, for outputs that are angles (and have to handle wraparound properly).

This version is for the special N=1 case. It is ultimately the end of the recusive call chain for the version below.

Author
Original author unknown.
Angle interpolation rewritten by Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org) and Andy Watkins, 12 Sept. 2018.
Note
We assume that angles are in DEGREES.
Parameters
[in]valsThe values at the corners of the gridpoints. This vector should have N^2 points.
[in]bbdCoordinate within the grid square/cube/hypercube, with each dimension ranging from 0 to 1.
[in]binrangeSize of each bin. For example, 10 degrees by 10 degrees by 10 degrees...
[out]valThe interpolated value.
[out]dval_dbbThe derivatives of the interpolated value, with respect to the degrees of freedom over which the grid is defined.

References protocols::hybridization::val.

◆ interpolate_polylinear_by_value_noangles()

template<Size N>
void core::pack::dunbrack::interpolate_polylinear_by_value_noangles ( utility::fixedsizearray1< core::Real,(1<< N) > const &  vals,
utility::fixedsizearray1< core::Real, N > const &  bbd,
utility::fixedsizearray1< core::Real, N > const &  binrange,
core::Real val,
utility::fixedsizearray1< core::Real, N > &  dval_dbb 
)

Interpolate polylinearly in N dimensions for values that AREN'T angles.

This doesn't handle wraparound.

Author
Original author unknown.
Pulled into a new function by Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org), 12 Sept. 2018.
Parameters
[in]valsThe values at the corners of the gridpoints. This vector should have N^2 points.
[in]bbdCoordinate within the grid square/cube/hypercube, with each dimension ranging from 0 to 1.
[in]binrangeSize of each bin. For example, 10 degrees by 10 degrees by 10 degrees...
[out]valThe interpolated value.
[out]dval_dbbThe derivatives of the interpolated value, with respect to the degrees of freedom over which the grid is defined.

References bit_is_set(), core::chemical::element::N, and protocols::hybridization::val.

Referenced by interpolate_polylinear_by_value(), and interpolate_polylinear_by_value_angles_degrees().

◆ interpolate_rotamers()

template<Size N>
void core::pack::dunbrack::interpolate_rotamers ( utility::fixedsizearray1< DunbrackRotamer< FOUR, N >,(1<< N) > const &  rot,
utility::fixedsizearray1< Real, N >  bb_err,
Real  binrange,
Size  nchi_aa,
DunbrackRotamer< FOUR, N, Real > &  interpolated_rotamer 
)

alternative interpolate_rotamers that uses polylinear interpolation

References core::pack::dunbrack::DunbrackRotamerMeanSD< S, N, P >::chi_mean(), core::pack::dunbrack::DunbrackRotamerMeanSD< S, N, P >::chi_sd(), interpolate_polylinear_by_value(), core::chemical::element::N, rot(), core::pack::dunbrack::DunbrackRotamerMeanSD< S, N, P >::rotamer_probability(), and core::pack::dunbrack::DunbrackRotamer< S, N, P >::rotwell().

Referenced by core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::assign_random_rotamer(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::assign_random_rotamer_with_bias_bbdep(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::best_rotamer_energy(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::eval_rotameric_energy(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::fill_rotamer_vector(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::fill_rotamer_vector_bbdep(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::get_all_rotamer_samples(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_all_rotamer_samples_bbdep(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::get_rotamer(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::get_rotamer_bbdep(), and core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::interpolate_rotamers().

◆ load_unboundrot() [1/2]

void core::pack::dunbrack::load_unboundrot ( pose::Pose pose)

◆ load_unboundrot() [2/2]

void core::pack::dunbrack::load_unboundrot ( pose::Pose pose,
core::pose::PoseCOPs const &  unboundrot_poses 
)

Convenience function adds constraints to the supplied pose based on the list of provided poses.

References core::pose::Pose::add_constraint(), core::conformation::Residue::is_protein(), core::chemical::ResidueTypeBase::name(), core::pose::Pose::size(), TR(), and core::conformation::Residue::type().

◆ make_conditional_index() [1/2]

template<Size N>
Size core::pack::dunbrack::make_conditional_index ( utility::fixedsizearray1< Size, N >  num_bins,
Size  cond_i,
utility::fixedsizearray1< Size, N >  bin_true,
utility::fixedsizearray1< Size, N >  bin_false 
)
inline

◆ make_conditional_index() [2/2]

template<Size N>
Size core::pack::dunbrack::make_conditional_index ( utility::fixedsizearray1< Size, N >  num_bins,
Size  cond_i,
utility::fixedsizearray1< Size, N+1 >  bin_true,
utility::fixedsizearray1< Size, N+1 >  bin_false 
)
inline

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.

References core::chemical::element::N, and positive_pow().

◆ make_index() [1/3]

template<Size N>
Size core::pack::dunbrack::make_index ( utility::fixedsizearray1< Size, N > const &  num_bins,
utility::fixedsizearray1< Size, N > const &  bb_bin 
)
inline

◆ make_index() [2/3]

template<Size N>
Size core::pack::dunbrack::make_index ( utility::fixedsizearray1< Size, N > const &  num_bins,
utility::fixedsizearray1< Size, N+1 > const &  bb_bin 
)
inline

◆ make_index() [3/3]

template<Size N>
Size core::pack::dunbrack::make_index ( utility::fixedsizearray1< Size, N > const &  num_bins,
utility::vector1< Size > const &  bb_bin 
)
inline

Variant of above make_index function for bb_bin as a vector.

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

◆ polycubic_interpolation()

template<Size N>
void core::pack::dunbrack::polycubic_interpolation ( utility::fixedsizearray1< utility::fixedsizearray1< Real,(1<< N) >,(1<< N) >  n_derivs,
utility::fixedsizearray1< Real, N >  dbbp,
utility::fixedsizearray1< Real, N >  binwbb,
Real val,
utility::fixedsizearray1< Real, N > &  dvaldbb 
)

Perform cubic interpolation over each of N axes, using the 2^N derivatives at 2^N gridpoints.

The way encoding gridpoints and derivatives into a linear structure like this is actually pretty simple. Imagine the "right or left" part of a cube, or the "derivative taken or not" on a particular variable, as zero or one. Then "just the actual function value" maps to 000, the z derivative (for example) maps to 001, d2/dydz maps to 011, etc.

Parameters
[in]n_derivsis a 2^N x 2^N matrix: 2^N derivatives at 2^N gridpoints
[in]dbbpis how far along the bin our target point is, in each direction
[in]binwbbis the bin width in each direction
[out]valis the interpolated value
[out]dvaldbbare the interpolated derivatives

References core::chemical::element::N, and protocols::hybridization::val.

Referenced by core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::bbdep_nrchi_score(), core::scoring::rna::data::RNA_DMS_Potential::evaluate(), and core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::interpolate_rotamers().

◆ positive_pow()

Size core::pack::dunbrack::positive_pow ( Size  mantissa,
Size  exponent 
)

◆ product()

template<Size N>
Size core::pack::dunbrack::product ( utility::fixedsizearray1< Size, N >  factors)
inline

◆ psc_compare()

bool core::pack::dunbrack::psc_compare ( ProbSortClass  left,
ProbSortClass  right 
)

◆ rotamer_from_chi() [1/2]

void core::pack::dunbrack::rotamer_from_chi ( chemical::ResidueType const &  rsd_type,
ChiVector const &  chi,
RotVector rot 
)

helper that'll determine the rotamer bins for a residue_type by asking its associated rotamer library for that information. Takes chi vector as input parameter.

References rot().

◆ rotamer_from_chi() [2/2]

void core::pack::dunbrack::rotamer_from_chi ( conformation::Residue const &  rsd,
RotVector rot 
)

◆ rotamer_from_chi_02() [1/2]

void core::pack::dunbrack::rotamer_from_chi_02 ( ChiVector const &  chi,
chemical::AA const  res,
RotVector rot 
)

Do not bother calling this function if you're interested in staying up to date with changes in the rotamer library. Call rotamer_from_chi instead. It will eventually call this function iff dun10 is not set to true.

References DUNBRACK_MAX_SCTOR, and rot().

Referenced by core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::get_rotamer_from_chi_static().

◆ rotamer_from_chi_02() [2/2]

void core::pack::dunbrack::rotamer_from_chi_02 ( Real4 const &  chi,
chemical::AA const  res,
Size  nchi,
Size4 rot 
)

DEPRECATED convert between the real-valued chi dihedrals and the rotamer well indices.

This code comes directly from Roland Dunbrack. In certain rare edge cases, floating point comparison breaks down (e.g. ! x >= 120.0 && ! x < 120.0 ) and Dunbrack's code leaves the rotamer well unassigned – a value of zero. I'm modifying the code to guarantee that the rotamer well is assigned, but so that Dunbrack's original form is still recognizable. e.g. if (x) a; if (y) b; if (z) c; now reads as: if (x) a; else if ( y ) b; else /*if (z)*‍/ c;

References core::chemical::aa_ala, core::chemical::aa_arg, core::chemical::aa_asn, core::chemical::aa_asp, core::chemical::aa_gln, core::chemical::aa_glu, core::chemical::aa_gly, core::chemical::aa_his, core::chemical::aa_ile, core::chemical::aa_leu, core::chemical::aa_lys, core::chemical::aa_met, core::chemical::aa_phe, core::chemical::aa_pro, core::chemical::aa_trp, core::chemical::aa_tyr, core::chemical::num_canonical_aas, and rot().

◆ subtract_chi_angles()

Real core::pack::dunbrack::subtract_chi_angles ( Real  chi1,
Real  chi2,
chemical::AA const &  aa,
int  chino 
)

Find the difference in angles between two chi values using hard-coded symmetry information for the symmetric amino acids. Disappears for 2010 library.

2002 Library hard code symmetry information.

References core::pack::dunbrack::SingleResidueDunbrackLibrary::aa(), core::chemical::aa_asp, core::chemical::aa_glu, core::chemical::aa_phe, and core::chemical::aa_tyr.

Referenced by core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::eval_rotameric_energy(), protocols::rotamer_recovery::RRComparerChiDiff::measure_rotamer_recovery(), and protocols::features::RotamerFeatures::report_features().

◆ TR() [1/5]

static basic::Tracer core::pack::dunbrack::TR ( "core.pack.dunbrack"  )
static

◆ TR() [2/5]

static basic::Tracer core::pack::dunbrack::TR ( "core.pack.dunbrack.DunbrackConstraint"  )
static

Referenced by core::pack::dunbrack::RotamerLibrary::add_residue_library(), core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries(), core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_02_from_ASCII(), core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_02_from_binary(), core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_10_from_ASCII(), core::pack::dunbrack::RotamerLibrary::create_fa_dunbrack_libraries_10_from_binary(), core::pack::dunbrack::RotamerLibrary::decide_read_from_binary(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibraryParser::determine_rotamer_well_order(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibraryParser::do_all_checks_and_corrections(), core::pack::dunbrack::RotamerLibrary::get_library_by_aa(), core::pack::dunbrack::RotamerLibrary::get_library_name_10(), load_unboundrot(), core::pack::dunbrack::BBDepNRChiSample< P >::operator==(), core::pack::dunbrack::BBDepScoreInterpData< N >::operator==(), core::pack::dunbrack::BBIndNRChiSample< P >::operator==(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator==(), core::pack::dunbrack::SingleResidueDunbrackLibrary::operator==(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::operator==(), core::pack::dunbrack::RotamerLibrary::random_tempname(), core::pack::dunbrack::RotamerConstraint::score(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibraryParser::symmetrize_library(), core::pack::dunbrack::RotamerLibrary::validate_dunbrack_binary(), core::pack::dunbrack::RotamerLibrary::write_binary_fa_dunbrack_libraries_02(), and core::pack::dunbrack::RotamerLibrary::write_binary_fa_dunbrack_libraries_10().

◆ TR() [3/5]

static basic::Tracer core::pack::dunbrack::TR ( "core.pack.dunbrack.RotamerConstraint"  )
static

◆ TR() [4/5]

static basic::Tracer core::pack::dunbrack::TR ( "core.pack.dunbrack.RotamerLibrary"  )
static

◆ TR() [5/5]

static basic::Tracer core::pack::dunbrack::TR ( "core.pack.dunbrack.SingleResidueDunbrackLibraryCreator"  )
static

Variable Documentation

◆ DUNBRACK_FILE_DEFAULT_SCTOR

Size const core::pack::dunbrack::DUNBRACK_FILE_DEFAULT_SCTOR = 4

◆ DUNBRACK_MAX_BBTOR

Size const core::pack::dunbrack::DUNBRACK_MAX_BBTOR = 5

◆ DUNBRACK_MAX_SCTOR

Size const core::pack::dunbrack::DUNBRACK_MAX_SCTOR = 5

◆ FIVE

Size const core::pack::dunbrack::FIVE = 5

◆ FOUR

Size const core::pack::dunbrack::FOUR = 4

◆ ONE

Size const core::pack::dunbrack::ONE = 1

◆ THREE

Size const core::pack::dunbrack::THREE = 3

◆ TWO

Size const core::pack::dunbrack::TWO = 2