Rosetta 3.4
Public Types | Public Member Functions | Protected Member Functions
core::pack::rotamer_set::RotamerSet_ Class Reference

Container for a set of rotamers for use in packing. Rotamers are sorted into groups of the same residue type. Offsets into these rotamer groups are maintained by this class, as is information concerning the "original rotamer" -- the rotamer present on the input pose before packing began. More...

#include <RotamerSet_.hh>

Inheritance diagram for core::pack::rotamer_set::RotamerSet_:
Inheritance graph
[legend]
Collaboration diagram for core::pack::rotamer_set::RotamerSet_:
Collaboration graph
[legend]

List of all members.

Public Types

typedef conformation::ResidueOP ResidueOP
typedef conformation::ResidueCOP ResidueCOP
typedef pack::dunbrack::ChiSetOP ChiSetOP
typedef
scoring::trie::RotamerTrieBaseOP 
RotamerTrieBaseOP

Public Member Functions

 RotamerSet_ ()
virtual ~RotamerSet_ ()
virtual void build_rotamers (pose::Pose const &the_pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, graph::GraphCOP packer_neighbor_graph, bool use_neighbor_context=true)
virtual void build_dependent_rotamers (RotamerSets const &rotamer_sets, pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, graph::GraphCOP packer_neighbor_graph)
 Build rotamers that depend on positions of rotamers built in a previous pass.
virtual void add_rotamer (conformation::Residue const &rotamer)
virtual Size get_n_residue_types () const
virtual Size get_residue_type_begin (Size which_restype) const
virtual Size get_n_rotamers_for_residue_type (Size which_restype) const
virtual Size get_residue_type_index_for_rotamer (Size which_rotamer) const
 Rotamers i to i+j of all the same residue type are grouped together. This function returns the index of the residue type in a contiguous block of rotamers. E.g. rotamers 100 to 120 might all be lysine rotamers, and might be the 8th residue type, with the first 7 residue types spanning rotamers 1 to 99. If new lysine rotamers are appended to the end of the rotamer set, they are considered to be in a separate residue type block. Lysine rotamers 200 to 210 might be block 15 while lysine rotamers 100 to 120 are still block 7.
virtual void compute_one_body_energies (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, graph::GraphCOP packer_neighbor_graph, utility::vector1< core::PackerEnergy > &energies) const
 Computes the packers "one body energies" for the set of rotamers.
virtual void compute_one_body_energy_maps (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, graph::GraphCOP packer_neighbor_graph, utility::vector1< scoring::EnergyMap > &energies) const
 for OPTE
virtual Size num_rotamers () const
virtual Size id_for_current_rotamer () const
virtual conformation::ResidueCOP rotamer (Size rot_id) const
virtual Rotamers::const_iterator begin () const
virtual Rotamers::const_iterator end () const
virtual conformation::ResidueOP nonconst_rotamer (Size rot_id)
virtual void store_trie (Size method_enum_id, conformation::AbstractRotamerTrieOP trie)
virtual
conformation::AbstractRotamerTrieCOP 
get_trie (Size method_enum_id) const
virtual void drop_rotamer (Size rot_id)
 removes a single rotamer and causes a rotamer index update
virtual void drop_rotamers (utility::vector1< bool > const &rotamers_to_delete)
 rotamers_to_delete must be of size nrotmaers -- each position in the array that's "true" is removed from the set of rotamers
virtual void drop_rotamers_by_index (utility::vector1< Size > const &rotamer_indices_to_delete)
 deletes the rotamers in the list with the given indices. The indices of these rotamers is presumed to be those before any delete operation. e.g. if there are four rotamers, and rotamer_indices_to_delete includes 1 & 3, then the rotamers that will remain are the rotamers originally indexed as 2 and 4, even though their new indices will be 1 & 2.
void set_extra_samples (task::PackerTask const &task, int num_10A_neighbors, int chi, chemical::ResidueTypeCAP concrete_residue, utility::vector1< Real > &extra_chi_steps) const
 Pushes standard-deviation multiples that should be sampled for this residue -- if this residue has more neighbors within 10A than the task-specified cutoff for buriedness, then extra rotamer samples are added to the extra_chi_steps vector, otherwise, the vector is not modified.
