Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Functions | Variables
core::pack::dunbrack Namespace Reference

Namespaces

 cenrot
 

Classes

class  BBDepNRChiSample
 P for precision. More...
 
struct  BBDepScoreInterpData
 
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...
 
class  BBIndNRChiSample
 
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  ChiSet
 
struct  DunbrackAAParameterSet
 A small structure to hold overview parameters about the Dunbrack Libraries. More...
 
class  DunbrackConstraint
 
class  DunbrackConstraintCreator
 Mover creator for the DunbrackConstraint constraint. More...
 
class  DunbrackEnergy
 
class  DunbrackEnergyCreator
 
class  DunbrackRotamer
 forward declaration; default precision is DunbrackReal More...
 
class  DunbrackRotamerMeanSD
 forward declaration; default precision is DunbrackReal More...
 
class  DunbrackRotamerSampleData
 
class  PackedDunbrackRotamer
 forward declaration; default precision is DunbrackReal; More...
 
class  ProbSortClass
 
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  RotamerConstraint
 This class favors a particular rotamer at a particular position by reducing its Dunbrack energy. More...
 
class  RotamericData
 DOUG DOUG DOUG. More...
 
class  RotamericSingleResidueDunbrackLibrary
 
class  RotamericSingleResidueDunbrackLibraryParser
 A helper class to assist in parsing rotamer libraries. More...
 
class  RotamerLibrary
 A class to manage the Dunbrack Rotamer Libraries. 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  SingleResidueDunbrackLibrary
 
class  SingleResidueDunbrackLibraryConcrete
 
class  SingleResidueDunbrackLibraryCreator
 

Typedefs

typedef
utility::pointer::shared_ptr
< ChiSet
ChiSetOP
 
typedef
utility::pointer::shared_ptr
< ChiSet const > 
ChiSetCOP
 
typedef
utility::pointer::shared_ptr
< DunbrackConstraint
DunbrackConstraintOP
 
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
< RotamerConstraint
RotamerConstraintOP
 
typedef
utility::pointer::shared_ptr
< RotamerConstraint const > 
RotamerConstraintCOP
 
typedef
utility::pointer::shared_ptr
< RotamericSingleResidueDunbrackLibraryParser
RotamericSingleResidueDunbrackLibraryParserOP
 
typedef
utility::pointer::shared_ptr
< RotamericSingleResidueDunbrackLibraryParser
const > 
RotamericSingleResidueDunbrackLibraryParserCOP
 
typedef
utility::pointer::shared_ptr
< RotamerLibrary
RotamerLibraryOP
 
typedef
utility::pointer::shared_ptr
< RotamerLibrary const > 
RotamerLibraryCOP
 
typedef
utility::fixedsizearray1
< utility::fixedsizearray1
< Real, DUNBRACK_MAX_SCTOR >
, DUNBRACK_MAX_BBTOR
FiveReal4
 
typedef
utility::fixedsizearray1< Real,
DUNBRACK_MAX_SCTOR
Real4
 
typedef
utility::fixedsizearray1< Size,
DUNBRACK_MAX_SCTOR
Size4
 
typedef
utility::fixedsizearray1< Real,
DUNBRACK_MAX_BBTOR
Real5
 
typedef
utility::fixedsizearray1< Size,
DUNBRACK_MAX_BBTOR
Size5
 
typedef
utility::pointer::shared_ptr
< RotamerLibraryScratchSpace
RotamerLibraryScratchSpaceOP
 
typedef
utility::pointer::shared_ptr
< RotamerLibraryScratchSpace
const > 
RotamerLibraryScratchSpaceCOP
 
typedef
utility::pointer::shared_ptr
< SingleResidueDunbrackLibrary
SingleResidueDunbrackLibraryOP
 
typedef
utility::pointer::weak_ptr
< SingleResidueDunbrackLibrary
SingleResidueDunbrackLibraryAP
 
typedef
utility::pointer::shared_ptr
< SingleResidueDunbrackLibrary
const > 
SingleResidueDunbrackLibraryCOP
 
