Rosetta Protocols  2014.35
Public Types | Public Member Functions | Private Attributes | List of all members
protocols::protein_interface_design::movers::PlaceSimultaneouslyMover Class Reference

choose a stub based on mc sampling, and place it on the pose. Iterates over stubs until one matches criteria. More...

#include <PlaceSimultaneouslyMover.hh>

Public Types

typedef std::pair
< protocols::hotspot_hashing::HotspotStubSetOP,
< protocols::hotspot_hashing::HotspotStubOP,
core::Size > > 
typedef std::pair
< protocols::simple_moves::DesignRepackMoverOP,
typedef std::pair
< simple_moves::DesignRepackMoverOP,
typedef std::pair
< simple_moves::DesignRepackMoverOP,
typedef std::pair
< protocols::hotspot_hashing::HotspotStubSetOP,
 ResidueAuction is keyed by energy => we select the residue,stub,stubset combination with the best energy for each stubset,stub combination. More...
typedef std::pair< core::Real,
std::pair< core::Size,
StubsetStubPair > > 
typedef std::multimap
< core::Real, std::pair
< core::Size, StubsetStubPair > > 
- 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::stringStrings

Public Member Functions

 PlaceSimultaneouslyMover ()
protocols::moves::MoverOP clone () const
 Return a clone of the Mover object. More...
protocols::moves::MoverOP fresh_instance () const
 Generates a new Mover object freshly created with the default ctor. More...
virtual void apply (core::pose::Pose &pose)
 a dummy apply so that instantiation of this baseclass would be possible. More...
virtual std::string get_name () const
 Each derived class must specify its name. The class name. More...
bool minimize_no_bb (core::pose::Pose &pose) const
 minimize towards clouds of stubs made up of all the stub sets More...
void minimize_all (core::pose::Pose &pose, core::Size const minimization_steps) const
 minimize simultaneously towards the placed stubs from each of the stub sets returns false if one of the filters fails More...
bool pair_sets_with_positions (core::pose::Pose &pose)
 pair each stub set with a position on the scaffold More...
void design (core::pose::Pose &pose)
 conducts user-specified design movers. Returns true if the energy per residue filter passes for each of the placed hotspots More...
bool place_stubs (core::pose::Pose &pose) const
 will be removed More...
virtual void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &, protocols::filters::Filters_map const &, protocols::moves::Movers_map const &, core::pose::Pose const &)
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
void final_cleanup (core::pose::Pose &pose)
void refresh_coordinate_constraints (core::pose::Pose &pose, core::Real const coord_sdev)
 removes and reinstates coordinate constraints for all placed hotspots according to coord_sdev More...
core::pack::task::PackerTaskOP create_task_for_hotspot_packing (core::pose::Pose const &)
core::pack::task::PackerTaskOP create_task_for_allhotspot_packing (core::pose::Pose const &)
void add_coordinatecst_for_hotspot_packing (core::pose::Pose &)
 coordinate constraints to pose More...
void stub_sets (utility::vector1< StubSetStubPos > const sets)
void host_chain (core::Size const host_chain)
virtual ~PlaceSimultaneouslyMover ()
- Public Member Functions inherited from protocols::simple_moves::DesignRepackMover
 DesignRepackMover ()
 DesignRepackMover (std::string const name)
void setup_packer_and_movemap (core::pose::Pose const &pose)
void min_rb (utility::vector1< bool > const min_rb)
void min_rb (bool const min_rb)
 in most cases, there would only be one rb dof making it useful to have a non-vector accessor to min_rb_. However, if the pose has multiple jumps, setting min_rb_ in this way might cause trouble in other parts of the code. More...
utility::vector1< bool > const & min_rb () const
bool min_rb_set () const
void min_sc (utility::vector1< bool > const &min_sc)
utility::vector1< bool > const & min_sc () const
bool min_sc_set () const
void min_bb (utility::vector1< bool > const &min_bb)
utility::vector1< bool > const & min_bb () const
bool min_bb_set () const
bool optimize_foldtree () const
void optimize_foldtree (bool const opt)
void prevent_repacking (utility::vector1< core::Size > const p)
utility::vector1< core::Size >
const & 
prevent_repacking () const
void restrict_to_repacking (utility::vector1< core::Size > const p)
utility::vector1< core::Size >
const & 
restrict_to_repacking () const
void design (bool const des)
bool design () const
void set_scorefxn_repack (core::scoring::ScoreFunctionCOP scorefxn)
void set_scorefxn_minimize (core::scoring::ScoreFunctionCOP scorefxn)
core::scoring::ScoreFunctionOP scorefxn_repack () const
core::scoring::ScoreFunctionOP scorefxn_minimize () const
core::pack::task::PackerTaskCOP task () const
core::pack::task::PackerTaskOPtask ()
void clear_task ()
 after fiddling with a task from outside this mover, clear it, or else, on the next iteration through the mover the changes will be remembered More...
