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

Multistate design mover used for RECON multistate design Takes in multiple poses, applies residue linking constraints based on sequence of all input poses and runs a design submover that has been specified in the tag Only accessible through recon application. More...

#include <MSDMover.hh>

Inheritance diagram for protocols::recon_design::MSDMover:
Inheritance graph
[legend]

Public Member Functions

 MSDMover ()
 empty constructor fills values with the values read in from the commandline More...
 
 MSDMover (protocols::moves::MoverOP mover, utility::vector1< std::string > const &resfiles)
 Constructor takes in the design mover and a list of resfiles that specifies the residues to constrain to one another. More...
 
 ~MSDMover () override
 
moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
void parse_my_tag (TagCOP, basic::datacache::DataMap &) override
 Read options from RosettaScripts. More...
 
void apply (Pose &pose) override
 Movers derived from VectorPoseMover must define two apply methods: apply and apply_mpi, depending on whether the protocol is run in MPI or not Running in MPI will distribute each pose to a separate node, so the mover will operate on one pose. More...
 
void apply_mpi (Pose &pose) override
 Pure virtual method to apply this mover under MPI. More...
 
utility::vector1< core::scoring::constraints::ConstraintCOPapply_linked_constraints (Pose &pose, utility::vector1< std::string > other_pose_sequences, utility::vector1< core::Size > my_designable_residues)
 Based on the sequence of the other poses, apply a residue type constraint to encourage poses to adopt same sequence. Returns a COP of the constraints that were applied so they can be removed later. More...
 
void setup_mover (Pose &pose)
 Initialize mover by checking that input poses were passed correctly, a design mover was specified, and finding the pose given to apply() in the poses_ vector. More...
 
moves::MoverOP design_mover ()
 Getters and setters. More...
 
void design_mover (moves::MoverOP design_mover)
 
utility::vector1< std::string > resfiles ()
 
void resfiles (utility::vector1< std::string > resfiles)
 
void weight (core::Real weight)
 
core::Real weight ()
 
utility::vector1< utility::vector1< core::Size > > designable_residues ()
 
- Public Member Functions inherited from protocols::moves::VectorPoseMover
 VectorPoseMover ()
 Constructor. More...
 
 ~VectorPoseMover () override
 
 VectorPoseMover (std::string const &name)
 
 VectorPoseMover (VectorPoseMover const &other)
 
void set_poses (utility::vector1< core::pose::PoseOP > const &poses)
 Set the vector of poses for the mover to act upon. 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 void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...
 

Static Public Member Functions

static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 Specify XML schema. More...
 
- 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 parse_resfiles ()
 Populates designable_residues_ with a list of designable residues corresponding to the poses in poses_, corresponding element-wise (designables_residues[0] matches to poses_[0], etc) More...
 
void update_packer_task ()
 The design mover can't be given its task operations on a global level in the RosettaScript, bc each of the input poses can have different designable residues. This function assigns the design mover its tasks based on the designable residues of the current pose. More...
 
void set_current_pose (core::Size current_pose)
 Assign the index of the pose that will be operated on by the current mover. More...
 
std::string resfile_at (core::Size index)
 Get the resfile corresponding to the pose at index. If only one resfile is present then it will be returned regardless of the value of index. More...
 
void run_post_design_mover (core::pose::Pose &pose)
 Runs the post design mover, if present. More...
 

Private Attributes

protocols::moves::MoverOP design_mover_
 Private class members. More...
 
protocols::moves::MoverOP post_mover_
 Mover applied after design. More...
 
utility::vector1< std::string > resfiles_
 List of resfile file names, must be either 1 resfile, or same length as poses_. More...
 
core::Real weight_
 Weight to give the residue linking constraints. More...
 
core::Size current_pose_
 Index of the pose to be designed. More...
 
utility::vector1< utility::vector1< core::Size > > designable_residues_
 
bool debug_
 Output extra debug messages. 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...
 
- Protected Attributes inherited from protocols::moves::VectorPoseMover
utility::vector1< core::pose::PoseOPposes_
 Vector of all the input poses. More...
 

Detailed Description

Multistate design mover used for RECON multistate design Takes in multiple poses, applies residue linking constraints based on sequence of all input poses and runs a design submover that has been specified in the tag Only accessible through recon application.

Constructor & Destructor Documentation

◆ MSDMover() [1/2]

protocols::recon_design::MSDMover::MSDMover ( )

empty constructor fills values with the values read in from the commandline

Referenced by clone().

◆ MSDMover() [2/2]

protocols::recon_design::MSDMover::MSDMover ( protocols::moves::MoverOP  mover,
utility::vector1< std::string > const &  resfiles 
)

Constructor takes in the design mover and a list of resfiles that specifies the residues to constrain to one another.

◆ ~MSDMover()

protocols::recon_design::MSDMover::~MSDMover ( )
override

Member Function Documentation

◆ apply()

void protocols::recon_design::MSDMover::apply ( Pose pose)
overridevirtual

◆ apply_linked_constraints()

utility::vector1< core::scoring::constraints::ConstraintCOP > protocols::recon_design::MSDMover::apply_linked_constraints ( Pose pose,
utility::vector1< std::string >  other_pose_sequences,
utility::vector1< core::Size my_designable_residues 
)

Based on the sequence of the other poses, apply a residue type constraint to encourage poses to adopt same sequence. Returns a COP of the constraints that were applied so they can be removed later.

Based on the sequence of the other poses, apply a residue type constraint to encourage poses to adopt same sequence. Returns a COP of the constraints that were applied so they can be removed later

References core::pose::Pose::add_constraint(), debug_, protocols::recon_design::get_candidate_AAs(), protocols::recon_design::TR(), and weight_.

Referenced by apply(), and apply_mpi().

◆ apply_mpi()

void protocols::recon_design::MSDMover::apply_mpi ( Pose pose)
overridevirtual

◆ clone()

moves::MoverOP protocols::recon_design::MSDMover::clone ( ) const
overridevirtual

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.

References MSDMover().

◆ design_mover() [1/2]

moves::MoverOP protocols::recon_design::MSDMover::design_mover ( )

Getters and setters.

References design_mover_.

Referenced by design_mover().

◆ design_mover() [2/2]

void protocols::recon_design::MSDMover::design_mover ( moves::MoverOP  design_mover)

References design_mover(), and design_mover_.

◆ designable_residues()

utility::vector1< utility::vector1< core::Size > > protocols::recon_design::MSDMover::designable_residues ( )

References designable_residues_.

◆ fresh_instance()

moves::MoverOP protocols::recon_design::MSDMover::fresh_instance ( ) const
overridevirtual

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.

◆ get_name()

std::string protocols::recon_design::MSDMover::get_name ( ) const
overridevirtual

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

Reimplemented from protocols::moves::VectorPoseMover.

References protocols::recon_design::MSDMoverCreator::mover_name().

◆ parse_my_tag()

