Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::protein_interface_design::movers::PlaceStubMover Class Reference

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

#include <PlaceStubMover.hh>

Inheritance diagram for protocols::protein_interface_design::movers::PlaceStubMover:
Inheritance graph
[legend]

Public Types

typedef std::pair< calc_taskop_movers::DesignRepackMoverOP, bool > DesignMoverFoldTreePair
 
typedef std::pair< calc_taskop_movers::DesignRepackMoverOP, core::RealDesignMoverRealPair
 
- 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
 

Public Member Functions

 PlaceStubMover ()
 
 PlaceStubMover (protocols::hotspot_hashing::HotspotStubSetOP stub_set, core::Real score_threshold, core::Size const host_chain, protocols::filters::FilterOP final_filter, bool const hurry=false, bool const triage_positions=true, core::Real stub_energy_threshold=1.0)
 
 ~PlaceStubMover () override
 
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...
 
void stub_minimize_movers (utility::vector1< DesignMoverRealPair > const &dmrp)
 
utility::vector1< DesignMoverRealPair > const & stub_minimize_movers () const
 
void apply (core::pose::Pose &pose) override
 
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 get_name () const override
 Each derived class must specify its name. The class name. More...
 
- Public Member Functions inherited from protocols::calc_taskop_movers::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 (core::select::residue_selector::ResidueSelectorOP min_sc)
 
utility::vector1< bool > min_sc (core::pose::Pose const &pose) const
 
bool min_sc_set () const
 
void min_bb (core::select::residue_selector::ResidueSelectorOP min_bb)
 
utility::vector1< bool > min_bb (core::pose::Pose const &pose) 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
 
 ~DesignRepackMover () override
 
void target_residues (core::select::residue_selector::ResidueSelectorCOP setting)
 Replace the current target_residue setting with the passed residue selector. More...
 
core::select::residue_selector::ResidueSelectorCOP target_residues () const
 
utility::vector1< core::Sizetarget_residues (core::pose::Pose const &pose) const
 
- 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 std::string mover_name ()
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from protocols::calc_taskop_movers::DesignRepackMover
static utility::tag::XMLSchemaComplexTypeGeneratorOP get_xsd_complex_type ()
 
- 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 place_stub (core::pose::Pose &pose, core::conformation::Residue const &res_stub, core::Size const res_num)
 
void stub_based_atom_tree (core::pose::Pose &pose, core::conformation::Residue const &res_stub, core::Real const cst_sdev)
 
void add_coordinate_constraints_for_res_stub (core::pose::Pose &pose, core::conformation::Residue const &res_stub, core::Real const cst_sdev)
 add new coordinate constraints to the Pose based on the conformation of res_stub More...
 
bool SelectStubIteratively (protocols::hotspot_hashing::HotspotStubSet::Hs_vec::const_iterator stub_it)
 
bool StubMinimize (core::pose::Pose &pose, protocols::hotspot_hashing::HotspotStubCOP=nullptr, core::Size const host_res=0, bool const hurry=false)
 
void refresh_coordinate_constraints (core::pose::Pose &pose, core::Real const sdev)
 
void refresh_coordinate_constraints (core::pose::Pose &pose, CoordinateConstraintStackOP csts, core::scoring::func::FuncOP newfunc)
 recursively remove the constraints in csts from the input pose, and then reclone them as new constraints with a new func object. More...
 
void refresh_coordinate_constraints (core::pose::Pose &pose, utility::vector1< core::scoring::constraints::ConstraintCOP > &cst_vector, core::scoring::func::FuncOP newfunc)
 
void cst_cleanup (core::pose::Pose &pose)
 resets pose's constraints upon stub failure remove constraints if they exist. To be used on failure More...
 
void final_cleanup (core::pose::Pose &pose)
 clean everything before exiting More...
 
utility::vector1< core::Sizedisallowed_host_pos (core::pose::Pose const &pose) const
 

Private Attributes

core::Real score_threshold_
 maximum bonus_value for accepting a stub More...
 
core::Size host_chain_
 where is the stub to be placed More...
 
