Rosetta
|
Given a quasi-symmetric cyclic peptide, this mover aligns the peptide so that the cyclic symmetry axis lies along the Z-axis and the centre of mass is at the origin. It then optionally removes all but one symmetry repeat, so that true symmetry may be set up with the SetupForSymmetry mover. More...
#include <SymmetricCycpepAlign.hh>
Public Member Functions | |
SymmetricCycpepAlign () | |
Constructors ///. More... | |
SymmetricCycpepAlign (SymmetricCycpepAlign const &src) | |
Copy constructor (not needed unless you need deep copies) More... | |
~SymmetricCycpepAlign () override | |
Destructor (important for properly forward-declaring smart-pointer members) More... | |
void | apply (core::pose::Pose &pose) override |
Mover Methods ///. 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 |
Rosetta Scripts Support ///. 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... | |
core::Size | symmetry_repeats () const |
Get the number of symmetry repeats. For example, for c4 or s4 symmetry, this would be "4". Defaults to "2". More... | |
bool | mirror_symmetry () const |
Get whether we're using mirror symmetry (e.g. s2 symmetry vs. c2 symmetry). More... | |
bool | auto_detect_symmetry () const |
Get whether we're auto-detecting symmetry. More... | |
core::Real const & | angle_threshold () const |
Get the angle threshold for counting poses as symmetric. More... | |
bool | trim_to_single_repeat () const |
Get whether all geometry that is not the protein backbone of a single symmetry repeat will be deleted. (This includes any crosslinkers.) More... | |
core::Size | repeat_to_preserve () const |
If trim_to_single_repeat_ is true, this is the symmetry repeat to preserve. More... | |
core::Size | last_symmetry_repeats () const |
Report the symmetry of the last auto-detected peptide. More... | |
bool | last_symmetry_mirror () const |
Report whether the symmetry of the last auto-detected peptide was mirror symmetry. More... | |
bool | invert () const |
Are we aligning the peptide normal with the Z-axis (false) or the inverse Z-axis (true)? More... | |
void | set_symmetry (core::Size const repeats_in, bool const mirror_in) |
Set the number of symmetry repeats and whether we're using mirror symmetry. For example, for c4 symmetry, inputs are "4", "false". For s4, they'd be "4", "true". More... | |
void | set_auto_detect_symmetry (bool const setting) |
Set whether we're auto-detecting symmetry. More... | |
void | set_angle_threshold (core::Real const &setting) |
Set the angle threshold for counting poses as symmetric. More... | |
void | set_trim_info (bool const do_trim, core::Size const repeat_to_preserve=1) |
Set whether we're going to delete all geometry that isn't the protein backbone of a single symmetry repeat, and which repeat to preserve. More... | |
void | set_invert (bool const setting) |
Set whether we're aligning the peptide normal with the Z-axis (false) or the inverse Z-axis (true). More... | |
void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const override |
Provide the citation. 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) |
![]() | |
static std::string | name () |
static void | register_options () |
Overload this static method if you access options within the mover. More... | |
Private Member Functions | |
void | set_last_symmetry (core::Size const last_symm_in, bool const last_symm_mirror_in) |
Set the symmetry of the last auto-detected peptide symmetry. More... | |
bool | do_auto_detection_of_symmetry (core::pose::Pose const &pose, core::Size &symmrepeats, bool &mirrorsymm) const |
Given a quasi-symmetric pose, figure out its symmetry. More... | |
bool | do_symmetry_checks (core::pose::Pose const &pose, core::Size const symmrepeats, bool const mirrorsymm) const |
Given a quasi-symmetric pose, confirm that it has the specified symmetry. More... | |
core::Size | count_protein_residues (core::pose::Pose const &pose) const |
Given a pose, count the protein residues in it. More... | |
core::select::residue_selector::ResidueSelectorCOP | select_protein_residues (core::pose::Pose const &pose) const |
Given a pose, return a ResidueSelector that selects all the protein residues in the pose. More... | |
void | align_to_origin (core::pose::Pose &pose) const |
Given a pose, center it on the origin. More... | |
void | align_to_zaxis (core::pose::Pose &pose, core::Size const symmrepeats, bool const mirrorsymm) const |
Given a pose centered on the origin, align it to the z-axis based on its symmetry. More... | |
void | do_trim_to_single_repeat (core::pose::Pose &pose, core::Size const symmrepeats, core::Size const repeat_to_preserve) const |
Given a pose that has been properly centered on the origin and aligned to the z-axis, delete all but a single symmetry repeat. More... | |
Private Attributes | |
core::Size | symmetry_repeats_ |
The number of symmetry repeats. For example, for c4 or s4 symmetry, this would be "4". Defaults to "2". More... | |
bool | mirror_symmetry_ |
Does this peptide have mirror symmetry? Default "false". More... | |
bool | auto_detect_symmetry_ |
Should the mover auto-detect symmetry? Default "false". More... | |
core::Real | angle_threshold_ |
The angle threshold for detecting symmetry. More... | |
bool | trim_to_single_repeat_ |
If true, all geometry that is not the protein backbone of a single symmetry repeat will be deleted. (This includes any crosslinkers.) False by default. More... | |
core::Size | repeat_to_preserve_ |
If trim_to_single_repeat_ is true, this is the symmetry repeat to preserve. Default 1. More... | |
core::Size | last_symmetry_repeats_ |
The symmetry of the last auto-detected peptide. More... | |
bool | last_symmetry_mirror_ |
The mirror status of the symmetry of the last auto-detected peptide. More... | |
bool | invert_ |
Aligns the peptide normal with the inverse Z-axis instead of with the Z-axis. 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... | |
Given a quasi-symmetric cyclic peptide, this mover aligns the peptide so that the cyclic symmetry axis lies along the Z-axis and the centre of mass is at the origin. It then optionally removes all but one symmetry repeat, so that true symmetry may be set up with the SetupForSymmetry mover.
protocols::cyclic_peptide::SymmetricCycpepAlign::SymmetricCycpepAlign | ( | ) |
Constructors ///.
Default constructor
|
default |
Copy constructor (not needed unless you need deep copies)
Copy constructor.
|
overridedefault |
Destructor (important for properly forward-declaring smart-pointer members)
|
private |
Given a pose, center it on the origin.
References core::pose::Pose::apply_transform_Rx_plus_v(), core::chemical::ResidueType::atom_is_hydrogen(), core::chemical::ResidueType::first_sidechain_atom(), core::chemical::ResidueTypeBase::is_protein(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::pose::Pose::total_residue(), and core::conformation::Residue::xyz().
Referenced by apply().
|
private |
Given a pose centered on the origin, align it to the z-axis based on its symmetry.
References core::pose::Pose::apply_transform_Rx_plus_v(), count_protein_residues(), invert(), core::chemical::ResidueTypeBase::is_protein(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::pose::Pose::total_residue(), and core::conformation::Residue::xyz().
Referenced by apply().
|
inline |
Get the angle threshold for counting poses as symmetric.
Two dihedral values from different residues must fall within this cutoff, in degrees, for them to be considered the "same". Default 10 degrees.
References angle_threshold_.
Referenced by do_auto_detection_of_symmetry(), do_symmetry_checks(), and parse_my_tag().
|
overridevirtual |
Mover Methods ///.
Apply the mover
Implements protocols::moves::Mover.
References align_to_origin(), align_to_zaxis(), auto_detect_symmetry(), do_auto_detection_of_symmetry(), do_symmetry_checks(), do_trim_to_single_repeat(), protocols::moves::FAIL_DO_NOT_RETRY, mirror_symmetry(), protocols::moves::MS_SUCCESS, repeat_to_preserve(), protocols::moves::Mover::set_last_move_status(), set_last_symmetry(), symmetry_repeats(), and trim_to_single_repeat().
|
inline |
|
overridevirtual |
required in the context of the parser/scripting scheme
Reimplemented from protocols::moves::Mover.
|
private |
Given a pose, count the protein residues in it.
References core::chemical::ResidueTypeBase::is_protein(), core::pose::Pose::residue_type(), and core::pose::Pose::total_residue().
Referenced by align_to_zaxis(), do_auto_detection_of_symmetry(), do_symmetry_checks(), and do_trim_to_single_repeat().
|
private |
Given a quasi-symmetric pose, figure out its symmetry.
Starts with the maximum possible, and tries every possible symmetry type, favouring mirror symmetry over non-mirror symmetry.
[in] | pose | The quasi-symmetric pose. |
[out] | symmrepeats | The number of symmetry repeats. |
[out] | mirrorsymm | Is this a mirror symmetry type (sN) or not (cN)? |
References angle_threshold(), protocols::cyclic_peptide::CycpepSymmetryFilter::apply(), count_protein_residues(), protocols::cyclic_peptide::CycpepSymmetryFilter::mirror_symm(), select_protein_residues(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_angle_threshold(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_mirror_symm(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_selector(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_symm_repeats(), protocols::cyclic_peptide::CycpepSymmetryFilter::symm_repeats(), and protocols::cyclic_peptide::TR().
Referenced by apply().
|
private |
Given a quasi-symmetric pose, confirm that it has the specified symmetry.
References angle_threshold(), protocols::cyclic_peptide::CycpepSymmetryFilter::apply(), count_protein_residues(), select_protein_residues(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_angle_threshold(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_mirror_symm(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_selector(), protocols::cyclic_peptide::CycpepSymmetryFilter::set_symm_repeats(), and protocols::cyclic_peptide::TR().
Referenced by apply().
|
private |
Given a pose that has been properly centered on the origin and aligned to the z-axis, delete all but a single symmetry repeat.
References core::pose::Pose::append_residue_by_bond(), core::pose::Pose::append_residue_by_jump(), count_protein_residues(), core::pose::Pose::fold_tree(), core::chemical::ResidueTypeBase::is_protein(), repeat_to_preserve(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), and core::pose::Pose::total_residue().
Referenced by apply().
|
overridevirtual |
required in the context of the parser/scripting scheme
Reimplemented from protocols::moves::Mover.
|
overridevirtual |
Each derived class must specify its name. The class name.
Implements protocols::moves::Mover.
References mover_name().
|
inline |
Are we aligning the peptide normal with the Z-axis (false) or the inverse Z-axis (true)?
References invert_.
Referenced by align_to_zaxis(), and parse_my_tag().
|
inline |
Report whether the symmetry of the last auto-detected peptide was mirror symmetry.
Returns false always if auto-detection is not enabled.
References auto_detect_symmetry_, and last_symmetry_mirror_.
|
inline |
Report the symmetry of the last auto-detected peptide.
Returns 0 if auto-detection is not enabled.
References auto_detect_symmetry_, and last_symmetry_repeats_.
|
inline |
Get whether we're using mirror symmetry (e.g. s2 symmetry vs. c2 symmetry).
References mirror_symmetry_.
Referenced by apply(), and parse_my_tag().
|
static |
|
overridevirtual |
Rosetta Scripts Support ///.
parse XML tag (to use this Mover in Rosetta Scripts)
Reimplemented from protocols::moves::Mover.
References angle_threshold(), invert(), mirror_symmetry(), repeat_to_preserve(), set_angle_threshold(), set_auto_detect_symmetry(), set_invert(), set_symmetry(), set_trim_info(), symmetry_repeats(), and trim_to_single_repeat().
|
overridevirtual |
Provide the citation.
Reimplemented from protocols::moves::Mover.
|
static |
|
inline |
If trim_to_single_repeat_ is true, this is the symmetry repeat to preserve.
References repeat_to_preserve_.
Referenced by apply(), do_trim_to_single_repeat(), parse_my_tag(), and set_trim_info().
|
private |
Given a pose, return a ResidueSelector that selects all the protein residues in the pose.
Uses Jared's ReturnResidueSubetSelector, which was a good idea. Thanks, Jared!
References core::chemical::ResidueTypeBase::is_protein(), core::pose::Pose::residue_type(), and core::pose::Pose::total_residue().
Referenced by do_auto_detection_of_symmetry(), and do_symmetry_checks().
void protocols::cyclic_peptide::SymmetricCycpepAlign::set_angle_threshold | ( | core::Real const & | setting | ) |
Set the angle threshold for counting poses as symmetric.
Two dihedral values from different residues must fall within this cutoff, in degrees, for them to be considered the "same". Default 10 degrees.
References angle_threshold_.
Referenced by parse_my_tag().
void protocols::cyclic_peptide::SymmetricCycpepAlign::set_auto_detect_symmetry | ( | bool const | setting | ) |
Set whether we're auto-detecting symmetry.
References auto_detect_symmetry_.
Referenced by parse_my_tag().
|
inline |
Set whether we're aligning the peptide normal with the Z-axis (false) or the inverse Z-axis (true).
References invert_.
Referenced by parse_my_tag().
|
private |
Set the symmetry of the last auto-detected peptide symmetry.
References last_symmetry_mirror_, and last_symmetry_repeats_.
Referenced by apply().
void protocols::cyclic_peptide::SymmetricCycpepAlign::set_symmetry | ( | core::Size const | repeats_in, |
bool const | mirror_in | ||
) |
Set the number of symmetry repeats and whether we're using mirror symmetry. For example, for c4 symmetry, inputs are "4", "false". For s4, they'd be "4", "true".
References mirror_symmetry_, and symmetry_repeats_.
Referenced by parse_my_tag().
void protocols::cyclic_peptide::SymmetricCycpepAlign::set_trim_info | ( | bool const | do_trim, |
core::Size const | repeat_to_preserve = 1 |
||
) |
Set whether we're going to delete all geometry that isn't the protein backbone of a single symmetry repeat, and which repeat to preserve.
[in] | do_trim | If set to true, the peptide will be trimmed down to a single repeat. False by default (no trimming). |
[in] | repeat_to_preserve | If do_trim is set to true, this is the repeat that should be preserved. 1 by default. |
References repeat_to_preserve(), repeat_to_preserve_, and trim_to_single_repeat_.
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<<().
|
inline |
Get the number of symmetry repeats. For example, for c4 or s4 symmetry, this would be "4". Defaults to "2".
References symmetry_repeats_.
Referenced by apply(), and parse_my_tag().
|
inline |
Get whether all geometry that is not the protein backbone of a single symmetry repeat will be deleted. (This includes any crosslinkers.)
References trim_to_single_repeat_.
Referenced by apply(), and parse_my_tag().
|
private |
The angle threshold for detecting symmetry.
Two dihedral values from different residues must fall within this cutoff, in degrees, for them to be considered the "same". Default 10 degrees.
Referenced by angle_threshold(), and set_angle_threshold().
|
private |
Should the mover auto-detect symmetry? Default "false".
Starts with the highets-fold allowed and works down, testing mirror symmetry before non-mirror symmetry. Only based on backbone.
Referenced by auto_detect_symmetry(), last_symmetry_mirror(), last_symmetry_repeats(), and set_auto_detect_symmetry().
|
private |
Aligns the peptide normal with the inverse Z-axis instead of with the Z-axis.
Referenced by invert(), and set_invert().
|
private |
The mirror status of the symmetry of the last auto-detected peptide.
Initialized to false; only set if auto-detection is used.
Referenced by last_symmetry_mirror(), and set_last_symmetry().
|
private |
The symmetry of the last auto-detected peptide.
Initialized to 0; only set if auto-detection is used.
Referenced by last_symmetry_repeats(), and set_last_symmetry().
|
private |
Does this peptide have mirror symmetry? Default "false".
Referenced by mirror_symmetry(), and set_symmetry().
|
private |
If trim_to_single_repeat_ is true, this is the symmetry repeat to preserve. Default 1.
Does nothing if trim_to_single_repeat_ is false.
Referenced by repeat_to_preserve(), and set_trim_info().
|
private |
The number of symmetry repeats. For example, for c4 or s4 symmetry, this would be "4". Defaults to "2".
Referenced by set_symmetry(), and symmetry_repeats().
|
private |
If true, all geometry that is not the protein backbone of a single symmetry repeat will be deleted. (This includes any crosslinkers.) False by default.
Referenced by set_trim_info(), and trim_to_single_repeat().