virtual core::PackerEnergy bump_check (ResidueCOP rotamer, scoring::ScoreFunction const &sf, pose::Pose const &pose, task::PackerTask const &task, 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.

Protected Member Functions

virtual void build_rotamers_for_concrete_virt (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, chemical::ResidueTypeCAP concrete_residue, graph::GraphCOP packer_neighbor_graph, bool use_neighbor_context=true)
 Creates a set of rotamers for a particular residue type (the concrete residue type) while relying on the rotamer- building instructions within the PackerTask. Use the residue in the input pose at position resid_ as the existing residue.
void build_rotamers_for_concrete (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, chemical::ResidueTypeCAP concrete_residue, conformation::Residue const &existing_residue, graph::GraphCOP packer_neighbor_graph, bool use_neighbor_context=true)
 Creates a set of rotamers for a particular residue type (the concrete residue type) while relying on the rotamer- building instructions within the PackerTask.
void build_dependent_rotamers_for_concrete (RotamerSets const &rotamer_sets, pose::Pose const &pose, scoring::ScoreFunction const &, task::PackerTask const &task, conformation::Residue const &existing_residue, chemical::ResidueTypeCAP concrete_residue, graph::GraphCOP packer_neighbor_graph)
 Build rotamers of a specific type that depend on positions of rotamers built in a previous pass Use an input "existing residue" which may or may not reflect the coordinates of the residue at pose.residue( resid_ );.
void build_optimize_H_rotamers (pose::Pose const &pose, task::PackerTask const &task, chemical::ResidueTypeCAP concrete_residue, conformation::Residue const &existing_residue)
 Creates a sets of rotamers for an "optimize H" repacking.

Detailed Description

Container for a set of rotamers for use in packing. Rotamers are sorted into groups of the same residue type. Offsets into these rotamer groups are maintained by this class, as is information concerning the "original rotamer" -- the rotamer present on the input pose before packing began.


Member Typedef Documentation


Constructor & Destructor Documentation

core::pack::rotamer_set::RotamerSet_::RotamerSet_ ( )
core::pack::rotamer_set::RotamerSet_::~RotamerSet_ ( ) [virtual]

Member Function Documentation

void core::pack::rotamer_set::RotamerSet_::add_rotamer ( conformation::Residue const &  rotamer) [virtual]
virtual Rotamers::const_iterator core::pack::rotamer_set::RotamerSet_::begin ( ) const [inline, virtual]
void core::pack::rotamer_set::RotamerSet_::build_dependent_rotamers ( RotamerSets const &  rotamer_sets,
pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
task::PackerTask const &  task,
graph::GraphCOP  packer_neighbor_graph 
) [virtual]
void core::pack::rotamer_set::RotamerSet_::build_dependent_rotamers_for_concrete ( RotamerSets const &  rotamer_sets,
pose::Pose const &  pose,
scoring::ScoreFunction const &  ,
task::PackerTask const &  task,
conformation::Residue const &  existing_residue,
chemical::ResidueTypeCAP  concrete_residue,
graph::GraphCOP  packer_neighbor_graph 
) [protected]

Build rotamers of a specific type that depend on positions of rotamers built in a previous pass Use an input "existing residue" which may or may not reflect the coordinates of the residue at pose.residue( resid_ );.

References core::pack::rotamer_set::build_dependent_water_rotamers(), core::conformation::Residue::chain(), and core::pack::rotamer_set::RotamerSet::resid().

Referenced by build_dependent_rotamers().

void core::pack::rotamer_set::RotamerSet_::build_optimize_H_rotamers ( pose::Pose const &  pose,
task::PackerTask const &  task,
chemical::ResidueTypeCAP  concrete_residue,
conformation::Residue const &  existing_residue 
) [protected]
void core::pack::rotamer_set::RotamerSet_::build_rotamers ( pose::Pose const &  the_pose,
scoring::ScoreFunction const &  scorefxn,
task::PackerTask const &  task,
graph::GraphCOP  packer_neighbor_graph,
bool  use_neighbor_context = true 
) [virtual]
void core::pack::rotamer_set::RotamerSet_::build_rotamers_for_concrete ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
task::PackerTask const &  task,
chemical::ResidueTypeCAP  concrete_residue,
conformation::Residue const &  existing_residue,
graph::GraphCOP  packer_neighbor_graph,
bool  use_neighbor_context = true 
) [protected]

