![]() |
Rosetta
2021.16
|
#include <RotamerSet.hh>

Public Member Functions | |
| RotamerSet () | |
| ~RotamerSet () override | |
| void | set_resid (Size resid) |
| virtual void | build_rotamers (pose::Pose const &the_pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, bool use_neighbor_context=true)=0 |
| virtual void | build_dependent_rotamers (RotamerSets const &rotamer_sets, pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph)=0 |
| virtual void | add_rotamer (conformation::Residue const &rotamer)=0 |
| Append a rotamer to the list; it will not be sorted into the same group as other rotamers of the same group or amino acid unless the last group/amino acid is already the same. Instead it will sit at the end of the list of Rotamers. There are performance implications of using this function instead of add_rotamer_into_existing_group: there are several places in the code which scale quadratically with the number of amino acid groups (but where we assume that this number is small) so if you call this function N times oscilating between ASP and ASN rotamers, you will get O(N^2) performance. If you do not need your rotamers to appear in a particular order, use add_rotamer_into_existing_group instead. More... | |
| virtual void | add_rotamer_into_existing_group (conformation::Residue const &rotamer)=0 |
| Add a rotamer to the RotamerSet where you will group it with other residues of the same type or barring that, the same group. This will keep the total number of residue type groups down. It will not guarantee (it cannot guarantee) that the newly added rotamer will appear after existing rotamers or at the end of the list of rotamers – if you need that kind of guarantee, use add_rotamer instead. More... | |
| Size | get_n_residue_types () const override=0 |
| 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 =0 |
| 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... | |
| Size | get_residue_type_begin (Size which_restype) const override=0 |
| Return the first rotamer of a particular residue type. More... | |
| virtual Size | get_residue_group_begin (Size which_resgroup) const =0 |
| Return the first rotamer that belongs to a particular rotamer group. More... | |
| Size | get_n_rotamers_for_residue_type (Size which_restype) const override=0 |
| virtual Size | get_n_rotamers_for_residue_group (Size which_resgroup) const =0 |
| Size | get_residue_type_index_for_rotamer (Size which_rotamer) const override=0 |
| 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. More... | |
| virtual Size | get_residue_group_index_for_rotamer (Size which_rotamer) const =0 |
| Return the index of the rotamer group for a particular rotamer. More... | |
| virtual void | compute_one_body_energies (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, utility::vector1< core::PackerEnergy > &energies, bool const no_update=false) const =0 |
| virtual void | compute_one_and_two_body_energies (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, utility::vector1< core::PackerEnergy > &one_body_energies, utility::vector1< utility::vector1< core::PackerEnergy > > &two_body_energies, utility::vector1< core::Size > &packable_neighbors) const =0 |
| virtual void | compute_one_body_energy_maps (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, utility::vector1< scoring::EnergyMap > &energies) const =0 |
| for OptE More... | |
| Size | num_rotamers () const override=0 |
| virtual Size | id_for_current_rotamer () const =0 |
| Return the index in the RotamerSet for the current rotamer. More... | |
| Size | resid () const override |
| conformation::ResidueCOP | rotamer (Size rot_id) const override=0 |
| virtual basic::datacache::BasicDataCache & | rotamer_data_cache (Size rot_id) const =0 |
| virtual Rotamers::const_iterator | begin () const =0 |
| virtual Rotamers::const_iterator | end () const =0 |
| conformation::ResidueOP | nonconst_rotamer (Size rot_id) override=0 |
| mutatable access to a single rotamer in the set. More... | |
| void | store_trie (Size method_enum_id, conformation::AbstractRotamerTrieOP trie) override=0 |
| conformation::AbstractRotamerTrieCOP | get_trie (Size method_enum_id) const override=0 |
| virtual void | drop_rotamer (Size rot_id)=0 |
| removes a single rotamer and causes a rotamer index update More... | |
| virtual void | drop_rotamers (utility::vector1< bool > const &rotamers_to_delete)=0 |
| 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)=0 |
| 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 | show (std::ostream &out) const =0 |
| virtual void | initialize_pose_for_rotset_creation (pose::Pose &pose) const =0 |
| virtual void | update_rotamer_offsets () const =0 |
| Lazy update of rotamer indices and offsets and integration of those rotamers in the rotamers_waiting_for_sort_ list. More... | |
Public Member Functions inherited from core::conformation::RotamerSetBase | |
| RotamerSetBase () | |
| ~RotamerSetBase () override | |
| virtual conformation::Residue const & | rotamer_ref (Size rot_id) const =0 |
| 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 Types | |
| typedef conformation::RotamerSetBase | parent |
Private Member Functions | |
| RotamerSet (RotamerSet const &) | |
Private Attributes | |
| Size | resid_ |
Additional Inherited Members | |
Public Types inherited from core::conformation::RotamerSetBase | |
| typedef basic::datacache::BasicDataCache | BasicDataCache |
| typedef basic::datacache::BasicDataCacheOP | BasicDataCacheOP |
| core::pack::rotamer_set::RotamerSet::RotamerSet | ( | ) |
|
overridedefault |
|
private |
|
pure virtual |
Append a rotamer to the list; it will not be sorted into the same group as other rotamers of the same group or amino acid unless the last group/amino acid is already the same. Instead it will sit at the end of the list of Rotamers. There are performance implications of using this function instead of add_rotamer_into_existing_group: there are several places in the code which scale quadratically with the number of amino acid groups (but where we assume that this number is small) so if you call this function N times oscilating between ASP and ASN rotamers, you will get O(N^2) performance. If you do not need your rotamers to appear in a particular order, use add_rotamer_into_existing_group instead.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
Add a rotamer to the RotamerSet where you will group it with other residues of the same type or barring that, the same group. This will keep the total number of residue type groups down. It will not guarantee (it cannot guarantee) that the newly added rotamer will appear after existing rotamers or at the end of the list of rotamers – if you need that kind of guarantee, use add_rotamer instead.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::add_rotamer_to_rotamer_set(), core::pack::rotamer_set::AddResiduesRotamerSetOperation::alter_rotamer_set(), protocols::matdes::MotifHitsRotamersOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::SpecialRotamerRSO::alter_rotamer_set(), core::pack::rotamer_set::UnboundRotamersOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::alter_rotamer_set(), and protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::alter_rotamer_set().
|
pure virtual |
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::alter_rotamer_set(), protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_db(), and protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_pdb().
|
pure virtual |
|
pure virtual |
Implemented in core::pack::rotamer_set::RotamerSubset, and core::pack::rotamer_set::RotamerSet_.
|
pure virtual |
Implemented in core::pack::rotamer_set::RotamerSubset, and core::pack::rotamer_set::RotamerSet_.
|
pure virtual |
|
pure virtual |
for OptE
Implemented in core::pack::rotamer_set::RotamerSubset, and core::pack::rotamer_set::RotamerSet_.
|
pure virtual |
removes a single rotamer and causes a rotamer index update
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
rotamers_to_delete must be of size nrotmaers – each position in the array that's "true" is removed from the set of rotamers
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by core::pack::rotamer_set::DeleteAllRotamerSetOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::SpecialRotamerRSO::alter_rotamer_set(), protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_db(), and protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_pdb().
|
pure 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.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
|
pure 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.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::alter_rotamer_set(), and protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::rotamer_set_contains_rotamer().
|
overridepure virtual |
Return the number of different residue types; two residue types are considered different if they have a different address.
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::alter_rotamer_set(), and core::pack::scmin::ResidueAtomTreeCollection::ResidueAtomTreeCollection().
|
pure virtual |
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
overridepure virtual |
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
Return the first rotamer that belongs to a particular rotamer group.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::rotamer_set_contains_rotamer().
|
pure virtual |
Return the index of the rotamer group for a particular rotamer.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
overridepure virtual |
Return the first rotamer of a particular residue type.
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by core::pack::scmin::ResidueAtomTreeCollection::ResidueAtomTreeCollection().
|
overridepure 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::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
overridepure virtual |
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
Return the index in the RotamerSet for the current rotamer.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_pdb(), and core::pack::rotamer_set::RotamerSubset::RotamerSubset().
|
pure virtual |
|
overridepure virtual |
mutatable access to a single rotamer in the set.
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by core::pack::rotamer_set::RotamerSubset::RotamerSubset().
|
overridepure virtual |
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::add_rotamer_to_rotamer_set(), core::pack::rotamer_set::DeleteAllRotamerSetOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::SpecialRotamerRSO::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::alter_rotamer_set(), protocols::task_operations::LimitAromaChi2_RotamerSetOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::alter_rotamer_set(), protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_db(), protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_pdb(), protocols::hbnet::hbnet_one_body_energies(), protocols::hbnet::hbnet_symm_one_body_energies(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing(), and protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::rotamer_set_contains_rotamer().
|
inlineoverridevirtual |
Implements core::conformation::RotamerSetBase.
References resid_.
Referenced by protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::add_rotamer_to_rotamer_set(), core::pack::rotamer_set::AddResiduesRotamerSetOperation::alter_rotamer_set(), protocols::matdes::MotifHitsRotamersOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::SpecialRotamerRSO::alter_rotamer_set(), core::pack::rotamer_set::UnboundRotamersOperation::alter_rotamer_set(), protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::alter_rotamer_set(), protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_db(), protocols::splice::SampleRotamersFromPDB_RotamerSetOperation::alter_rotamer_set_from_pdb(), core::pack::rotamer_set::RotamerSet_::build_dependent_rotamers(), core::pack::rotamer_set::RotamerSet_::build_dependent_rotamers_for_concrete(), core::pack::rotamer_set::RotamerSet_::build_filtered_tp3_water_rotamers(), core::pack::rotamer_set::RotamerSet_::build_optimize_H_rotamers(), core::pack::rotamer_set::RotamerSet_::build_rotamers(), core::pack::rotamer_set::RotamerSet_::build_rotamers_for_concrete(), core::pack::rotamer_set::RotamerSet_::build_rotamers_for_concrete_virt(), core::pack::rotamer_set::RotamerSet_::build_tp3_water_rotamers(), core::pack::rotamer_set::RotamerSet_::build_virtualizable_rotatable_water_rotamers(), protocols::flexpack::rotamer_set::FlexbbRotamerSet::bump_check(), core::pack::rotamer_set::RotamerSet_::bump_check(), core::pack::rotamer_set::RotamerSet_::compute_one_and_two_body_energies(), core::pack::rotamer_set::symmetry::SymmetricRotamerSet_::compute_one_body_energies(), core::pack::rotamer_set::RotamerSet_::compute_one_body_energies(), core::pack::rotamer_set::RotamerSet_::compute_one_body_energy_maps(), core::pack::rotamer_set::RotamerSet_::filter_water_rotamers(), protocols::hbnet::hbnet_symm_one_body_energies(), core::pack::rotamer_set::RotamerSet_::set_extra_samples(), set_resid(), core::pack::rotamer_set::RotamerSubset::show(), and core::pack::rotamer_set::RotamerSet_::show().
|
overridepure virtual |
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by protocols::toolbox::rotamer_set_operations::SpecialRotamerRSO::alter_rotamer_set(), protocols::hbnet::hbnet_one_body_energies(), protocols::hbnet::hbnet_symm_one_body_energies(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing(), core::pack::scmin::ResidueAtomTreeCollection::ResidueAtomTreeCollection(), and protocols::toolbox::rotamer_set_operations::AddGood2BPairEnergyRotamers::rotamer_set_contains_rotamer().
|
pure virtual |
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
Referenced by core::pack::rotamer_set::operator<<().
|
overridepure virtual |
Implements core::conformation::RotamerSetBase.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
pure virtual |
Lazy update of rotamer indices and offsets and integration of those rotamers in the rotamers_waiting_for_sort_ list.
Implemented in core::pack::rotamer_set::RotamerSet_, and core::pack::rotamer_set::RotamerSubset.
|
private |
Referenced by resid(), and set_resid().
1.8.7