protocols::hotspot_hashing::HotspotStubSetOP stub_set_
 stub set we're choosing from More...
 
core::pose::PoseCOP reference_pose_
 Reference Pose (usually the input) with which to initialize the stubset with. More...
 
bool add_constraints_
 or use fold tree rb jump. More...
 
utility::vector1< core::Realcoord_cst_std_
 what std to use for coordinate cst in each design mover More...
 
core::select::residue_selector::ResidueSelectorCOP allowed_host_pos_
 The inverse of the disallowed_host_pos(). More...
 
utility::vector1< DesignMoverRealPairstub_minimize_movers_
 
utility::vector1< DesignMoverFoldTreePairdesign_movers_
 utility::vector1< core::Real > coord_cst_std_stub_minimize_; More...
 
protocols::filters::FilterOP after_placement_filter_
 immediately after placement + minimization More...
 
protocols::filters::FilterOP final_filter_
 a filter at the last stage of placement. Defaults to TrueFilter More...
 
utility::vector1< std::pair< core::Size, bool > > placed_stubs_
 
core::kinematics::FoldTreeOP default_fold_tree_
 
core::scoring::constraints::ConstraintCOPs curr_coordinate_constraints_
 
CoordinateConstraintStackOP coor_constraint_stack_
 
CoordinateConstraintStackOP residual_coordinate_constraints_
 store for the sake of updating the coordinate constraints of all the descendant PlaceStubMovers that successfully placed their Stubs and left their coordinate constraints in place; this object will not be a stack, but merely a vector of ConstraintOPs that are shared between mother and daughter PlaceStubMovers. More...
 
bool leave_coord_csts_after_placement_
 
core::Real post_placement_sdev_
 
core::scoring::constraints::ConstraintCOPs saved_bb_constraints_
 
utility::vector1< core::Sizesaved_prevent_repacking_
 
utility::vector1< std::pair< core::Size, bool > > saved_placed_stubs_
 
bool place_scaffold_
 use inverse rotamers to place the scaffold More...
 
core::Real max_cb_cb_dist_
 the maximum distance for a stub to be considered a a neighbour to a host residue More...
 
bool hurry_
 Should we speed up StubMinimize at the expense of accuracy? More...
 
bool triage_positions_
 
core::Real stub_energy_threshold_
 Maximum per-residue energy the placed stub can have to be saved. More...
 
core::pack::task::TaskFactoryOP residue_level_tasks_for_placed_hotspots_
 
utility::pointer::shared_ptr< basic::datacache::DataMapObj< utility::vector1< core::Size > > > residue_numbers_
 
std::string user_defined_name_
 dflt NULL; a vector of residue numbers placed on the basic::datacache::DataMap which specifies all the placed residues. Useful to communicate between movers and filters, without the pesky NotifyMovers strategy More...
 

Additional Inherited Members

- 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::calc_taskop_movers::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< bool > min_rb_
 
utility::vector1< bool > curr_min_sc_
 
utility::vector1< bool > curr_min_bb_
 
utility::vector1< bool > curr_min_rb_
 
bool min_rb_set_
 
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< bool > allowed_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

◆ DesignMoverFoldTreePair

◆ DesignMoverRealPair

Constructor & Destructor Documentation

◆ PlaceStubMover() [1/2]

protocols::protein_interface_design::movers::PlaceStubMover::PlaceStubMover ( )

◆ PlaceStubMover() [2/2]

protocols::protein_interface_design::movers::PlaceStubMover::PlaceStubMover ( protocols::hotspot_hashing::HotspotStubSetOP  stub_set,
core::Real  score_threshold,
core::Size const  host_chain,
protocols::filters::FilterOP  final_filter,
bool const  hurry = false,
bool const  triage_positions = true,
core::Real  stub_energy_threshold = 1.0 
)

References final_filter_, and stub_set_.

◆ ~PlaceStubMover()

protocols::protein_interface_design::movers::PlaceStubMover::~PlaceStubMover ( )
overridedefault

Member Function Documentation

◆ add_coordinate_constraints_for_res_stub()