Creates a set of rotamers for a particular residue type (the concrete residue type) while relying on the rotamer- building instructions within the PackerTask.

References core::pack::rotamer_set::build_dna_rotamers(), core::pack::rotamer_set::build_independent_water_rotamers(), build_optimize_H_rotamers(), core::pack::rotamer_set::build_rna_rotamers(), bump_check(), core::pack::task::PackerTask::bump_check(), core::conformation::Residue::chain(), core::conformation::Residue::clone(), core::pose::Pose::conformation(), core::conformation::ResidueFactory::create_residue(), core::conformation::Residue::create_rotamer(), core::pack::rotamer_set::DELETE_PREVIOUS_ROTAMER, core::pack::rotamer_set::DELETE_ROTAMER, core::pose::Pose::energies(), core::pack::dunbrack::expand_proton_chi(), core::pack::dunbrack::RotamerLibrary::get_instance(), core::graph::Graph::get_node(), core::pack::task::PackerTask::include_current(), core::pack::rotamer_set::KEEP_ROTAMER, core::pack::task::PackerTask::max_rotbump_energy(), core::conformation::Residue::name(), core::conformation::Residue::nbr_atom_xyz(), core::graph::Node::num_neighbors_counting_self(), num_rotamers(), core::pack::rotamer_set::RotamerSet::resid(), core::pack::task::PackerTask::residue_task(), rot(), core::conformation::Residue::seqpos(), set_extra_samples(), core::scoring::Energies::tenA_neighbor_graph(), and core::pack::rotamer_set::tt().

Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSet::build_rotamers_for_concrete_virt(), and build_rotamers_for_concrete_virt().

void core::pack::rotamer_set::RotamerSet_::build_rotamers_for_concrete_virt ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
task::PackerTask const &  task,
chemical::ResidueTypeCAP  concrete_residue,
graph::GraphCOP  packer_neighbor_graph,
bool  use_neighbor_context = true 
) [protected, virtual]

Creates a set of rotamers for a particular residue type (the concrete residue type) while relying on the rotamer- building instructions within the PackerTask. Use the residue in the input pose at position resid_ as the existing residue.

This will check for rotamer/background collisions if the PackerTask's bump_check boolean is true -- it uses the bump_check_{sidechain/full} methods defined by the energy methods contained in the scorefxn object

Reimplemented in protocols::flexpack::rotamer_set::FlexbbRotamerSet.

References build_rotamers_for_concrete(), core::pack::rotamer_set::RotamerSet::resid(), and core::pose::Pose::residue().

Referenced by build_rotamers().

core::PackerEnergy core::pack::rotamer_set::RotamerSet_::bump_check ( ResidueCOP  rotamer,
scoring::ScoreFunction const &  sf,
pose::Pose const &  pose,
task::PackerTask const &  task,
graph::GraphCOP  packer_neighbor_graph 
) const [virtual]

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.

Bump check does not include long range energies, though, maybe this should change.

Reimplemented in protocols::flexpack::rotamer_set::FlexbbRotamerSet.

References core::scoring::ScoreFunction::bump_check_backbone(), core::scoring::ScoreFunction::bump_check_full(), core::scoring::EMapVector::dot(), core::pack::task::PackerTask::pack_residue(), core::pack::rotamer_set::RotamerSet::resid(), core::pose::Pose::residue(), and core::scoring::ScoreFunction::weights().

Referenced by protocols::toolbox::rotamer_set_operations::RigidBodyMoveRSO::alter_rotamer_set(), and build_rotamers_for_concrete().