void protocols::recon_design::MSDMover::parse_my_tag ( TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

Read options from RosettaScripts.

Reimplemented from protocols::moves::Mover.

References debug_, design_mover_, protocols::rosetta_scripts::parse_mover(), post_mover_, resfiles_, and weight_.

◆ parse_resfiles()

void protocols::recon_design::MSDMover::parse_resfiles ( )
private

Populates designable_residues_ with a list of designable residues corresponding to the poses in poses_, corresponding element-wise (designables_residues[0] matches to poses_[0], etc)

Populates designable_residues_ with a list of designable residues corresponding to the poses in poses_, corresponding element-wise (designables_residues[0] matches to poses_[0], etc)

References designable_residues_, protocols::recon_design::get_designable_residues(), protocols::moves::VectorPoseMover::poses_, and resfile_at().

Referenced by setup_mover().

◆ provide_xml_schema()

void protocols::recon_design::MSDMover::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ resfile_at()

std::string protocols::recon_design::MSDMover::resfile_at ( core::Size  index)
private

Get the resfile corresponding to the pose at index. If only one resfile is present then it will be returned regardless of the value of index.

Get the resfile corresponding to the pose at index. If only one resfile is present then it will be returned regardless of the value of index.

References resfiles_.

Referenced by apply_mpi(), parse_resfiles(), and update_packer_task().

◆ resfiles() [1/2]

utility::vector1< std::string > protocols::recon_design::MSDMover::resfiles ( )

References resfiles_.

Referenced by resfiles().

◆ resfiles() [2/2]

void protocols::recon_design::MSDMover::resfiles ( utility::vector1< std::string >  resfiles)

References resfiles(), and resfiles_.

◆ run_post_design_mover()

void protocols::recon_design::MSDMover::run_post_design_mover ( core::pose::Pose pose)
private

Runs the post design mover, if present.

References post_mover_, and protocols::recon_design::TR().

Referenced by apply(), and apply_mpi().

◆ set_current_pose()

void protocols::recon_design::MSDMover::set_current_pose ( core::Size  current_pose)
private

Assign the index of the pose that will be operated on by the current mover.

References current_pose_.

◆ setup_mover()

void protocols::recon_design::MSDMover::setup_mover ( Pose pose)

Initialize mover by checking that input poses were passed correctly, a design mover was specified, and finding the pose given to apply() in the poses_ vector.

Helper functions.

Initialize mover by checking that input poses were passed correctly, a design mover was specified, and finding the pose given to apply() in the poses_ vector

References current_pose_, design_mover_, protocols::recon_design::find_pose_in_vector(), parse_resfiles(), protocols::moves::VectorPoseMover::poses_, and update_packer_task().

Referenced by apply().

◆ update_packer_task()

void protocols::recon_design::MSDMover::update_packer_task ( )
private

The design mover can't be given its task operations on a global level in the RosettaScript, bc each of the input poses can have different designable residues. This function assigns the design mover its tasks based on the designable residues of the current pose.

The design mover can't be given its task operations on a global level in the RosettaScript, bc each of the input poses can have different designable residues. This function assigns the design mover its tasks based on the designable residues of the current pose

References current_pose_, design_mover_, and resfile_at().

Referenced by apply_mpi(), and setup_mover().

◆ weight() [1/2]

core::Real protocols::recon_design::MSDMover::weight ( )

References weight_.

Referenced by weight().

◆ weight() [2/2]

void protocols::recon_design::MSDMover::weight ( core::Real  weight)

References weight(), and weight_.

Member Data Documentation

◆ current_pose_

core::Size protocols::recon_design::MSDMover::current_pose_
private

Index of the pose to be designed.

Referenced by apply(), apply_mpi(), set_current_pose(), setup_mover(), and update_packer_task().

◆ debug_

bool protocols::recon_design::MSDMover::debug_
private

Output extra debug messages.

Referenced by apply(), apply_linked_constraints(), apply_mpi(), and parse_my_tag().

◆ design_mover_

protocols::moves::MoverOP protocols::recon_design::MSDMover::design_mover_
private

Private class members.

Mover used for design. Typically a PackRotamersMover but not necessar

Referenced by apply(), apply_mpi(), design_mover(), parse_my_tag(), setup_mover(), and update_packer_task().

◆ designable_residues_

utility::vector1< utility::vector1< core::Size > > protocols::recon_design::MSDMover::designable_residues_
private

Vector of designable residues for each pose in poses_. Must be same length as poses_. Also each pose must have same number of designable residues (i.e. designable_residues[1].size() == designable_residues[2].size())

Referenced by apply(), designable_residues(), and parse_resfiles().

◆ post_mover_

protocols::moves::MoverOP protocols::recon_design::MSDMover::post_mover_
private

Mover applied after design.

Referenced by parse_my_tag(), and run_post_design_mover().

◆ resfiles_

utility::vector1< std::string > protocols::recon_design::MSDMover::resfiles_
private

List of resfile file names, must be either 1 resfile, or same length as poses_.

Referenced by parse_my_tag(), resfile_at(), and resfiles().

◆ weight_

core::Real protocols::recon_design::MSDMover::weight_
private

Weight to give the residue linking constraints.

Referenced by apply_linked_constraints(), parse_my_tag(), and weight().


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