void protocols::protein_interface_design::movers::PlaceStubMover::add_coordinate_constraints_for_res_stub ( core::pose::Pose pose,
core::conformation::Residue const &  res_stub,
core::Real const  cst_sdev 
)
private

add new coordinate constraints to the Pose based on the conformation of res_stub

References protocols::protein_interface_design::movers::add_coordinate_constraints(), curr_coordinate_constraints_, host_chain_, placed_stubs_, and TR_debug().

Referenced by stub_based_atom_tree().

◆ apply()

void protocols::protein_interface_design::movers::PlaceStubMover::apply ( core::pose::Pose pose)
overridevirtual

Placing a stub in the context of a complex by putting a stub on top of the scaffold. The following steps are taken: 0. minimization of rb dofs in a bb_stub_constraint-dominated force field. Only the constraints implied by the stubset associated with this placestub mover will be applied.

  1. stub selection, by iterating over a randomly shuffled stubset.
  2. finding a residue on the host chain where the stub may be placed (distance cutoff).
  3. testing the stub's repulsive energy on that residue in the context of a poly-alanine host chain.
  4. repack/minimize the rb orientation of the pose (plus a little bb minimization around the stub, but no repacking of host_chain_).
  5. testing the stub's total_score in the context of the full pose.
  6. a vector of user-defined movers derived from DesignRepackMover. These may include further placestub movers. If this is the case, these movers can be constrained with coordinate constraints that are placed on the functional groups of the stub sidechain. These movers can also define the force constant of these harmonic constraints. Notice that this design should in principle be fully extensible to as many stub placement and design movers as the user chooses. If any of the user defined design movers (including subsequent stub placement) fail, another stub placement is attempted and the user defined movers are called again.
  7. user_defined final_filter_ is called. If the pose does not pass this, place stub return to iterate over another stub. If all stubs fail, the mover signals failure and exits.

Reimplemented from protocols::calc_taskop_movers::DesignRepackMover.

References core::conformation::Residue::aa(), core::chemical::aa_ala, core::chemical::aa_gly, core::chemical::aa_pro, protocols::jd2::add_string_string_pair_to_current_job(), after_placement_filter_, protocols::protein_interface_design::movers::BuildAlaPose::apply(), core::scoring::backbone_stub_constraint, core::conformation::Conformation::chain_begin(), core::conformation::Conformation::chain_end(), core::pose::Pose::conformation(), core::pose::Pose::constraint_set(), coor_constraint_stack_, coord_cst_std_, core::scoring::coordinate_constraint, core::scoring::ScoreFunctionFactory::create_score_function(), cst_cleanup(), curr_coordinate_constraints_, default_fold_tree_, design_movers_, disallowed_host_pos(), core::kinematics::distance(), core::sequence::end, core::scoring::fa_rep, protocols::moves::FAIL_RETRY, final_cleanup(), final_filter_, protocols::protein_interface_design::movers::finalize_stub_set(), core::pose::Pose::fold_tree(), core::scoring::get_score_function(), host_chain_, hurry_, core::chemical::ResidueType::is_disulfide_bonded(), max_cb_cb_dist_, protocols::moves::modify_ResId_based_object(), protocols::moves::MS_SUCCESS, core::conformation::Residue::name3(), place_scaffold_, place_stub(), placed_stubs_, protocols::calc_taskop_movers::DesignRepackMover::prevent_repacking(), protocols::calc_taskop_movers::DesignRepackMover::prevent_repacking_, reference_pose_, refresh_coordinate_constraints(), protocols::hotspot_hashing::remove_hotspot_constraints_from_pose(), residual_coordinate_constraints_, core::pose::Pose::residue(), residue_level_tasks_for_placed_hotspots_, residue_numbers_, protocols::rosetta_scripts::residue_packer_states(), core::scoring::rg, saved_bb_constraints_, saved_placed_stubs_, saved_prevent_repacking_, SelectStubIteratively(), protocols::moves::Mover::set_last_move_status(), core::scoring::SOFT_REP_DESIGN_WTS, stats_TR(), stub_energy_threshold_, stub_set_, StubMinimize(), protocols::calc_taskop_movers::DesignRepackMover::task_factory(), protocols::protein_interface_design::movers::test_res_res_aln(), core::scoring::total_score, protocols::protein_interface_design::movers::TR(), TR_debug(), triage_positions_, core::conformation::Residue::type(), user_defined_name_, and core::conformation::Residue::xyz().