void clear_task_factory ()
void use_preset_task (bool const bt)
bool use_preset_task () const
void task_factory (core::pack::task::TaskFactoryOP p)
core::pack::task::TaskFactoryOPtask_factory ()
core::pack::task::TaskFactoryOP task_factory () const
virtual ~DesignRepackMover ()
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
virtual ~Mover ()
virtual MoverSP create ()
virtual void apply (core::io::serialization::PipeMap &pmap)
virtual void parse_state (SerializableState const &state)
virtual void parse_def (utility::lua::LuaObject const &def, utility::lua::LuaObject const &score_fxns, utility::lua::LuaObject const &tasks, MoverCacheSP cache)
virtual void save_state (SerializableState &state)
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
 Mover (Mover const &other)
Moveroperator= (Mover const &other)
 assignment operator More...
virtual core::Real last_proposal_density_ratio ()
std::string const & type () const
void set_type (std::string const &setting)
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...
void set_current_tag (std::string const &new_tag)
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
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...
void type (const std::string &type_in)
std::string get_type () const
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...
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 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...
void set_current_job (protocols::jobdist::BasicJobCOP job)
jobdist::BasicJobCOP get_current_job () const
virtual void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...

Private Attributes

core::Size host_chain_
 where is the stub to be placed More...
core::pose::Pose saved_pose_
utility::vector1< StubSetStubPosstub_sets_
 stub sets and placed positions More...
utility::vector1< StubSetStubPossaved_stub_sets_
< protocols::hotspot_hashing::HotspotStubSetOP,
core::Real max_cb_cb_dist_
 the maximum distance for a stub to be considered a a neighbour to a host residue More...
core::Real coor_cst_cutoff_
core::Real stub_energy_threshold_
 Maximum per-residue energy the placed stub can have to be saved. More...
utility::vector1< MoverRealPairminimization_movers_
core::Size minimization_repeats_before_placement_
core::Size minimization_repeats_after_placement_
core::scoring::constraints::ConstraintCOPs saved_bb_constraints_
protocols::filters::FilterOP after_placement_filter_
protocols::filters::FilterOP final_filter_
utility::vector1< MoverRealPairdesign_movers_
core::Size explosion_
core::pack::task::TaskFactoryOP residue_level_tasks_for_placed_hotspots_
PlacementAuctionMoverOP auction_
protocols::protein_interface_design::filters::StubScoreFilterOP stub_score_filter_
 does the pose have any active constraints? More...
PlacementMinimizationMoverOP rbstub_minimization_
core::scoring::constraints::ConstraintCOPs saved_coord_constraints_

Additional Inherited Members

- 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...
- 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::simple_moves::DesignRepackMover
core::scoring::ScoreFunctionOP scorefxn_repack_
core::scoring::ScoreFunctionOP scorefxn_minimize_
bool repack_partner1_
bool repack_partner2_
bool design_partner1_
bool design_partner2_
utility::vector1< boolmin_sc_
utility::vector1< boolcurr_min_sc_
utility::vector1< boolmin_rb_
utility::vector1< boolmin_bb_
utility::vector1< boolcurr_min_bb_
utility::vector1< boolcurr_min_rb_
bool min_rb_set_
bool min_sc_set_
bool min_bb_set_
utility::vector1< core::Sizetarget_residues_
core::Real interface_distance_cutoff_
bool repack_non_ala_
bool optimize_foldtree_
bool automatic_repacking_definition_
core::pack::task::PackerTaskOP task_
bool use_preset_task_
utility::vector1< boolallowed_aas_
utility::vector1< core::Sizeprevent_repacking_
utility::vector1< core::Sizerestrict_to_repacking_
core::pack::task::TaskFactoryOP task_factory_
bool symmetry_

Detailed Description

choose a stub based on mc sampling, and place it on the pose. Iterates over stubs until one matches criteria.

Member Typedef Documentation

ResidueAuction is keyed by energy => we select the residue,stub,stubset combination with the best energy for each stubset,stub combination.

Constructor & Destructor Documentation

protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::PlaceSimultaneouslyMover ( )
protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::~PlaceSimultaneouslyMover ( )

Member Function Documentation

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::add_coordinatecst_for_hotspot_packing ( core::pose::Pose pose)
void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::apply ( core::pose::Pose )
protocols::moves::MoverOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::clone ( ) const

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.

Implements protocols::simple_moves::DesignRepackMover.

core::pack::task::PackerTaskOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::create_task_for_allhotspot_packing ( core::pose::Pose const &  pose)

setup the residue level tasks for each of the paired positions in stub_sets_. Add all rotamers from the auction results

References EX_THREE_THIRD_STEP_STDDEVS, core::chemical::num_canonical_aas, runtime_assert, core::scoring::TR, and type.

core::pack::task::PackerTaskOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::create_task_for_hotspot_packing ( core::pose::Pose const &  pose)

setup the residue level tasks for each of the paired positions in stub_sets_. This sets the explosion level as well as the allowed identities at each position Note that two things happen in this function: 1) the task is modified to reflect the rotamer explosion operations. 2) residue_level_tasks_for_placed_hotspots_ is updated with these operations

References EX_THREE_THIRD_STEP_STDDEVS, core::chemical::num_canonical_aas, runtime_assert, and type.

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::design ( core::pose::Pose pose)

conducts user-specified design movers. Returns true if the energy per residue filter passes for each of the placed hotspots

wraps around the user-defined design movers. Applies coordinate constraints as specified by the user. Prevents repacking of placed hotspots

References core::pose::Pose::add_constraints(), protocols::protein_interface_design::movers::BuildAlaPose::apply(), core::pose::Pose::constraint_set(), core::scoring::coordinate_constraint, empty, prevent_repacking, protocols::simple_moves::DesignRepackMover::prevent_repacking(), protocols::protein_interface_design::remove_coordinate_constraints_from_pose(), runtime_assert, protocols::simple_moves::DesignRepackMover::task_factory(), and core::scoring::TR.

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::final_cleanup ( core::pose::Pose pose)

This should be called before failing placesimultaneously.

References core::pose::Pose::clear(), and core::scoring::TR.

protocols::moves::MoverOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::fresh_instance ( ) const

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.

Implements protocols::simple_moves::DesignRepackMover.

std::string protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::get_name ( ) const

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

Reimplemented from protocols::simple_moves::DesignRepackMover.

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::host_chain ( core::Size const  host_chain)

References host_chain(), and host_chain_.

Referenced by host_chain().

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimize_all ( core::pose::Pose pose,
core::Size const  minimization_steps 
) const
bool protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimize_no_bb ( core::pose::Pose pose) const

minimize towards clouds of stubs made up of all the stub sets

if bb_cst score is 0 return false, o/w true

preliminary rb minimization step in the presence of strong hotspot constraints. Reports failure if pre-minimization bb_cst score is 0. Note that setting up constraints should be done outside

References core::scoring::backbone_stub_constraint, protocols::simple_filters::ScoreTypeFilter::compute(), protocols::protein_interface_design::movers::make_stub_scorefxn(), min_rb, MinimizeInterface(), protocols::antibody::design::no_min, core::pose::Pose::total_residue(), and core::scoring::TR.

bool protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::pair_sets_with_positions ( core::pose::Pose pose)

pair each stub set with a position on the scaffold

if no mutually exclusive matches are found for all sets, return false

positions on the scaffold are auctioned to hotspot stub sets. The stubset that has a stub with the lowest constraint energy with respect to that position wins the auction. If the number of positions that are paired is less than the number of hotspot families, then failure is reported. If pairing succeeds, each of the paired positions is allowed to adopt an identity from its parent stubset that has below 0 constraint energy. Following which pack_rotamers is called with ex1, ex2, and rotamer explosion if directed by the user. Finally, each placed hotspot is tested for its total energy and for a user-defined filter. If one of these filters fails, failure is reported. Note that residues other than the lowest constraint energy identities might emerge from this process.

References protocols::simple_filters::EnergyPerResidueFilter::apply(), core::pose::Pose::clear(), core::pack::task::TaskFactory::clone(), clone(), core::scoring::coordinate_constraint, distance(), numeric::xyzVector< class >::distance(), core::scoring::get_score_function(), core::conformation::Residue::is_protein(), protocols::protein_interface_design::movers::make_stub_scorefxn(), min_rb, MinimizeInterface(), protocols::moves::modify_ResId_based_object(), protocols::moves::MS_SUCCESS, protocols::antibody::design::no_min, core::pack::task::PackerTask::nonconst_residue_task(), core::pose::Pose::num_jump(), pack_rotamers(), core::pack::task::ResidueLevelTask::prevent_repacking(), prevent_repacking, core::pack::task::TaskFactory::push_back(), protocols::protein_interface_design::remove_coordinate_constraints_from_pose(), core::pose::Pose::residue(), sc_min, core::pose::Pose::total_residue(), core::scoring::total_score, core::scoring::TR, core::pose::Pose::update_residue_neighbors(), and core::conformation::Residue::xyz().

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data,
protocols::filters::Filters_map const &  filters,
protocols::moves::Movers_map const &  movers,
core::pose::Pose const &  pose 

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 stop executions. This, however, calls attention to the lack of this method, which could be due to something as silly as a wrong parameters definition.

Reimplemented from protocols::simple_moves::DesignRepackMover.

References core::conformation::Residue::aa(), core::chemical::aa_ala, core::chemical::aa_gly, core::chemical::aa_pro, basic::options::OptionKeys::hotspot::allow_proline, core::conformation::Conformation::chain_begin(), core::conformation::Conformation::chain_end(), protocols::filters::TrueFilter::clone(), protocols::moves::Mover::clone(), core::pose::Pose::conformation(), core::pack::task::TaskFactory::create_packer_task(), protocols::environment::find_mover(), protocols::protein_interface_design::movers::generate_taskfactory_and_add_task_awareness(), basic::datacache::DataMap::get(), utility::pointer::owning_ptr< T >::get(), core::scoring::get_score_function(), basic::datacache::DataMap::has(), core::pack::task::PackerTask::initialize_from_command_line(), core::conformation::Residue::is_protein(), min_rb, core::pack::task::PackerTask::nonconst_residue_task(), core::chemical::num_canonical_aas, basic::options::option, core::pack::task::PackerTask::or_include_current(), core::pack::pack_rotamers(), core::pack::task::parse_resfile(), protocols::rosetta_scripts::parse_task_operations(), core::pack::task::ResidueLevelTask::prevent_repacking(), basic::options::OptionKeys::packing::resfile, core::pose::Pose::residue(), core::pack::task::ResidueLevelTask::restrict_absent_canonical_aas(), restype, runtime_assert, core::pose::Pose::total_residue(), core::scoring::TR, user, and utility_exit_with_message.

bool protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::place_stubs ( core::pose::Pose pose) const
void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::refresh_coordinate_constraints ( core::pose::Pose pose,
core::Real const  coord_sdev 

removes and reinstates coordinate constraints for all placed hotspots according to coord_sdev

removes the coordinate constraints from the pose and reapplies them individually.

References core::pose::Pose::add_constraints(), protocols::protein_interface_design::movers::add_coordinate_constraints(), protocols::protein_interface_design::remove_coordinate_constraints_from_pose(), and core::scoring::TR.

void protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::stub_sets ( utility::vector1< StubSetStubPos > const  sets)

References stub_sets_.

Member Data Documentation

protocols::filters::FilterOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::after_placement_filter_
PlacementAuctionMoverOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::auction_
core::Real protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::coor_cst_cutoff_
utility::vector1< MoverRealPair > protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::design_movers_
core::Size protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::explosion_
protocols::filters::FilterOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::final_filter_
core::Size protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::host_chain_

where is the stub to be placed

Referenced by host_chain(), and PlaceSimultaneouslyMover().

core::Real protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::max_cb_cb_dist_

the maximum distance for a stub to be considered a a neighbour to a host residue

Referenced by PlaceSimultaneouslyMover().

utility::vector1< MoverRealPair > protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimization_movers_
core::Size protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimization_repeats_after_placement_
core::Size protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimization_repeats_before_placement_
PlacementMinimizationMoverOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::rbstub_minimization_
core::pack::task::TaskFactoryOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::residue_level_tasks_for_placed_hotspots_

This task factory is used by placesimultaneously in two ways: 1) internally to create a packer task for hotspot placement and user-defined design movers. 2) For design movers downstream of PlaceSimultaneously so that they are aware of the choices made by PlaceSimultaneously. Note that item 1 is not implemented in PlaceStub. This means that PlaceSimultaneously always uses the task factory, whereas PlaceStub only uses it if the user specifies TaskAware design movers.

Referenced by PlaceSimultaneouslyMover().

core::scoring::constraints::ConstraintCOPs protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::saved_bb_constraints_
core::scoring::constraints::ConstraintCOPs protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::saved_coord_constraints_
core::pose::Pose protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::saved_pose_
utility::vector1< StubSetStubPos > protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::saved_stub_sets_
core::Real protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::stub_energy_threshold_

Maximum per-residue energy the placed stub can have to be saved.

Referenced by PlaceSimultaneouslyMover().

protocols::protein_interface_design::filters::StubScoreFilterOP protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::stub_score_filter_

does the pose have any active constraints?

Referenced by PlaceSimultaneouslyMover().

std::map< protocols::hotspot_hashing::HotspotStubSetOP, protocols::filters::FilterOP > protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::stub_set_filters_
utility::vector1< StubSetStubPos > protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::stub_sets_

stub sets and placed positions

Referenced by PlaceSimultaneouslyMover(), and stub_sets().

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