Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
protocols::simple_moves::SetTorsion Class Reference

A mover to change one torsion angle. More...

#include <SetTorsion.hh>

Inheritance diagram for protocols::simple_moves::SetTorsion:
Inheritance graph
[legend]

Public Member Functions

 SetTorsion ()
 default ctor More...
 
 ~SetTorsion () override
 
void apply (core::pose::Pose &pose) override
 Main Method. More...
 
protocols::moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
protocols::moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
 
core::Size n_torsion_sets () const
 
utility::vector1< core::Sizeresidue_list (core::Size iset, core::pose::Pose const &pose)
 
core::Real angle (core::Size const iset, core::Real const &old_angle) const
 Actually get the value that the torsion will be set to. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &) override
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
 
std::string torsion_name (core::Size const iset)
 
void set_fold_tree_root (core::Size const root)
 Sets a residue index that will serve as the root of the FoldTree for the SetTorsion operation. More...
 
core::Size get_fold_tree_root () const
 Returns the residue index that will serve as the root of the FoldTree for the SetTorsion operation. More...
 
void add_perturbation_type (std::string const &type_in)
 Add a perturbation type to the list of perturbation types. More...
 
TorsionPerturbType perturbation_type (core::Size const index) const
 Get a perturbation type. More...
 
void add_perturbation_magnitude (core::Real const &mag_in)
 Add a perturbation magnitude to the list of perturbation magnitudes. More...
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
core::Real perturbation_magnitude (core::Size const index) const
 Get a perturbation magnitude. 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 void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. 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...
 
virtual bool mover_provides_citation_info () const
 Does this mover provide information about how to cite it? More...
 
virtual utility::vector1
< basic::citation_manager::CitationCollectionCOP > 
provide_citation_info () const
 Provide the citation. More...
 
virtual bool mover_is_unpublished () const
 Does this mover indicate that it is unpublished (and, by extension, that the author should be included in publications resulting from it)? More...
 
virtual utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const
 Provide a list of authors and their e-mail addresses, as strings. More...
 

Static Public Member Functions

static std::string mover_name ()
 
static std::string torsion_ct_name (std::string)
 
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 Types

typedef protocols::moves::Mover parent
 

Private Attributes

bool random_set_
 
utility::vector1< std::string > angle_
 
utility::vector1< std::string > residues_
 
utility::vector1< std::string > torsion_name_
 
utility::vector1< std::string > custom_rama_map_
 Used for custom rama sampling. One entry per <Torsion> block; defaults to "". More...
 
utility::vector1< core::Sizeextending_
 
utility::vector1
< utility::vector1
< core::id::NamedAtomID > > 
torsion_atoms_
 
utility::vector1
< TorsionPerturbType
perturbation_type_
 The type of perturbation, if the "perturb" option is used. More...
 
utility::vector1< core::Realperturbation_magnitude_
 The perturbation magnitude, if the "perturb" option is used. More...
 
core::Size fold_tree_root_
 The root for the FoldTree during the operation. If 0, the default FoldTree is used. The FoldTree is reset to the input FoldTree after the operation. 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

A mover to change one torsion angle.

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::simple_moves::SetTorsion::SetTorsion ( )

default ctor

protocols::simple_moves::SetTorsion::~SetTorsion ( )
overridedefault

Member Function Documentation

void protocols::simple_moves::SetTorsion::add_perturbation_magnitude ( core::Real const &  mag_in)
inline

Add a perturbation magnitude to the list of perturbation magnitudes.

Checks for non-negative magnitude. After this operation, the perturbation_magnitude_ vector is one entry longer.

References perturbation_magnitude_.

Referenced by parse_my_tag().

void protocols::simple_moves::SetTorsion::add_perturbation_type ( std::string const &  type_in)
inline

Add a perturbation type to the list of perturbation types.

Currently only allows "uniform" or "gaussian". Checks for proper input. After this operation, the perturbation_type_ vector is one entry longer.

References perturbation_type_, protocols::simple_moves::perturbtorsion_gaussian, and protocols::simple_moves::perturbtorsion_uniform.

Referenced by parse_my_tag().

core::Real protocols::simple_moves::SetTorsion::angle ( core::Size const  iset,
core::Real const &  old_angle 
) const

Actually get the value that the torsion will be set to.

Depending on settings, this will look up a value, generate a random value, or perturb an input value.

References angle_, perturbation_magnitude(), perturbation_type(), protocols::simple_moves::perturbtorsion_gaussian, protocols::simple_moves::perturbtorsion_uniform, and core::scoring::rg.

Referenced by apply().

void protocols::simple_moves::SetTorsion::apply ( core::pose::Pose )
overridevirtual

Main Method.

Implements protocols::moves::Mover.

References core::chemical::ResidueTypeBase::aa(), core::conformation::Residue::aa(), core::chemical::aa_unk, core::kinematics::FoldTree::add_edge(), angle(), angle_, core::conformation::Conformation::chain_begin(), core::conformation::Conformation::chain_end(), core::kinematics::FoldTree::clear(), core::pose::Pose::conformation(), custom_rama_map_, core::scoring::Ramachandran::draw_random_phi_psi_from_extra_cdf(), core::pose::Pose::fold_tree(), fold_tree_root_, core::scoring::Ramachandran::get_ramatable_type_by_name(), core::chemical::ResidueType::is_alpha_aa(), core::chemical::ResidueType::is_beta_aa(), core::chemical::ResidueTypeBase::is_peptoid(), n_torsion_sets(), core::conformation::Conformation::num_chains(), core::pose::Pose::omega(), core::pose::Pose::phi(), core::pose::Pose::psi(), core::scoring::rama, core::scoring::Ramachandran::random_phipsi_from_rama(), random_set_, core::kinematics::FoldTree::reorder(), core::pose::Pose::residue(), residue_list(), core::pose::Pose::residue_type(), residues_, core::scoring::rg, core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), core::pose::Pose::set_psi(), core::pose::Pose::set_theta(), core::conformation::Conformation::set_torsion_angle(), core::kinematics::FoldTree::show(), core::pose::Pose::size(), core::pose::Pose::theta(), core::conformation::Conformation::torsion_angle(), torsion_atoms_, torsion_name(), protocols::simple_moves::TR(), core::conformation::Residue::type(), and core::pose::Pose::update_residue_neighbors().

protocols::moves::MoverOP protocols::simple_moves::SetTorsion::clone ( ) const
inlineoverridevirtual

Return a clone of the Mover object.

clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.

Reimplemented from protocols::moves::Mover.

protocols::moves::MoverOP protocols::simple_moves::SetTorsion::fresh_instance ( ) const
inlineoverridevirtual

Generates a new Mover object freshly created with the default ctor.

fresh_instance is meant to return a new object of this class, created with the default constructor. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function. This is used by the August 08 job distributor.

Reimplemented from protocols::moves::Mover.

core::Size protocols::simple_moves::SetTorsion::get_fold_tree_root ( ) const
inline

Returns the residue index that will serve as the root of the FoldTree for the SetTorsion operation.

References fold_tree_root_.

std::string protocols::simple_moves::SetTorsion::get_name ( ) const
overridevirtual

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

Implements protocols::moves::Mover.

References mover_name().

std::string protocols::simple_moves::SetTorsion::mover_name ( )
static
core::Size protocols::simple_moves::SetTorsion::n_torsion_sets ( ) const
inline

References residues_.

Referenced by apply().

void protocols::simple_moves::SetTorsion::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
overridevirtual

Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing.

Some movers need not be parsed, so we shouldn't force people to reimplement this method. However, we should be chatty about the fact that someone is using a RosettaScripts interface to a mover which didn't define parse_my_tag()

Reimplemented from protocols::moves::Mover.

References add_perturbation_magnitude(), add_perturbation_type(), angle_, custom_rama_map_, extending_, fold_tree_root_, random_set_, residues_, torsion_atoms_, and torsion_name_.

core::Real protocols::simple_moves::SetTorsion::perturbation_magnitude ( core::Size const  index) const
inline

Get a perturbation magnitude.

References perturbation_magnitude_.

Referenced by angle().

TorsionPerturbType protocols::simple_moves::SetTorsion::perturbation_type ( core::Size const  index) const
inline

Get a perturbation type.

References perturbation_type_.

Referenced by angle().

void protocols::simple_moves::SetTorsion::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static
utility::vector1< core::Size > protocols::simple_moves::SetTorsion::residue_list ( core::Size  iset,
core::pose::Pose const &  pose 
)
void protocols::simple_moves::SetTorsion::set_fold_tree_root ( core::Size const  root)
inline

Sets a residue index that will serve as the root of the FoldTree for the SetTorsion operation.

The FoldTree is reset afterwards (i.e. the mover does not permanently change the FoldTree).

References fold_tree_root_.

std::string protocols::simple_moves::SetTorsion::torsion_ct_name ( std::string  tag_name)
static

Referenced by provide_xml_schema().

std::string protocols::simple_moves::SetTorsion::torsion_name ( core::Size const  iset)
inline

References torsion_name_.

Referenced by apply().

Member Data Documentation

utility::vector1< std::string > protocols::simple_moves::SetTorsion::angle_
private

Referenced by angle(), apply(), and parse_my_tag().

utility::vector1< std::string > protocols::simple_moves::SetTorsion::custom_rama_map_
private

Used for custom rama sampling. One entry per <Torsion> block; defaults to "".

Referenced by apply(), and parse_my_tag().

utility::vector1< core::Size > protocols::simple_moves::SetTorsion::extending_
private

Referenced by parse_my_tag(), and residue_list().

core::Size protocols::simple_moves::SetTorsion::fold_tree_root_
private

The root for the FoldTree during the operation. If 0, the default FoldTree is used. The FoldTree is reset to the input FoldTree after the operation.

Referenced by apply(), get_fold_tree_root(), parse_my_tag(), and set_fold_tree_root().

utility::vector1< core::Real > protocols::simple_moves::SetTorsion::perturbation_magnitude_
private

The perturbation magnitude, if the "perturb" option is used.

Defaults to 1.0.

Referenced by add_perturbation_magnitude(), and perturbation_magnitude().

utility::vector1< TorsionPerturbType > protocols::simple_moves::SetTorsion::perturbation_type_
private

The type of perturbation, if the "perturb" option is used.

Current options are "uniform" and "gaussian". Defaults to "gaussian".

Referenced by add_perturbation_type(), and perturbation_type().

bool protocols::simple_moves::SetTorsion::random_set_
private

Referenced by apply(), and parse_my_tag().

utility::vector1< std::string > protocols::simple_moves::SetTorsion::residues_
private
utility::vector1< utility::vector1< core::id::NamedAtomID > > protocols::simple_moves::SetTorsion::torsion_atoms_
private

Referenced by apply(), and parse_my_tag().

utility::vector1< std::string > protocols::simple_moves::SetTorsion::torsion_name_
private

Referenced by parse_my_tag(), and torsion_name().


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