Rosetta
|
A mover that takes a cyclic peptide and alters its position (rigid-body transform), superimposing it on a cyclic permutation or reverse cyclic permutation of itself. More...
#include <CycpepRigidBodyPermutationMover.hh>
Public Member Functions | |
CycpepRigidBodyPermutationMover () | |
Default constructor. More... | |
~CycpepRigidBodyPermutationMover () override | |
Destructor (important for properly forward-declaring smart-pointer members) More... | |
void | apply (core::pose::Pose &pose) override |
Apply the mover. More... | |
void | show (std::ostream &output=std::cout) const override |
Show the contents of the Mover. More... | |
void | parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override |
parse XML tag (to use this Mover in Rosetta Scripts) More... | |
protocols::moves::MoverOP | fresh_instance () const override |
required in the context of the parser/scripting scheme More... | |
protocols::moves::MoverOP | clone () const override |
required in the context of the parser/scripting scheme More... | |
std::string | get_name () const override |
Each derived class must specify its name. The class name. More... | |
void | provide_citation_info (basic::citation_manager::CitationCollectionList &citations) const override |
This mover is unpublished. It returns Vikram K. Mulligan as its author. More... | |
void | set_mover_mode (std::string const &setting) |
Set how we will permute the peptide, by string: setting its permutation or randomizing it. More... | |
void | set_mover_mode (CycpepRigidBodyPermutationMoverMode const setting) |
Set how we will permute the peptide, by enum: setting its permutation or randomizing it. More... | |
void | set_permutation_setting (signed long int const offset) |
Set how much we are permuting the peptide in setting mode. If inversion_setting is false, this is residues in the forward direction; if it is true, this is residues in the reverse direction. More... | |
void | set_inversion_setting (bool const inversion_setting) |
Set whether we are overlaying the peptide on a permuted version of itself (false) or on a permuted version of the reverse sequence (true). Only used in setting mode. More... | |
void | set_inversion_random (bool const inversion_random) |
Set whether we are only overlaying the peptide on a permuted version of itself (false) or whether we are allowed to consider overlays on a permuted version of the reverse sequence (true). Only used in randomization mode. More... | |
void | set_random_position_offset (core::Real const offset) |
Set whether we should add a small random offset to the peptide's position. More... | |
void | set_random_orientation_perturbation (core::Real const perturbation) |
Set whether we should add a small random perturbation to the peptide's orientation. More... | |
void | set_residue_selector (core::select::residue_selector::ResidueSelectorCOP selector_in) |
Set a residue selector to select a cyclic peptide that is a part of a pose. More... | |
CycpepRigidBodyPermutationMoverMode | mover_mode () const |
Get how we will permute the peptide, by enum: setting its permutation or randomizing it. More... | |
signed long int | permutation_setting () const |
Get how much we are permuting the peptide in setting mode. If inversion_setting is false, this is residues in the forward direction; if it is true, this is residues in the reverse direction. More... | |
bool | inversion_setting () const |
Set whether we are overlaying the peptide on a permuted version of itself (false) or on a permuted version of the reverse sequence (true). Only used in setting mode. More... | |
bool | inversion_random () const |
Get whether we are only overlaying the peptide on a permuted version of itself (false) or whether we are allowed to consider overlays on a permuted version of the reverse sequence (true). Only used in randomization mode. More... | |
core::Real | random_position_offset () const |
Get whether we should add a small random offset to the peptide's position. More... | |
core::Real | random_orientation_perturbation () const |
Get whether we should add a small random perturbation to the peptide's orientation. More... | |
core::select::residue_selector::ResidueSelectorCOP | residue_selector () const |
Get the residue selector to select a cyclic peptide that is a part of a pose. More... | |
![]() | |
Mover () | |
virtual MoverOP | create () |
MoverCOP | get_self_ptr () const |
MoverOP | get_self_ptr () |
MoverCAP | get_self_weak_ptr () const |
MoverAP | get_self_weak_ptr () |
Mover (std::string const &type_name) | |
sets the type for a mover; name_ has been removed (2010/05/14) More... | |
virtual void | test_move (Pose &pose) |
: Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More... | |
virtual bool | reinitialize_for_each_job () const |
Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More... | |
virtual bool | reinitialize_for_new_input () const |
Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More... | |
MoverStatus | get_last_move_status () const |
end parser interface, start Job Distributor interface///////////// More... | |
void | reset_status () |
resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More... | |
virtual core::pose::PoseOP | get_additional_output () |
Mechanism by which a mover may return multiple output poses from a single input pose. More... | |
void | set_type (std::string const &setting) |
Set the 'type' string. More... | |
std::string | get_type () const |
void | type (const std::string &type_in) |
Set the 'type' string. More... | |
std::string const & | type () const |
Get the set 'type' string. More... | |
virtual void | set_input_pose (PoseCOP pose) |
setter for poses contained for rms More... | |
virtual void | set_native_pose (PoseCOP pose) |
setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More... | |
PoseCOP | get_input_pose () const |
PoseCOP | get_native_pose () const |
void | set_current_job (protocols::jobdist::BasicJobCOP job) |
jobdist::BasicJobCOP | get_current_job () const |
virtual void | set_current_tag (std::string const &new_tag) |
std::string | get_current_tag () const |
A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More... | |
virtual core::Real | last_proposal_density_ratio () |
virtual void | clear_info () |
Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More... | |
virtual Strings & | info () |
non-const accessor More... | |
virtual Strings const & | info () const |
const accessor More... | |
Static Public Member Functions | |
static std::string | mover_name () |
static void | provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd) |
Describe the XML interface for this mover, in a machine-readable way that permits automatic checking of user inputs. More... | |
![]() | |
static std::string | name () |
static void | register_options () |
Overload this static method if you access options within the mover. More... | |
Private Member Functions | |
void | confirm_is_cyclic_peptide (core::pose::Pose const &pose, utility::vector1< core::Size > const &selected_residues) const |
Check that the pose or selection is a cyclic peptide, and throw with an informative error message if it is not. More... | |
utility::vector1< core::Size > | generate_residue_index_map (utility::vector1< core::Size > const &selected_residues) const |
Given a selection of residues, plus the current configuration of this mover, generate a vector of residue indices that has been suitably circularly permuted or inverse circular permuted. More... | |
core::pose::PoseOP | generate_cycpep_pose_copy (core::pose::Pose const &pose, utility::vector1< core::Size > const &selected_residues) const |
Given a pose, cut out selected residues. More... | |
void | align_cycpep_pose_to_original_pose (core::pose::Pose &cycpep_pose, core::pose::Pose const &pose, utility::vector1< core::Size > const &residue_index_map) const |
Align the cyclic peptide pose to the original. More... | |
void | perturb_cycpep_pose_position (core::pose::Pose &pose) const |
Perturb the cyclic peptide pose position. More... | |
void | perturb_cycpep_pose_orientation (core::pose::Pose &pose) const |
Perturb the cyclic peptide pose orientation. More... | |
void | copy_cycpep_pose_coordinates_to_original_pose (core::pose::Pose const &cycpep_pose, core::pose::Pose &pose, utility::vector1< core::Size > const &selected_residues) const |
Copy the cyclic peptide pose coordinates to the original. More... | |
Private Attributes | |
CycpepRigidBodyPermutationMoverMode | mode_ = CycpepRigidBodyPermutationMoverMode::RANDOM_PERMUTATION |
How we will permute the peptide: setting its permutation or randomizing it. More... | |
signed long int | permutation_setting_ = 0 |
If we are setting the permutation, what is the setting? Zero by default (no permutation). More... | |
bool | inversion_setting_ = false |
If we are setting the permutation, are we setting this to overlay on the forward or backwards sequence? False by default (overlaying on forward sequence). More... | |
bool | inversion_random_ = true |
If we are randomizing the permutation, do we also allow overlay on the backwards sequence? True by default. More... | |
core::Real | random_position_offset_ = 0.0 |
Should we add a small random offset to the peptide's position? More... | |
core::Real | random_orientation_perturbation_ = 0.0 |
Should we add a small random perturbation to the peptide's orientation? More... | |
core::select::residue_selector::ResidueSelectorCOP | residue_selector_ |
An optional residue selector, used to select a cyclic peptide in a pose. More... | |
Additional Inherited Members | |
![]() | |
typedef utility::tag::TagCOP | TagCOP |
typedef core::pose::Pose | Pose |
typedef core::pose::PoseCOP | PoseCOP |
typedef std::list< std::string > | Strings |
![]() | |
void | set_last_move_status (MoverStatus status) |
nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More... | |
A mover that takes a cyclic peptide and alters its position (rigid-body transform), superimposing it on a cyclic permutation or reverse cyclic permutation of itself.
protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::CycpepRigidBodyPermutationMover | ( | ) |
Default constructor.
|
overridedefault |
Destructor (important for properly forward-declaring smart-pointer members)
|
private |
Align the cyclic peptide pose to the original.
The offset in the residue index map is used. N, CA, C, O, CB, CM (beta-aas), and CA1 (peptoids) atoms are used, provided that pairs of residues have both.
[in,out] | cycpep_pose | The pose whose coordinates are updated by this operation. |
[in] | pose | The pose that we're aligning TO. This is unaltered by this operation. |
[in] | residue_index_map | A vector of residue indices in pose, where the index in the vector is the residue index in cycpep_pose. |
References core::chemical::ResidueType::atom_index(), core::chemical::ResidueType::atom_name(), core::chemical::ResidueTypeBase::base_name(), core::chemical::ResidueType::has(), core::chemical::ResidueType::is_beta_aa(), core::chemical::ResidueTypeBase::is_peptoid(), core::pose::Pose::residue_type(), core::scoring::superimpose_pose(), and protocols::cyclic_peptide::TR().
Referenced by apply().
|
overridevirtual |
Apply the mover.
Mover Methods ///.
Apply the mover
Implements protocols::moves::Mover.
References align_cycpep_pose_to_original_pose(), confirm_is_cyclic_peptide(), copy_cycpep_pose_coordinates_to_original_pose(), generate_cycpep_pose_copy(), generate_residue_index_map(), perturb_cycpep_pose_orientation(), perturb_cycpep_pose_position(), residue_selector_, core::select::residue_selector::selection_positions(), and core::pose::Pose::total_residue().
|
overridevirtual |
required in the context of the parser/scripting scheme
Reimplemented from protocols::moves::Mover.
|
private |
Check that the pose or selection is a cyclic peptide, and throw with an informative error message if it is not.
The checks are:
References core::chemical::ResidueTypeBase::base_name(), core::conformation::Residue::connected_residue_at_lower(), core::conformation::Residue::connected_residue_at_upper(), core::conformation::Residue::is_bonded(), core::chemical::ResidueType::lower_connect_id(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::id::to_string(), and core::chemical::ResidueType::upper_connect_id().
Referenced by apply().
|
private |
Copy the cyclic peptide pose coordinates to the original.
[in] | cycpep_pose | The cyclic peptide pose, the pose that we are copying FROM. |
[in,out] | pose | The original pose, the pose whose coordinates we are UPDATING. |
[in] | selected_residues | A vector of indices of the residues of the cyclic peptide. |
References core::chemical::ResidueTypeBase::base_name(), core::pose::Pose::batch_get_xyz(), core::pose::Pose::batch_set_xyz(), core::chemical::ResidueType::natoms(), core::pose::Pose::residue_type(), core::id::to_string(), core::pose::Pose::total_residue(), protocols::cyclic_peptide::TR(), and core::pose::Pose::update_residue_neighbors().
Referenced by apply().
|
overridevirtual |
required in the context of the parser/scripting scheme
Reimplemented from protocols::moves::Mover.
|
private |
Given a pose, cut out selected residues.
Assumes that we've got a cyclic peptide.
References core::chemical::ResidueType::atom_name(), core::chemical::ResidueConnection::atomno(), core::chemical::ResidueTypeBase::base_name(), core::conformation::Residue::connected_residue_at_lower(), core::conformation::Residue::connected_residue_at_resconn(), core::conformation::Residue::connected_residue_at_upper(), core::pose::Pose::empty(), core::chemical::ResidueType::lower_connect_id(), core::chemical::ResidueType::n_possible_residue_connections(), core::pose::Pose::residue(), core::chemical::ResidueType::residue_connection(), core::conformation::Residue::residue_connection_conn_id(), core::pose::Pose::residue_type(), core::pose::Pose::total_residue(), and protocols::cyclic_peptide::TR().
Referenced by apply().
|
private |
Given a selection of residues, plus the current configuration of this mover, generate a vector of residue indices that has been suitably circularly permuted or inverse circular permuted.
References inversion_setting_, mode_, permutation_setting_, protocols::cyclic_peptide::SET_PERMUTATION, protocols::cyclic_peptide::string_from_cycpep_rigid_body_permutation_mover_mode(), and protocols::cyclic_peptide::TR().
Referenced by apply().
|
overridevirtual |
Each derived class must specify its name. The class name.
Implements protocols::moves::Mover.
References mover_name().
bool protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::inversion_random | ( | ) | const |
Get whether we are only overlaying the peptide on a permuted version of itself (false) or whether we are allowed to consider overlays on a permuted version of the reverse sequence (true). Only used in randomization mode.
References inversion_random_.
Referenced by set_inversion_random().
bool protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::inversion_setting | ( | ) | const |
Set whether we are overlaying the peptide on a permuted version of itself (false) or on a permuted version of the reverse sequence (true). Only used in setting mode.
References inversion_setting_.
Referenced by set_inversion_setting().
CycpepRigidBodyPermutationMoverMode protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::mover_mode | ( | ) | const |
Get how we will permute the peptide, by enum: setting its permutation or randomizing it.
References mode_.
|
static |
|
overridevirtual |
parse XML tag (to use this Mover in Rosetta Scripts)
Rosetta Scripts Support ///.
Parse XML tag (to use this Mover in RosettaScripts).
Reimplemented from protocols::moves::Mover.
References mode_, core::select::residue_selector::parse_residue_selector(), protocols::cyclic_peptide::RANDOM_PERMUTATION, set_inversion_random(), set_inversion_setting(), set_mover_mode(), protocols::cyclic_peptide::SET_PERMUTATION, set_permutation_setting(), set_random_orientation_perturbation(), set_random_position_offset(), and set_residue_selector().
signed long int protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::permutation_setting | ( | ) | const |
Get how much we are permuting the peptide in setting mode. If inversion_setting is false, this is residues in the forward direction; if it is true, this is residues in the reverse direction.
References permutation_setting_.
|
private |
Perturb the cyclic peptide pose orientation.
Does nothing if random_orientation_perturbation_ == 0.0. Otherwise, generates a random unit vector from a spherically-symmetric distribution, and rotates by X degrees about this vector, where X is drawn from a Gaussian distribution of standard deviation random_orientation_perturbation_ degrees. The centre of rotation is the centroid of the N, C, CA, O, CB (if present), CM (if beta-aa), and CA1 (if peptoid) atoms.
[in,out] | pose | The pose whose orientation we're perturbing. Altered by this operation. |
References core::chemical::ResidueType::atom_index(), core::pose::Pose::batch_get_xyz(), core::pose::Pose::batch_set_xyz(), protocols::simple_filters::coords(), core::chemical::ResidueType::has(), core::chemical::ResidueType::is_beta_aa(), core::chemical::ResidueTypeBase::is_peptoid(), core::chemical::ResidueType::natoms(), random_orientation_perturbation_, core::pose::Pose::residue_type(), core::pose::Pose::total_atoms(), core::pose::Pose::total_residue(), and core::pose::Pose::xyz().
Referenced by apply().
|
private |
Perturb the cyclic peptide pose position.
Does nothing if random_position_offset_ == 0.0. Otherwise, generates a random vector from a Gaussian distribution with mean length random_position_offset_ and adds this to the coordinates of the pose.
[in,out] | pose | The pose whose position we're offsetting. Altered by this operation. |
References core::pose::Pose::batch_get_xyz(), core::pose::Pose::batch_set_xyz(), core::chemical::ResidueType::natoms(), random_position_offset_, core::pose::Pose::residue_type(), core::pose::Pose::total_atoms(), and core::pose::Pose::total_residue().
Referenced by apply().
|
overridevirtual |
This mover is unpublished. It returns Vikram K. Mulligan as its author.
Reimplemented from protocols::moves::Mover.
|
static |
Describe the XML interface for this mover, in a machine-readable way that permits automatic checking of user inputs.
References protocols::rosetta_scripts::attributes_for_parse_residue_selector(), protocols::cyclic_peptide::list_cycpep_rigid_body_permutation_mover_modes(), mover_name(), and protocols::moves::xsd_type_definition_w_attributes().
Referenced by protocols::cyclic_peptide::CycpepRigidBodyPermutationMoverCreator::provide_xml_schema().
core::Real protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::random_orientation_perturbation | ( | ) | const |
Get whether we should add a small random perturbation to the peptide's orientation.
The default, 0.0, means no perturbation. Larger values set the magnitude of the random roll, in degrees. The roll is about the peptide centroid.
References random_orientation_perturbation_.
core::Real protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::random_position_offset | ( | ) | const |
Get whether we should add a small random offset to the peptide's position.
The default, 0.0, means no offset. Larger values set the magnitude of the random displacement, in Angstroms.
References random_position_offset_.
core::select::residue_selector::ResidueSelectorCOP protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::residue_selector | ( | ) | const |
Get the residue selector to select a cyclic peptide that is a part of a pose.
Could be nullptr if no selector is set.
References residue_selector_.
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_inversion_random | ( | bool const | inversion_random | ) |
Set whether we are only overlaying the peptide on a permuted version of itself (false) or whether we are allowed to consider overlays on a permuted version of the reverse sequence (true). Only used in randomization mode.
References inversion_random(), inversion_random_, and protocols::cyclic_peptide::TR().
Referenced by parse_my_tag().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_inversion_setting | ( | bool const | inversion_setting | ) |
Set whether we are overlaying the peptide on a permuted version of itself (false) or on a permuted version of the reverse sequence (true). Only used in setting mode.
References inversion_setting(), inversion_setting_, and protocols::cyclic_peptide::TR().
Referenced by parse_my_tag().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_mover_mode | ( | CycpepRigidBodyPermutationMoverMode const | setting | ) |
Set how we will permute the peptide, by enum: setting its permutation or randomizing it.
Set how we will permute the peptide: setting its permutation or randomizing it.
References mode_, protocols::cyclic_peptide::N_MODES, protocols::cyclic_peptide::string_from_cycpep_rigid_body_permutation_mover_mode(), and protocols::cyclic_peptide::TR().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_mover_mode | ( | std::string const & | setting | ) |
Set how we will permute the peptide, by string: setting its permutation or randomizing it.
Throws if string not recognized.
References protocols::cyclic_peptide::cycpep_rigid_body_permutation_mover_mode_from_string(), protocols::cyclic_peptide::list_cycpep_rigid_body_permutation_mover_modes(), and protocols::cyclic_peptide::UNKNOWN_MODE.
Referenced by parse_my_tag().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_permutation_setting | ( | signed long int const | offset | ) |
Set how much we are permuting the peptide in setting mode. If inversion_setting is false, this is residues in the forward direction; if it is true, this is residues in the reverse direction.
References permutation_setting_, and protocols::cyclic_peptide::TR().
Referenced by parse_my_tag().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_random_orientation_perturbation | ( | core::Real const | perturbation | ) |
Set whether we should add a small random perturbation to the peptide's orientation.
The default, 0.0, means no perturbation. Larger values set the magnitude of the random roll, in degrees. The roll is about the peptide centroid.
References random_orientation_perturbation_.
Referenced by parse_my_tag().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_random_position_offset | ( | core::Real const | offset | ) |
Set whether we should add a small random offset to the peptide's position.
The default, 0.0, means no offset. Larger values set the magnitude of the random displacement, in Angstroms.
References random_position_offset_.
Referenced by parse_my_tag().
void protocols::cyclic_peptide::CycpepRigidBodyPermutationMover::set_residue_selector | ( | core::select::residue_selector::ResidueSelectorCOP | selector_in | ) |
Set a residue selector to select a cyclic peptide that is a part of a pose.
Input selector is used directly, not cloned. Pass nullptr to disable.
References residue_selector_, and protocols::cyclic_peptide::TR().
Referenced by parse_my_tag().
|
overridevirtual |
Show the contents of the Mover.
Reimplemented from protocols::moves::Mover.
References protocols::moves::Mover::show().
Referenced by protocols::cyclic_peptide::operator<<().
|
private |
If we are randomizing the permutation, do we also allow overlay on the backwards sequence? True by default.
Referenced by inversion_random(), and set_inversion_random().
|
private |
If we are setting the permutation, are we setting this to overlay on the forward or backwards sequence? False by default (overlaying on forward sequence).
Referenced by generate_residue_index_map(), inversion_setting(), and set_inversion_setting().
|
private |
How we will permute the peptide: setting its permutation or randomizing it.
Referenced by generate_residue_index_map(), mover_mode(), parse_my_tag(), and set_mover_mode().
|
private |
If we are setting the permutation, what is the setting? Zero by default (no permutation).
Referenced by generate_residue_index_map(), permutation_setting(), and set_permutation_setting().
|
private |
Should we add a small random perturbation to the peptide's orientation?
The default, 0.0, means no perturbation. Larger values set the magnitude of the random roll, in degrees. The roll is about the peptide centroid.
Referenced by perturb_cycpep_pose_orientation(), random_orientation_perturbation(), and set_random_orientation_perturbation().
|
private |
Should we add a small random offset to the peptide's position?
The default, 0.0, means no offset. Larger values set the magnitude of the random displacement, in Angstroms.
Referenced by perturb_cycpep_pose_position(), random_position_offset(), and set_random_position_offset().
|
private |
An optional residue selector, used to select a cyclic peptide in a pose.
Not used if nullptr.
Referenced by apply(), residue_selector(), and set_residue_selector().