◆ clone()

protocols::moves::MoverOP protocols::protein_interface_design::movers::PlaceStubMover::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.

◆ cst_cleanup()

void protocols::protein_interface_design::movers::PlaceStubMover::cst_cleanup ( core::pose::Pose pose)
private

resets pose's constraints upon stub failure remove constraints if they exist. To be used on failure

reapply saved coord constraints and refresh placed_stubs and prevent_repacking Nov09 changed logic: curr_coordinate constraints are removed only

References curr_coordinate_constraints_, placed_stubs_, protocols::calc_taskop_movers::DesignRepackMover::prevent_repacking_, core::pose::Pose::remove_constraints(), saved_placed_stubs_, saved_prevent_repacking_, protocols::protein_interface_design::movers::TR(), and core::pose::Pose::update_residue_neighbors().

Referenced by apply(), and final_cleanup().

◆ disallowed_host_pos()

utility::vector1< core::Size > protocols::protein_interface_design::movers::PlaceStubMover::disallowed_host_pos ( core::pose::Pose const &  pose) const
private

Locations where stubs are not allowed to be placed

Note
This is similar to DesignRepackMover::prevent_repacking() but we want to allow repacking at steps after stub placement.

References allowed_host_pos_, core::conformation::Conformation::chain_begin(), core::conformation::Conformation::chain_end(), core::pose::Pose::conformation(), host_chain_, and protocols::protein_interface_design::movers::TR().

Referenced by apply().

◆ final_cleanup()

void protocols::protein_interface_design::movers::PlaceStubMover::final_cleanup ( core::pose::Pose pose)
private

◆ fresh_instance()

protocols::moves::MoverOP protocols::protein_interface_design::movers::PlaceStubMover::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.

◆ get_name()

std::string protocols::protein_interface_design::movers::PlaceStubMover::get_name ( ) const
overridevirtual

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

Reimplemented from protocols::calc_taskop_movers::DesignRepackMover.

References mover_name().

◆ mover_name()

std::string protocols::protein_interface_design::movers::PlaceStubMover::mover_name ( )
static

◆ parse_my_tag()

void protocols::protein_interface_design::movers::PlaceStubMover::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

◆ place_stub()

void protocols::protein_interface_design::movers::PlaceStubMover::place_stub ( core::pose::Pose pose,
core::conformation::Residue const &  res_stub,
core::Size const  res_num 
)
private

◆ provide_xml_schema()

void protocols::protein_interface_design::movers::PlaceStubMover::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ refresh_coordinate_constraints() [1/3]

void protocols::protein_interface_design::movers::PlaceStubMover::refresh_coordinate_constraints ( core::pose::Pose pose,
CoordinateConstraintStackOP  csts,
core::scoring::func::FuncOP  newfunc 
)
private

recursively remove the constraints in csts from the input pose, and then reclone them as new constraints with a new func object.

References refresh_coordinate_constraints().

◆ refresh_coordinate_constraints() [2/3]

void protocols::protein_interface_design::movers::PlaceStubMover::refresh_coordinate_constraints ( core::pose::Pose pose,
core::Real const  cst_sdev 
)
private

remove all coordinate constraints from pose and then reapply them, changing the HarmonicFunc's sdev to a new value Nov09 Changing of previous logic. Now, only changing the sdev associated with the coordinate constraints. Jul15 NO! Constraints need to be constant after they are added to a Pose.

References coor_constraint_stack_, curr_coordinate_constraints_, core::pose::Pose::remove_constraints(), residual_coordinate_constraints_, and TR_debug().

Referenced by apply(), final_cleanup(), and refresh_coordinate_constraints().

◆ refresh_coordinate_constraints() [3/3]

void protocols::protein_interface_design::movers::PlaceStubMover::refresh_coordinate_constraints ( core::pose::Pose pose,
utility::vector1< core::scoring::constraints::ConstraintCOP > &  cst_vector,
core::scoring::func::FuncOP  newfunc 
)
private

◆ SelectStubIteratively()

bool protocols::protein_interface_design::movers::PlaceStubMover::SelectStubIteratively ( protocols::hotspot_hashing::HotspotStubSet::Hs_vec::const_iterator  stub_it)
private

selects stubs by iterating over the stub_set_. Returns the status of stub selection

References score_threshold_, stub_set_, and protocols::protein_interface_design::movers::TR().

Referenced by apply().

◆ stub_based_atom_tree()

void protocols::protein_interface_design::movers::PlaceStubMover::stub_based_atom_tree ( core::pose::Pose pose,
core::conformation::Residue const &  res_stub,
core::Real const  cst_sdev 
)
private

changes the pose's fold-tree to connect the nearest residue on the target to the stub on the scaffold. The foldtree connects the last carbon atom before the stub's functional group. That can be useful in minimization of the pose, b/c the stub's interaction with the target will not be lost due to minimization. Notice that the pose's fold tree changes in the process and so it is usually a good idea to save the old foldtree and reinstate it after minimization. Can work with multiple stubs. In that case, rb jumps are introduced between the target and each of the stubs and a cutpoint is introduced in the putative circle that has just been formed in the fold tree. Alternatively, if the current stub is to be added via a constraint, then a coordinate constraint is set up for this stub

References protocols::hybridization::add_constraints(), add_coordinate_constraints_for_res_stub(), protocols::protein_interface_design::movers::SetAtomTree::create_atom_tree(), core::pose::Pose::fold_tree(), host_chain_, placed_stubs_, and protocols::protein_interface_design::movers::TR().

Referenced by place_stub().

◆ stub_minimize_movers() [1/2]

utility::vector1< DesignMoverRealPair > const& protocols::protein_interface_design::movers::PlaceStubMover::stub_minimize_movers ( ) const
inline

References stub_minimize_movers_.

◆ stub_minimize_movers() [2/2]

void protocols::protein_interface_design::movers::PlaceStubMover::stub_minimize_movers ( utility::vector1< DesignMoverRealPair > const &  dmrp)
inline

References stub_minimize_movers_.

◆ StubMinimize()

bool protocols::protein_interface_design::movers::PlaceStubMover::StubMinimize ( core::pose::Pose pose,
protocols::hotspot_hashing::HotspotStubCOP  stub = nullptr,
core::Size const  host_residue = 0,
bool const  hurry = false 
)
private

minimize the rb orientation in the presence of a strong bb_stub_constraint potential, while reducing all other attractive scores. fa_sol is also reduced to avoid blowing up the structure. Returns false if current pose has no backbone_stub_constraint score. Removes stub constraints after minimization. If more than one stub has already been placed then the jumps are held rigid during minimization If a stub is specified, then a custom-made hotspot constraint is used

References core::pose::Pose::add_constraints(), core::conformation::Residue::atom_index(), core::scoring::backbone_stub_constraint, core::conformation::Conformation::chain_begin(), core::conformation::Conformation::chain_end(), core::scoring::chainbreak, protocols::score_filters::ScoreTypeFilter::compute(), core::pose::Pose::conformation(), core::pose::Pose::constraint_set(), core::scoring::coordinate_constraint, core::kinematics::distance(), core::sequence::end, core::scoring::fa_atr, core::scoring::fa_dun, core::scoring::fa_pair, core::scoring::fa_rep, core::scoring::fa_sol, core::scoring::get_score_function(), core::scoring::hbond_bb_sc, core::scoring::hbond_lr_bb, core::scoring::hbond_sc, core::scoring::hbond_sr_bb, host_chain_, protocols::mean_field::max(), protocols::mean_field::min(), protocols::calc_taskop_movers::DesignRepackMover::min_rb(), protocols::protein_interface_design::MinimizeInterface(), protocols::antibody::design::no_min, core::pose::Pose::num_jump(), placed_stubs_, protocols::calc_taskop_movers::DesignRepackMover::prevent_repacking(), protocols::calc_taskop_movers::DesignRepackMover::prevent_repacking_, core::pose::Pose::remove_constraints(), protocols::hotspot_hashing::remove_hotspot_constraints_from_pose(), core::pose::Pose::residue(), core::conformation::Conformation::residue(), core::pose::Pose::size(), stats_TR(), stub_minimize_movers_, stub_set_, protocols::protein_interface_design::movers::test_res_res_aln(), protocols::protein_interface_design::movers::TR(), TR_debug(), and core::conformation::Residue::xyz().

Referenced by apply().

Member Data Documentation

◆ add_constraints_

bool protocols::protein_interface_design::movers::PlaceStubMover::add_constraints_
private

or use fold tree rb jump.

Referenced by parse_my_tag(), and place_stub().

◆ after_placement_filter_

protocols::filters::FilterOP protocols::protein_interface_design::movers::PlaceStubMover::after_placement_filter_
private

immediately after placement + minimization

Referenced by apply(), and parse_my_tag().

◆ allowed_host_pos_

core::select::residue_selector::ResidueSelectorCOP protocols::protein_interface_design::movers::PlaceStubMover::allowed_host_pos_
private

The inverse of the disallowed_host_pos().

Referenced by disallowed_host_pos(), and parse_my_tag().

◆ coor_constraint_stack_

CoordinateConstraintStackOP protocols::protein_interface_design::movers::PlaceStubMover::coor_constraint_stack_
private

◆ coord_cst_std_

utility::vector1< core::Real > protocols::protein_interface_design::movers::PlaceStubMover::coord_cst_std_
private

what std to use for coordinate cst in each design mover

dflt false

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

◆ curr_coordinate_constraints_

core::scoring::constraints::ConstraintCOPs protocols::protein_interface_design::movers::PlaceStubMover::curr_coordinate_constraints_
private

saves the coordinate constraints that this mover has associated with the pose. At the end of the run, they should be removed

Referenced by add_coordinate_constraints_for_res_stub(), apply(), cst_cleanup(), final_cleanup(), PlaceStubMover(), and refresh_coordinate_constraints().

◆ default_fold_tree_

core::kinematics::FoldTreeOP protocols::protein_interface_design::movers::PlaceStubMover::default_fold_tree_
private

this is the foldtree with which we come into the first PlaceStubMover. It will be passed between movers for the user to decide that it should be used.

Referenced by apply(), and place_stub().

◆ design_movers_

utility::vector1< DesignMoverFoldTreePair > protocols::protein_interface_design::movers::PlaceStubMover::design_movers_
private

utility::vector1< core::Real > coord_cst_std_stub_minimize_;

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

◆ final_filter_

protocols::filters::FilterOP protocols::protein_interface_design::movers::PlaceStubMover::final_filter_
private

a filter at the last stage of placement. Defaults to TrueFilter

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

◆ host_chain_

core::Size protocols::protein_interface_design::movers::PlaceStubMover::host_chain_
private

◆ hurry_

bool protocols::protein_interface_design::movers::PlaceStubMover::hurry_
private

Should we speed up StubMinimize at the expense of accuracy?

Referenced by apply(), and parse_my_tag().

◆ leave_coord_csts_after_placement_

bool protocols::protein_interface_design::movers::PlaceStubMover::leave_coord_csts_after_placement_
private

Referenced by final_cleanup(), and parse_my_tag().

◆ max_cb_cb_dist_

core::Real protocols::protein_interface_design::movers::PlaceStubMover::max_cb_cb_dist_
private

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

Referenced by apply(), and parse_my_tag().

◆ place_scaffold_

bool protocols::protein_interface_design::movers::PlaceStubMover::place_scaffold_
private

use inverse rotamers to place the scaffold

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

◆ placed_stubs_

utility::vector1< std::pair< core::Size, bool > > protocols::protein_interface_design::movers::PlaceStubMover::placed_stubs_
private

where stubs were placed and whether they use constraints. vector is necessary to maintain the order of the placed stubs

Referenced by add_coordinate_constraints_for_res_stub(), apply(), cst_cleanup(), final_cleanup(), place_stub(), PlaceStubMover(), stub_based_atom_tree(), and StubMinimize().

◆ post_placement_sdev_

core::Real protocols::protein_interface_design::movers::PlaceStubMover::post_placement_sdev_
private

Referenced by final_cleanup(), and parse_my_tag().

◆ reference_pose_

core::pose::PoseCOP protocols::protein_interface_design::movers::PlaceStubMover::reference_pose_
private

Reference Pose (usually the input) with which to initialize the stubset with.

Referenced by apply(), and parse_my_tag().

◆ residual_coordinate_constraints_

CoordinateConstraintStackOP protocols::protein_interface_design::movers::PlaceStubMover::residual_coordinate_constraints_
private

store for the sake of updating the coordinate constraints of all the descendant PlaceStubMovers that successfully placed their Stubs and left their coordinate constraints in place; this object will not be a stack, but merely a vector of ConstraintOPs that are shared between mother and daughter PlaceStubMovers.

Referenced by apply(), final_cleanup(), and refresh_coordinate_constraints().

◆ residue_level_tasks_for_placed_hotspots_

core::pack::task::TaskFactoryOP protocols::protein_interface_design::movers::PlaceStubMover::residue_level_tasks_for_placed_hotspots_
private

This task factory is used by placed stubs to add prevent repacking instructions to design movers that would be invoked after PlaceStub finishes successfully. It's a way to communicate the placements that should not be changed to design movers down stream. Note that this is a different implementation than the one used in PlaceSimultaneously.

Referenced by apply(), and parse_my_tag().

◆ residue_numbers_

utility::pointer::shared_ptr< basic::datacache::DataMapObj< utility::vector1< core::Size > > > protocols::protein_interface_design::movers::PlaceStubMover::residue_numbers_
private

Referenced by apply(), and parse_my_tag().

◆ saved_bb_constraints_

core::scoring::constraints::ConstraintCOPs protocols::protein_interface_design::movers::PlaceStubMover::saved_bb_constraints_
private

◆ saved_placed_stubs_

utility::vector1< std::pair< core::Size, bool > > protocols::protein_interface_design::movers::PlaceStubMover::saved_placed_stubs_
private

Referenced by apply(), cst_cleanup(), and PlaceStubMover().

◆ saved_prevent_repacking_

utility::vector1< core::Size > protocols::protein_interface_design::movers::PlaceStubMover::saved_prevent_repacking_
private

Referenced by apply(), and cst_cleanup().

◆ score_threshold_

core::Real protocols::protein_interface_design::movers::PlaceStubMover::score_threshold_
private

maximum bonus_value for accepting a stub

Referenced by parse_my_tag(), and SelectStubIteratively().

◆ stub_energy_threshold_

core::Real protocols::protein_interface_design::movers::PlaceStubMover::stub_energy_threshold_
private

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

Referenced by apply(), and parse_my_tag().

◆ stub_minimize_movers_

utility::vector1< DesignMoverRealPair > protocols::protein_interface_design::movers::PlaceStubMover::stub_minimize_movers_
private

movers for stub minimization, vector of pairs of movers and whether or not to apply bb constraints during the mover

Referenced by parse_my_tag(), PlaceStubMover(), stub_minimize_movers(), and StubMinimize().

◆ stub_set_

protocols::hotspot_hashing::HotspotStubSetOP protocols::protein_interface_design::movers::PlaceStubMover::stub_set_
private

stub set we're choosing from

Referenced by apply(), parse_my_tag(), PlaceStubMover(), SelectStubIteratively(), and StubMinimize().

◆ triage_positions_

bool protocols::protein_interface_design::movers::PlaceStubMover::triage_positions_
private

Should we triage host positions based on smart criteria, such as current position? Leave false if partners have not already been docked.

Referenced by apply(), and parse_my_tag().

◆ user_defined_name_

std::string protocols::protein_interface_design::movers::PlaceStubMover::user_defined_name_
private

dflt NULL; a vector of residue numbers placed on the basic::datacache::DataMap which specifies all the placed residues. Useful to communicate between movers and filters, without the pesky NotifyMovers strategy

Referenced by apply(), and parse_my_tag().


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