void core::pack::rotamer_set::RotamerSet_::compute_one_body_energies ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scorefxn,
task::PackerTask const &  task,
graph::GraphCOP  packer_neighbor_graph,
utility::vector1< core::PackerEnergy > &  energies 
) const [virtual]
void core::pack::rotamer_set::RotamerSet_::compute_one_body_energy_maps ( pose::Pose const &  pose,
scoring::ScoreFunction const &  sf,
task::PackerTask const &  task,
graph::GraphCOP  packer_neighbor_graph,
utility::vector1< scoring::EnergyMap > &  energies 
) const [virtual]
void core::pack::rotamer_set::RotamerSet_::drop_rotamer ( Size  rot_id) [virtual]

removes a single rotamer and causes a rotamer index update

O(n) operation; if you have a lot of rotamers you want to remove, use drop_rotamers() instead.

Implements core::pack::rotamer_set::RotamerSet.

void core::pack::rotamer_set::RotamerSet_::drop_rotamers ( utility::vector1< bool > const &  rotamers_to_delete) [virtual]

rotamers_to_delete must be of size nrotmaers -- each position in the array that's "true" is removed from the set of rotamers

Implements core::pack::rotamer_set::RotamerSet.

Referenced by drop_rotamers_by_index().

void core::pack::rotamer_set::RotamerSet_::drop_rotamers_by_index ( utility::vector1< Size > const &  rotamer_indices_to_delete) [virtual]

deletes the rotamers in the list with the given indices. The indices of these rotamers is presumed to be those before any delete operation. e.g. if there are four rotamers, and rotamer_indices_to_delete includes 1 & 3, then the rotamers that will remain are the rotamers originally indexed as 2 and 4, even though their new indices will be 1 & 2.

Implements core::pack::rotamer_set::RotamerSet.

References drop_rotamers().

virtual Rotamers::const_iterator core::pack::rotamer_set::RotamerSet_::end ( ) const [inline, virtual]
Size core::pack::rotamer_set::RotamerSet_::get_n_residue_types ( ) const [virtual]
Size core::pack::rotamer_set::RotamerSet_::get_n_rotamers_for_residue_type ( Size  which_restype) const [virtual]
Size core::pack::rotamer_set::RotamerSet_::get_residue_type_begin ( Size  which_restype) const [virtual]
Size core::pack::rotamer_set::RotamerSet_::get_residue_type_index_for_rotamer ( Size  which_rotamer) const [virtual]

Rotamers i to i+j of all the same residue type are grouped together. This function returns the index of the residue type in a contiguous block of rotamers. E.g. rotamers 100 to 120 might all be lysine rotamers, and might be the 8th residue type, with the first 7 residue types spanning rotamers 1 to 99. If new lysine rotamers are appended to the end of the rotamer set, they are considered to be in a separate residue type block. Lysine rotamers 200 to 210 might be block 15 while lysine rotamers 100 to 120 are still block 7.

Implements core::pack::rotamer_set::RotamerSet.

conformation::AbstractRotamerTrieCOP core::pack::rotamer_set::RotamerSet_::get_trie ( Size  method_enum_id) const [virtual]
Size core::pack::rotamer_set::RotamerSet_::id_for_current_rotamer ( ) const [virtual]
conformation::ResidueOP core::pack::rotamer_set::RotamerSet_::nonconst_rotamer ( Size  rot_id) [virtual]

In handing out non-const data, the guarantee of rotamer-type contiguity within the rotamers_ array, and the correspondence of the rotamer offset data is lost. Future access to rotamer offset data first requires an update of the rotamer offset arrays.

Implements core::pack::rotamer_set::RotamerSet.

Size core::pack::rotamer_set::RotamerSet_::num_rotamers ( ) const [virtual]
conformation::ResidueCOP core::pack::rotamer_set::RotamerSet_::rotamer ( Size  rot_id) const [virtual]
void core::pack::rotamer_set::RotamerSet_::set_extra_samples ( task::PackerTask const &  task,
int  num_10A_neighbors,
int  chi,
chemical::ResidueTypeCAP  concrete_residue,
utility::vector1< Real > &  extra_chi_steps 
) const
void core::pack::rotamer_set::RotamerSet_::store_trie ( Size  method_enum_id,
conformation::AbstractRotamerTrieOP  trie 
) [virtual]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines