Rosetta
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::cyclic_peptide::SymmetricCycpepAlign Class Reference

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>

Inheritance diagram for protocols::cyclic_peptide::SymmetricCycpepAlign:
Inheritance graph
[legend]

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...
 
- Public Member Functions inherited from protocols::moves::Mover
 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 Stringsinfo ()
 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 Public Member Functions inherited from protocols::moves::Mover
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

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseCOP PoseCOP
 
typedef std::list< std::string > Strings
 
- Protected Member Functions inherited from protocols::moves::Mover
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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SymmetricCycpepAlign() [1/2]

protocols::cyclic_peptide::SymmetricCycpepAlign::SymmetricCycpepAlign ( )

Constructors ///.

Default constructor

◆ SymmetricCycpepAlign() [2/2]

protocols::cyclic_peptide::SymmetricCycpepAlign::SymmetricCycpepAlign ( SymmetricCycpepAlign const &  src)
default

Copy constructor (not needed unless you need deep copies)

Copy constructor.

◆ ~SymmetricCycpepAlign()

protocols::cyclic_peptide::SymmetricCycpepAlign::~SymmetricCycpepAlign ( )
overridedefault

Destructor (important for properly forward-declaring smart-pointer members)

Member Function Documentation

◆ align_to_origin()

void protocols::cyclic_peptide::SymmetricCycpepAlign::align_to_origin ( core::pose::Pose pose) const
private

◆ align_to_zaxis()

void protocols::cyclic_peptide::SymmetricCycpepAlign::align_to_zaxis ( core::pose::Pose pose,
core::Size const  symmrepeats,
bool const  mirrorsymm 
) const
private

◆ angle_threshold()

core::Real const& protocols::cyclic_peptide::SymmetricCycpepAlign::angle_threshold ( ) const
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().

◆ apply()

void protocols::cyclic_peptide::SymmetricCycpepAlign::apply ( core::pose::Pose pose)
overridevirtual

◆ auto_detect_symmetry()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::auto_detect_symmetry ( ) const
inline

Get whether we're auto-detecting symmetry.

References auto_detect_symmetry_.

Referenced by apply().

◆ clone()

protocols::moves::MoverOP protocols::cyclic_peptide::SymmetricCycpepAlign::clone ( ) const
overridevirtual

required in the context of the parser/scripting scheme

Reimplemented from protocols::moves::Mover.

◆ count_protein_residues()

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::count_protein_residues ( core::pose::Pose const &  pose) const
private

◆ do_auto_detection_of_symmetry()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::do_auto_detection_of_symmetry ( core::pose::Pose const &  pose,
core::Size symmrepeats,
bool &  mirrorsymm 
) const
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.

Parameters
[in]poseThe quasi-symmetric pose.
[out]symmrepeatsThe number of symmetry repeats.
[out]mirrorsymmIs 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().

◆ do_symmetry_checks()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::do_symmetry_checks ( core::pose::Pose const &  pose,
core::Size const  symmrepeats,
bool const  mirrorsymm 
) const
private

◆ do_trim_to_single_repeat()

void protocols::cyclic_peptide::SymmetricCycpepAlign::do_trim_to_single_repeat ( core::pose::Pose pose,
core::Size const  symmrepeats,
core::Size const  repeat_to_preserve 
) const
private

◆ fresh_instance()

moves::MoverOP protocols::cyclic_peptide::SymmetricCycpepAlign::fresh_instance ( ) const
overridevirtual

required in the context of the parser/scripting scheme

Reimplemented from protocols::moves::Mover.

◆ get_name()

std::string protocols::cyclic_peptide::SymmetricCycpepAlign::get_name ( ) const
overridevirtual

Each derived class must specify its name. The class name.

Implements protocols::moves::Mover.

References mover_name().

◆ invert()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::invert ( ) const
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().

◆ last_symmetry_mirror()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::last_symmetry_mirror ( ) const
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_.

◆ last_symmetry_repeats()

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::last_symmetry_repeats ( ) const
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_.

◆ mirror_symmetry()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::mirror_symmetry ( ) const
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().

◆ mover_name()

std::string protocols::cyclic_peptide::SymmetricCycpepAlign::mover_name ( )
static

◆ parse_my_tag()

void protocols::cyclic_peptide::SymmetricCycpepAlign::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

◆ provide_citation_info()

void protocols::cyclic_peptide::SymmetricCycpepAlign::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overridevirtual

Provide the citation.

Reimplemented from protocols::moves::Mover.

◆ provide_xml_schema()

void protocols::cyclic_peptide::SymmetricCycpepAlign::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ repeat_to_preserve()

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::repeat_to_preserve ( ) const
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().

◆ select_protein_residues()

core::select::residue_selector::ResidueSelectorCOP protocols::cyclic_peptide::SymmetricCycpepAlign::select_protein_residues ( core::pose::Pose const &  pose) const
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().

◆ set_angle_threshold()

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().

◆ set_auto_detect_symmetry()

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().

◆ set_invert()

void protocols::cyclic_peptide::SymmetricCycpepAlign::set_invert ( bool const  setting)
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().

◆ set_last_symmetry()

void protocols::cyclic_peptide::SymmetricCycpepAlign::set_last_symmetry ( core::Size const  last_symm_in,
bool const  last_symm_mirror_in 
)
private

Set the symmetry of the last auto-detected peptide symmetry.

References last_symmetry_mirror_, and last_symmetry_repeats_.

Referenced by apply().

◆ set_symmetry()

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().

◆ set_trim_info()

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.

Parameters
[in]do_trimIf set to true, the peptide will be trimmed down to a single repeat. False by default (no trimming).
[in]repeat_to_preserveIf 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().

◆ show()

void protocols::cyclic_peptide::SymmetricCycpepAlign::show ( std::ostream &  output = std::cout) const
overridevirtual

Show the contents of the Mover.

Reimplemented from protocols::moves::Mover.

References protocols::moves::Mover::show().

Referenced by protocols::cyclic_peptide::operator<<().

◆ symmetry_repeats()

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::symmetry_repeats ( ) const
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().

◆ trim_to_single_repeat()

bool protocols::cyclic_peptide::SymmetricCycpepAlign::trim_to_single_repeat ( ) const
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().

Member Data Documentation

◆ angle_threshold_

core::Real protocols::cyclic_peptide::SymmetricCycpepAlign::angle_threshold_
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().

◆ auto_detect_symmetry_

bool protocols::cyclic_peptide::SymmetricCycpepAlign::auto_detect_symmetry_
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().

◆ invert_

bool protocols::cyclic_peptide::SymmetricCycpepAlign::invert_
private

Aligns the peptide normal with the inverse Z-axis instead of with the Z-axis.

Referenced by invert(), and set_invert().

◆ last_symmetry_mirror_

bool protocols::cyclic_peptide::SymmetricCycpepAlign::last_symmetry_mirror_
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().

◆ last_symmetry_repeats_

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::last_symmetry_repeats_
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().

◆ mirror_symmetry_

bool protocols::cyclic_peptide::SymmetricCycpepAlign::mirror_symmetry_
private

Does this peptide have mirror symmetry? Default "false".

Referenced by mirror_symmetry(), and set_symmetry().

◆ repeat_to_preserve_

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::repeat_to_preserve_
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().

◆ symmetry_repeats_

core::Size protocols::cyclic_peptide::SymmetricCycpepAlign::symmetry_repeats_
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().

◆ trim_to_single_repeat_

bool protocols::cyclic_peptide::SymmetricCycpepAlign::trim_to_single_repeat_
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().


The documentation for this class was generated from the following files: