![]() |
Rosetta Core
2014.35
|
Container for a subset of rotamers that have been created by another rotamer set. This subset object copies pointers to the rotamers contained in another set, as opposed to cloning the rotamers. It's main purpose is to manage the bookkeeping involved in packing with a subset of rotamers (when it might be faster to use a subset and to create an interaction graph specifically for that subset than to simply pass an abreviated list of rotamers to the SimAnnealer with the "rot_to_pack" vector). More...
#include <RotamerSubset.hh>
Public Member Functions | |
RotamerSubset (RotamerSet &rotset, utility::vector1< Size > const &rotamer_subset) | |
virtual | ~RotamerSubset () |
virtual void | add_rotamer (conformation::Residue const &rotamer) |
virtual Size | get_n_residue_types () const |
Return the number of different residue types; two residue types are considered different if they have a different address. More... | |
virtual Size | get_n_residue_groups () const |
Return the number of different residue groups. Two residue types are considered to be part of the same block of residues if 1. they have the same address or 2. they have the same "name3" and the same neighbor radius. More... | |
virtual Size | get_residue_type_begin (Size which_restype) const |
Return the first rotamer of a particular residue type. More... | |
virtual Size | get_residue_group_begin (Size which_resgroup) const |
Return the first rotamer that belongs to a particular rotamer group. More... | |
virtual Size | get_n_rotamers_for_residue_type (Size which_restype) const |
virtual Size | get_n_rotamers_for_residue_group (Size which_resgroup) const |
virtual Size | get_residue_type_index_for_rotamer (Size which_rotamer) const |
given a rotamer id, return an int which represents a type for this rotamer. More... | |
virtual Size | get_residue_group_index_for_rotamer (Size which_rotamer) const |
given a rotamer id, return an int which represents a type for this rotamer. INCOMPLETELY IMPLEMENTED. ANDREW: FIX THIS. More... | |
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 More... | |
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 More... | |
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. More... | |
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) |
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 |
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 More... | |
![]() | |
RotamerSet () | |
virtual | ~RotamerSet () |
void | set_resid (Size resid) |
virtual Size | resid () const |
![]() | |
RotamerSetBase () | |
virtual | ~RotamerSetBase () |
BasicDataCache & | data () |
BasicDataCache indexed by enum in core/pack/rotamer_set/RotamerSetCacheableDataType.hh. More... | |
BasicDataCache const & | data () const |
BasicDataCache indexed by enum in core/pack/rotamer_set/RotamerSetCacheableDataType.hh. More... | |
Private Member Functions | |
RotamerSubset (RotamerSubset const &) | |
(private) No copy-constructor More... | |
void | steal_rotamer (conformation::ResidueOP rotamer) |
declare that a new block of residue types has begun, and that new residues are about to be pushed back. NOT IMPLEMENTED. More... | |
void | prepare_for_new_residue_type (core::chemical::ResidueType const &restype) |
declare that a new block of residue types has begun, and that new residues are about to be pushed back. More... | |
bool | different_restype (core::chemical::ResidueType const &rt1, core::chemical::ResidueType const &rt2) const |
should two residue types be considered the same residue type? More... | |
bool | different_resgroup (core::chemical::ResidueType const &rt1, core::chemical::ResidueType const &rt2) const |
should two residue types be considered to belong to the same residue-type group? More... | |
void | new_residue_type () |
This function should not be called directly – it ought to be called only from prepare_for_new_residue_type. More... | |
void | new_residue_group () |
This function should not be called directly – it ought to be called only from prepare_for_new_residue_type. More... | |
void | push_back_rotamer (conformation::ResidueOP) |
appends a rotamer to the list of rotamers, and increments the count for the number of rotamers for the current value of n_residue_types. More... | |
void | update_rotamer_offsets () const |
Container for a subset of rotamers that have been created by another rotamer set. This subset object copies pointers to the rotamers contained in another set, as opposed to cloning the rotamers. It's main purpose is to manage the bookkeeping involved in packing with a subset of rotamers (when it might be faster to use a subset and to create an interaction graph specifically for that subset than to simply pass an abreviated list of rotamers to the SimAnnealer with the "rot_to_pack" vector).
core::pack::rotamer_set::RotamerSubset::RotamerSubset | ( | RotamerSet & | rotset, |
utility::vector1< Size > const & | rotamer_subset | ||
) |
|
virtual |
|
private |
(private) No copy-constructor
|
virtual |
|
inlinevirtual |
Implements core::pack::rotamer_set::RotamerSet.
References rotamers_.
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
|
virtual |
for OptE
Implements core::pack::rotamer_set::RotamerSet.
|
private |
should two residue types be considered to belong to the same residue-type group?
The logic to determine if two residue types should be classified as part of the same group. The thinking is as follows. Two residue types are in the same group if they have the same residue type. They're in the same group if their residue types differ, but they have the same name3 (HIS vs HIS_D have the same name3) and they have the same neighbor radius (SER and PhosphoSER should have different groups). The goal is to organize residue types together which will be packed together (as happens in multistate design with HIS and HISD) and that have the same reach (as is needed for the AANeighborSparseMatrix).
References core::chemical::ResidueType::name3(), and core::chemical::ResidueType::nbr_radius().
Referenced by prepare_for_new_residue_type(), and update_rotamer_offsets().
|
private |
should two residue types be considered the same residue type?
Referenced by prepare_for_new_residue_type(), and update_rotamer_offsets().
|
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.
References id_for_current_rotamer_, rotamer_offsets_require_update_, rotamers_, and update_rotamer_offsets().
|
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.
References current_rotamer_copy_, id_for_current_rotamer_, rotamer_offsets_require_update_, rotamers_, update_rotamer_offsets(), and utility_exit_with_message.
Referenced by drop_rotamers_by_index().
|
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(), and rotamers_.
|
inlinevirtual |
Implements core::pack::rotamer_set::RotamerSet.
References rotamers_.
|
virtual |
Return the number of different residue groups. Two residue types are considered to be part of the same block of residues if 1. they have the same address or 2. they have the same "name3" and the same neighbor radius.
Implements core::pack::rotamer_set::RotamerSet.
References n_residue_groups_, and update_rotamer_offsets().
|
virtual |
Return the number of different residue types; two residue types are considered different if they have a different address.
Implements core::pack::rotamer_set::RotamerSet.
References n_residue_types_, and update_rotamer_offsets().
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References n_residue_groups_, n_rotamers_for_resgroup_, and update_rotamer_offsets().
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References n_residue_types_, n_rotamers_for_restype_, and update_rotamer_offsets().
|
virtual |
Return the first rotamer that belongs to a particular rotamer group.
Implements core::pack::rotamer_set::RotamerSet.
References n_residue_groups_, residue_group_rotamers_begin_, and update_rotamer_offsets().
|
virtual |
given a rotamer id, return an int which represents a type for this rotamer. INCOMPLETELY IMPLEMENTED. ANDREW: FIX THIS.
Implements core::pack::rotamer_set::RotamerSet.
|
virtual |
Return the first rotamer of a particular residue type.
Implements core::pack::rotamer_set::RotamerSet.
References n_residue_types_, residue_type_rotamers_begin_, and update_rotamer_offsets().
|
virtual |
given a rotamer id, return an int which represents a type for this rotamer.
given a rotamer id, return an int which represents a type for this rotamer. INCOMPLETELY IMPLEMENTED. ANDREW: FIX THIS.
Implements core::pack::rotamer_set::RotamerSet.
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References cached_tries_.
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References id_for_current_rotamer_.
|
private |
This function should not be called directly – it ought to be called only from prepare_for_new_residue_type.
References n_residue_groups_, n_rotamers_for_resgroup_, num_rotamers(), and residue_group_rotamers_begin_.
Referenced by prepare_for_new_residue_type().
|
private |
This function should not be called directly – it ought to be called only from prepare_for_new_residue_type.
References n_residue_types_, n_rotamers_for_restype_, num_rotamers(), and residue_type_rotamers_begin_.
Referenced by prepare_for_new_residue_type().
|
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.
References rotamer_offsets_require_update_, and rotamers_.
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References rotamers_.
Referenced by new_residue_group(), new_residue_type(), and prepare_for_new_residue_type().
|
private |
declare that a new block of residue types has begun, and that new residues are about to be pushed back.
References different_resgroup(), different_restype(), n_residue_types_, new_residue_group(), new_residue_type(), num_rotamers(), rotamers_, and type.
Referenced by add_rotamer().
|
private |
appends a rotamer to the list of rotamers, and increments the count for the number of rotamers for the current value of n_residue_types.
References n_residue_types_, n_rotamers_for_restype_, residue_type_for_rotamers_, and rotamers_.
Referenced by add_rotamer().
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References rotamers_.
|
private |
declare that a new block of residue types has begun, and that new residues are about to be pushed back. NOT IMPLEMENTED.
declare that a new block of residue types has begun, and that new residues are about to be pushed back.
appends a rotamer to the list of rotamers, and increments the count for the number of rotamers for the current value of n_residue_types. NOT IMPLEMENTED. Borrow (steal) a rotamer held by another RotamerSet without cloning that rotamer. That is, both sets will now point at the same rotamer object, so if that rotamer changes for one set, it changes for both.
appends a rotamer to the list of rotamers, and increments the count for the number of rotamers for the current value of n_residue_types.
References rotamer_offsets_require_update_, and rotamers_.
Referenced by RotamerSubset().
|
virtual |
Implements core::pack::rotamer_set::RotamerSet.
References cached_tries_.
|
private |
References different_resgroup(), different_restype(), n_residue_groups_, n_residue_types_, n_rotamers_for_resgroup_, n_rotamers_for_restype_, residue_group_for_rotamers_, residue_group_rotamers_begin_, residue_type_for_rotamers_, residue_type_rotamers_begin_, rotamer_offsets_require_update_, rotamers_, and type.
Referenced by drop_rotamer(), drop_rotamers(), get_n_residue_groups(), get_n_residue_types(), get_n_rotamers_for_residue_group(), get_n_rotamers_for_residue_type(), get_residue_group_begin(), and get_residue_type_begin().
|
private |
Referenced by get_trie(), and store_trie().
|
private |
Referenced by drop_rotamers().
|
mutableprivate |
Referenced by drop_rotamer(), drop_rotamers(), id_for_current_rotamer(), and RotamerSubset().
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
Referenced by get_n_rotamers_for_residue_group(), new_residue_group(), and update_rotamer_offsets().
|
mutableprivate |
Referenced by get_n_rotamers_for_residue_type(), new_residue_type(), push_back_rotamer(), and update_rotamer_offsets().
|
mutableprivate |
Referenced by update_rotamer_offsets().
|
mutableprivate |
Referenced by get_residue_group_begin(), new_residue_group(), and update_rotamer_offsets().
|
mutableprivate |
Referenced by push_back_rotamer(), and update_rotamer_offsets().
|
mutableprivate |
Referenced by get_residue_type_begin(), new_residue_type(), and update_rotamer_offsets().
|
mutableprivate |
Referenced by drop_rotamer(), drop_rotamers(), nonconst_rotamer(), steal_rotamer(), and update_rotamer_offsets().
|
private |