typedef
utility::pointer::weak_ptr
< SingleResidueDunbrackLibrary
const > 
SingleResidueDunbrackLibraryCAP
 
typedef
utility::pointer::shared_ptr
< SingleResidueDunbrackLibraryCreator
SingleResidueDunbrackLibraryCreatorOP
 
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)
 
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
 
 c
 DEPRECATED convert between the real-valued chi dihedrals and the rotamer well indices. More...
 
Size const DUNBRACK_MAX_BBTOR = 5
 
Size const DUNBRACK_MAX_SCTOR = 5
 
Size const DUNBRACK_FILE_DEFAULT_SCTOR = 4
 

Typedef Documentation

typedef utility::vector1< Real > core::pack::dunbrack::AngleVector
typedef utility::pointer::shared_ptr< ChiSet const > core::pack::dunbrack::ChiSetCOP
typedef utility::pointer::shared_ptr< ChiSet > core::pack::dunbrack::ChiSetOP
typedef utility::vector1< Real > core::pack::dunbrack::ChiVector
typedef utility::pointer::shared_ptr< DunbrackConstraint const > core::pack::dunbrack::DunbrackConstraintCOP
typedef utility::pointer::shared_ptr< DunbrackConstraint > core::pack::dunbrack::DunbrackConstraintOP

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

typedef utility::fixedsizearray1< utility::fixedsizearray1< Real, DUNBRACK_MAX_SCTOR >, DUNBRACK_MAX_BBTOR > core::pack::dunbrack::FiveReal4
typedef utility::fixedsizearray1< Real, DUNBRACK_MAX_SCTOR > core::pack::dunbrack::Real4
typedef utility::fixedsizearray1< Real, DUNBRACK_MAX_BBTOR > core::pack::dunbrack::Real5
typedef utility::pointer::shared_ptr< RotamerConstraint const > core::pack::dunbrack::RotamerConstraintCOP
typedef utility::pointer::shared_ptr< RotamerConstraint > core::pack::dunbrack::RotamerConstraintOP
typedef utility::pointer::shared_ptr< RotamerLibrary const > core::pack::dunbrack::RotamerLibraryCOP
typedef utility::pointer::shared_ptr< RotamerLibrary > core::pack::dunbrack::RotamerLibraryOP
typedef utility::vector1< Size > core::pack::dunbrack::RotVector
typedef utility::fixedsizearray1< Size, DUNBRACK_MAX_SCTOR > core::pack::dunbrack::Size4
typedef utility::fixedsizearray1< Size, DUNBRACK_MAX_BBTOR > core::pack::dunbrack::Size5

Function Documentation

bool core::pack::dunbrack::bit_is_set ( Size  num,
Size  num_len,
Size  pos 
)
inline
template<Size S, Size N>
DunbrackRotamer< S, N, Real > core::pack::dunbrack::increase_rotamer_precision ( DunbrackRotamer< S, N, DunbrackReal > const &  original_rotamer)
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 
)
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 
)
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 interpolate_polylinear_by_value_angles_degrees(), interpolate_polylinear_by_value_noangles(), and core::chemical::element::N.

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(), interpolate_rotamers(), and core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::interpolate_rotamers().

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(), and core::chemical::element::N.

Referenced by interpolate_polylinear_by_value().

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.

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(), and core::chemical::element::N.

Referenced by interpolate_polylinear_by_value(), and interpolate_polylinear_by_value_angles_degrees().

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 
)
void core::pack::dunbrack::load_unboundrot ( pose::Pose pose)
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().

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
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().

template<Size N>
Size core::pack::dunbrack::make_index ( utility::fixedsizearray1< Size, N > const &  num_bins,
utility::fixedsizearray1< Size, N > const &  bb_bin 
)
inline
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
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.

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.

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().

Size core::pack::dunbrack::positive_pow ( Size  mantissa,
Size  exponent 
)
template<Size N>
Size core::pack::dunbrack::product ( utility::fixedsizearray1< Size, N >  factors)
inline
bool core::pack::dunbrack::psc_compare ( ProbSortClass  left,
ProbSortClass  right 
)
void core::pack::dunbrack::rotamer_from_chi ( conformation::Residue const &  rsd,
RotVector &  rot 
)
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.

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.

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

void core::pack::dunbrack::rotamer_from_chi_02 ( Real4 const &  chi,
chemical::AA const  res,
Size  nchi,
Size4 &  rot 
)
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::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_deriv(), protocols::rotamer_recovery::RRComparerChiDiff::measure_rotamer_recovery(), and protocols::features::RotamerFeatures::report_features().

static basic::Tracer core::pack::dunbrack::TR ( "core.pack.dunbrack.SingleResidueDunbrackLibraryCreator"  )
static
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::BBIndNRChiSample< P >::operator==(), core::pack::dunbrack::BBDepScoreInterpData< N >::operator==(), core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >::operator==(), core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >::operator==(), core::pack::dunbrack::SingleResidueDunbrackLibrary::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().

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

Variable Documentation

core::pack::dunbrack::c

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)

Referenced by core::fragment::picking_old::vall::VallResidue::aa(), protocols::frag_picker::VallResidue::aa(), protocols::denovo_design::abego_vector(), protocols::denovo_design::components::IdealAbegoGenerator::add_cutpoints(), protocols::denovo_design::components::StructureData::add_prefix_to_segments(), protocols::splice::SpliceManager::add_sequence_constraints(), protocols::splice::Splice::add_sequence_constraints(), protocols::splice::SpliceManager::anchor_res(), protocols::protein_interface_design::movers::TaskAwareCsts::anchor_resnum(), core::conformation::Residue::annotated_name(), core::io::NomenclatureManager::annotated_sequence_from_modomics_oneletter_sequence(), protocols::simple_moves::PSSM2BfactorMover::apply(), protocols::evolution::AlignmentAAFinder::apply(), protocols::evolution::AlignmentGapInserter::apply(), protocols::task_operations::SeqprofConsensusOperation::apply(), protocols::parser::FragmentReader::apply(), protocols::membrane::MPMutateRelaxMover::apply(), protocols::sparta::ANN::applyVecNormalization(), protocols::cluster::calibur::Clustering::auxClustering(), core::scoring::fiber_diffraction::bessel_roots(), protocols::motifs::bpdefs2map(), protocols::cluster::calibur::Clustering::buildAdjacentLists(), protocols::frag_picker::scores::AtomPairConstraintsScore::cached_score(), protocols::frag_picker::scores::InterbondAngleScore::cached_score(), protocols::frag_picker::scores::DihedralConstraintsScore::cached_score(), core::pack::dunbrack::cenrot::CentroidRotamerSampleData::cal_delta_internal_coordinates(), core::pack::dunbrack::cenrot::CentroidRotamerSampleData::cal_distance_squared(), protocols::sparta::PDB::calc_ElectricField(), protocols::evaluation::PCA::calc_fit_R(), protocols::toolbox::calc_fit_R(), protocols::denovo_design::components::calc_paired_residues(), core::scoring::sc::ShapeComplementarityCalculator::CalcNeighborDistance(), core::sequence::AnnotatedSequence::calculate_map(), core::scoring::fiber_diffraction::FiberDiffractionEnergyDens::calculate_rho_fast2(), protocols::splice::Splice::ccd(), protocols::antibody::cdr_backbone_rmsds(), protocols::sic_dock::center_of_geom(), protocols::forge::components::VarLengthBuild::centroid_build(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::chain(), protocols::protein_interface_design::movers::HotspotDisjointedFoldTreeMover::chain(), protocols::task_operations::SelectResiduesWithinChainOperation::chain(), protocols::task_operations::RestrictIdentitiesAtAlignedPositionsOperation::chain(), protocols::task_operations::RestrictToAlignedSegmentsOperation::chain(), protocols::splice::AlignEndsMover::chain(), protocols::splice::Splice::chain_num(), protocols::protein_interface_design::movers::AddChainBreak::change_conformation(), protocols::protein_interface_design::movers::AddChainBreak::change_foldtree(), protocols::simple_filters::DeltaFilter::changing_baseline(), protocols::relax::membrane::check_mutants_ok(), protocols::denovo_design::components::FoldGraph::check_solution(), core::pack::task::operation::RotamerExplosion::chi(), protocols::simple_moves::sidechain_moves::SetChiMover::chinum(), protocols::matdes::ClashCheckFilter::clash_dist(), protocols::simple_moves::BBConRotMover::closure(), protocols::pockets::GenPharmacophore::cluster_KeyFeatures(), protocols::simple_filters::PoseComment::comment_exists(), protocols::evolution::AASynthesisFitnessCost::compute(), protocols::simple_filters::TMsAACompFilter::compute(), core::scoring::packstat::compute_cav_ball_clusters(), core::scoring::ResidualDipolarCoupling::compute_dipscore_nls(), protocols::comparative_modeling::LoopRelaxMover::compute_rmsd(), protocols::task_operations::SeqprofConsensusOperation::conservation_cutoff_aligned_segments(), protocols::task_operations::SeqprofConsensusOperation::conservation_cutoff_protein_interface_design(), protocols::idealize::IdealizeMover::constraints_only(), protocols::matdes::InterfacePackingFilter::contact_dist(), protocols::evolution::NucleotideMutation::continue_if_silent(), protocols::task_operations::SeqprofConsensusOperation::convert_scores_to_probabilities(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::coord_sdev(), core::chemical::orbitals::AssignOrbitals::Coordinates_TriganolPlanar_bondedto1atom_helper(), protocols::membrane::create_membrane_multi_partner_foldtree_anchor_tmcom(), protocols::monte_carlo::GenericSimulatedAnnealer::create_tag(), protocols::splice::FindEndpointsOperation::Cterm_offset(), protocols::splice::ResidueBBDofs::cut_site(), protocols::splice::SpliceManager::cut_site(), protocols::pockets::dD_dv1(), protocols::pockets::dD_dv2(), protocols::pockets::dD_dv3(), core::import_pose::RNA_DeNovoSetup::de_novo_setup_from_options(), protocols::splice::SpliceOut::delete_hairpin_c(), protocols::splice::Splice::delete_hairpin_c(), protocols::splice::SpliceOut::delete_hairpin_n(), protocols::splice::Splice::delete_hairpin_n(), protocols::forge::components::BDR::design_refine(), protocols::forge::remodel::RemodelMover::design_refine(), protocols::splice::Splice::design_shell(), protocols::splice::SpliceManager::design_shell(), protocols::jumping::dis_get_ncac(), core::sequence::DP_Matrix::DP_Matrix(), core::membrane::enclosing_angles(), protocols::cluster::calibur::Clustering::estD(), core::scoring::dna::DNA_BasePotential::eval_base_pair_derivative(), core::scoring::dna::DNA_BasePotential::eval_base_step_derivative(), protocols::indexed_structure_store::extract_residue_entries(), core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary::fill_rotamer_vector(), protocols::docking::DockingProtocol::finalize_setup(), protocols::simple_filters::TMsAACompFilter::find_aa_composition(), core::chemical::find_chi_bonds(), protocols::frag_picker::VallProvider::find_chunk(), protocols::pockets::Find_Closest_Intersect_SQ(), protocols::simple_filters::HelixHelixAngleFilter::find_closest_pnts(), protocols::fold_from_loops::utils::find_cutpoint_from_secondary_structure(), protocols::denovo_design::components::StructureData::find_segment(), protocols::denovo_design::components::StructureData::find_segment_name(), protocols::denovo_design::components::ExtendedPoseBuilder::find_template_segments(), protocols::pockets::PocketGrid::findExemplars(), protocols::evolution::AASynthesisFitnessCost::fitnessCostPerATP(), core::select::residue_selector::SecondaryStructureSelector::fix_secstruct_definition(), protocols::forge::methods::fold_tree_from_pose(), core::scoring::frdc(), core::scoring::frdcDa(), core::scoring::frdcDaR(), core::scoring::frdcR(), protocols::ligand_docking::Translate::gaussian_translate_ligand(), protocols::indexed_structure_store::movers::DirectSegmentLookupMover::generate_result_pose(), protocols::ligand_docking::generate_unique_name(), protocols::antibody::design::get_all_graft_permutations(), protocols::pockets::SmallMol::get_center(), core::pose::motif::get_frame_vee(), core::kinematics::TreeVizBuilder::get_ft_node_bounds(), core::pose::symmetry::get_full_intracomponent_subs(), core::scoring::disulfides::RT_helper::get_ncac(), protocols::jumping::get_ncac(), protocols::toolbox::KClusterElement::get_ndx_list(), protocols::fold_from_loops::utils::Nub::get_nub_pieces(), core::scoring::dna::DirectReadoutPotential::get_xy_bin(), core::scoring::dna::DirectReadoutPotential::get_z_bin(), protocols::sparta::PDB::getBondAngle(), protocols::denovo_design::components::StructureData::has_segment_group(), core::scoring::SecondaryStructurePotential::identify_ss(), protocols::evolution::AlignmentCleanerTools::indel_motif(), protocols::simple_moves::RepeatPropagationMover::initial_constrained_residues(), protocols::cluster::calibur::Clustering::initialize(), core::import_pose::options::RNA_FragmentMonteCarloOptions::initialize_from_tag(), core::scoring::hbonds::HBondDatabase::initialize_HBPoly1D(), protocols::frag_picker::quota::QuotaCollector::insert(), protocols::frag_picker::quota::SecondaryStructurePool::insert(), core::scoring::motif::Xfrag::insert(), protocols::frag_picker::GrabAllCollector::insert(), protocols::frag_picker::BoundedCollector< CompareTotalScore >::insert(), protocols::frag_picker::quota::ABEGO_SS_Pool::insert(), core::import_pose::libraries::ChunkSet::insert_protein_chunk_into_pose(), protocols::evaluation::PCA::jacobi(), protocols::toolbox::jacobi(), core::scoring::jacobi(), protocols::cluster::calibur::jacobi3(), core::scoring::jacobi3(), core::pack::task::operation::RestrictAbsentCanonicalAAS::keep_aas(), core::scoring::fiber_diffraction::KromerMann::KromerMann(), core::scoring::electron_density::KromerMann::KromerMann(), protocols::antibody::AntibodyDatabaseManager::load_cdr_design_data_for_cdrs(), protocols::antibody::AntibodyDatabaseManager::load_cdr_sequences(), core::scoring::saxs::FormFactorManager::load_ff(), core::scoring::saxs::FormFactorManager::load_ff_from_db(), protocols::splice::Splice::locked_res_id(), protocols::frag_picker::scores::MakeFragmentAllAtomCrmsd::make(), protocols::denovo_design::components::make_lengths_str(), protocols::membrane::MPMutateRelaxMover::make_mutations(), protocols::denovo_design::components::map_mgs(), protocols::denovo_design::components::map_nodes(), protocols::protein_interface_design::movers::PlacementAuctionMover::max_cb_cb_dist(), core::scoring::etable::MembEtable::modify_pot(), core::scoring::etable::Etable::modify_pot_one_pair(), protocols::simple_filters::StemFinder::neighbor_separation(), protocols::pockets::PocketGrid::newSearch(), protocols::frag_picker::FragmentPicker::nonlocal_pairs(), protocols::frag_picker::operator<<(), protocols::denovo_design::components::operator<<(), protocols::ligand_docking::LigandDockProtocol::optimize_orientation3(), core::chemical::gasteiger::parse_enum_set(), protocols::denovo_design::parse_motif_string(), protocols::denovo_design::components::pose_matches_description(), protocols::denovo_design::components::prune_unpaired_residues(), protocols::frag_picker::FragmentPicker::quota_protocol(), core::scoring::motif::random_rotation(), protocols::frag_picker::JCouplingIO::read(), protocols::cluster::calibur::SimPDB::read(), protocols::frag_picker::scores::AtomPairConstraintsScore::read_constraints(), protocols::frag_picker::scores::InterbondAngleScore::read_constraints(), protocols::frag_picker::scores::DihedralConstraintsScore::read_constraints(), core::scoring::func::FadeFunc::read_data(), core::fragment::SecstructSRFD::read_data(), protocols::constraints_additional::SequenceCoupling1BDConstraint::read_def(), protocols::jumping::read_disulf_pairing_list(), protocols::frag_picker::read_fragment_candidates(), core::scoring::constraints::ConstraintIO::read_individual_constraint_new(), protocols::loops::read_loop_fragments(), protocols::splice::SpliceSegment::read_many(), core::scoring::dssp::read_pairing_list(), protocols::splice::SpliceSegment::read_pdb_profile_file(), protocols::topology_broker::PseudocontactShiftEnergyController::read_tag(), protocols::topology_broker::PseudocontactShiftEnergyController_Ts1::read_tag(), protocols::topology_broker::PseudocontactShiftEnergyController_Ts4::read_tag(), protocols::topology_broker::PseudocontactShiftEnergyController_Ts3::read_tag(), protocols::topology_broker::PseudocontactShiftEnergyController_Ts2::read_tag(), protocols::denovo_design::components::StructureData::rename_segment(), protocols::splice::Splice::repack_shell(), protocols::splice::SpliceManager::repack_shell(), protocols::simple_moves::RepeatPropagationMover::repeat_ligand_constraints(), protocols::rosetta_scripts::ParsedProtocol::report_call_order(), protocols::splice::report_coordinate_constraints(), protocols::features::SaltBridgeFeatures::report_features(), protocols::splice::SpliceManager::residue_diff(), protocols::hotspot_hashing::StubGenerator::residueStubOrientFrame(), protocols::splice::DesignInterfacesOperation::restrict_to_repacking_chain1(), protocols::splice::DesignInterfacesOperation::restrict_to_repacking_chain2(), protocols::denovo_design::architects::BetaSheetArchitect::retrieve_register_shifts(), protocols::simple_filters::StemFinder::rmsd(), protocols::simple_filters::SSMotifFinder::rmsd(), protocols::evaluation::PCA::rotate_vec(), protocols::toolbox::rotate_vec(), protocols::sic_dock::scores::MotifHashRigidScore::score(), core::scoring::fiber_diffraction::secant(), protocols::denovo_design::components::StructureData::segment_group(), protocols::denovo_design::connection::ConnectionArchitect::segment_pairs(), protocols::moves::PyMOLMover::send_ss(), protocols::splice::AlignEndsMover::sequence_separation(), protocols::antibody::task_operations::AddCDRProfilesOperation::set_cdrs(), protocols::nmr::pcs::PCSLigandTransformMover::set_chain(), protocols::sparta::ANN::set_input_code(), core::pose::set_output_res_and_chain(), protocols::medal::setup_atom_pair_constraints(), protocols::rna::denovo::RNA_DeNovoPoseInitializer::setup_fold_tree_through_build_full_model_info(), core::scoring::fiber_diffraction::setup_form_factors(), protocols::rna::denovo::movers::RNA_DeNovoProtocolMover::setup_obligate_pair(), protocols::splice::SpliceOut::source_from_res(), protocols::splice::SpliceOut::source_to_res(), core::sequence::split_sequence_motif(), protocols::membrane::split_topology_by_chain_noshift(), core::fragment::picking_old::vall::VallResidue::ss(), protocols::frag_picker::VallResidue::ss(), protocols::frag_picker::VallResidue::ss_str(), protocols::protein_interface_design::star_fold_tree(), protocols::protein_interface_design::movers::SetAtomTree::start_tree_at_chain(), core::scoring::methods::ProQ_Energy::stride_feature(), protocols::hotspot_hashing::stub_from_points(), protocols::hotspot_hashing::stub_to_points(), core::scoring::sc::MolecularSurfaceCalculator::SubDiv(), core::scoring::methods::ResidualDipolarCouplingEnergy_Rohl::svdcmp(), protocols::ligand_docking::Translate::uniform_translate_ligand(), protocols::denovo_design::components::StructureData::update_numbering(), protocols::match::Bool3DGridKinemageWriter::write_grid_to_kinemage(), and protocols::features::HBondFeatures::write_hbond_chem_types_table_schema().

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