Rosetta
|
Shared functionality for protocols that dock ligands. More...
#include <LigandBaseProtocol.hh>
Public Member Functions | |
LigandBaseProtocol () | |
~LigandBaseProtocol () override | |
LigandBaseProtocolOP | shared_from_this () |
core::scoring::ScoreFunctionOP | get_scorefxn () |
core::scoring::ScoreFunctionCOP | get_scorefxn () const |
void | apply (core::pose::Pose &pose) override |
Main Method. More... | |
std::string | get_name () const override |
Each derived class must specify its name. The class name. More... | |
void | restrain_protein_Calphas (core::pose::Pose &pose, utility::vector1< bool > const &is_restrained, core::scoring::func::FuncOP restr_func) |
void | reorder_foldtree_around_mobile_regions (core::pose::Pose &pose, core::Size const &jump_id, utility::vector1< bool > const &mobile_bb, core::Size const &lig_id) const |
reorders a fold tree such that movement in the mobile regions will More... | |
void | get_non_bb_clashing_rotamers (core::pose::Pose const &pose, core::Size seqpos, core::scoring::ScoreFunctionCOP scofx, utility::vector1< core::conformation::ResidueCOP > &accepted_rotamers) const |
![]() | |
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 MoverOP | clone () const |
Return a clone of the Mover object. 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... | |
virtual MoverOP | fresh_instance () const |
Generates a new Mover object freshly created with the default ctor. 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 |
virtual void | parse_my_tag (TagCOP tag, basic::datacache::DataMap &data) |
Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
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 Strings & | info () |
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 core::Size | get_ligand_jump_id (core::pose::Pose const &pose) |
static core::Size | get_ligand_id (core::pose::Pose const &pose) |
Return the residue sequence number for our ligand. More... | |
static core::Size | get_ligand_id (core::pose::Pose const &pose, core::Size jump_id) |
Return the residue sequence number for our ligand. More... | |
![]() | |
static std::string | name () |
static void | register_options () |
Overload this static method if you access options within the mover. More... | |
Protected Member Functions | |
core::scoring::ScoreFunctionOP | make_tweaked_scorefxn (std::string const &weights_tag, bool estat_exclude_protein, bool estat_upweight, bool hbonds_downweight) |
core::Vector | choose_desired_centroid (core::pose::Pose const &pose, core::Size jump_id, utility::vector1< core::Vector >) |
void | move_ligand_to_desired_centroid (core::pose::Pose &pose, core::Size jump_id, utility::vector1< core::Vector > start_from_pts) |
void | move_ligand_to_desired_centroid (core::pose::Pose &pose, core::Size jump_id, core::Vector desired_centroid) |
core::kinematics::MoveMapOP | make_movemap (core::pose::Pose const &pose, core::Size jump_id, core::Real sc_padding, bool include_all_rsds, bool include_backbone, bool include_ligands, bool include_water) const |
core::pack::task::PackerTaskOP | make_packer_task (core::pose::Pose const &pose, ObjexxFCL::FArray1D_bool const &allow_repack, bool ligand_protonation) const |
Shared machinery for the next two. More... | |
core::pack::task::PackerTaskOP | make_packer_task (core::pose::Pose const &pose, int jump_id, core::Real sc_padding, bool include_all_rsds, bool ligand_protonation) const |
Receptor (interface?) plus ligand. More... | |
core::pack::task::PackerTaskOP | make_packer_task_ligand_only (core::pose::Pose const &pose, int jump_id, bool ligand_protonation) const |
Just ligand, not the receptor. More... | |
void | find_interface_rsds (core::pose::Pose const &pose, int jump_id, core::Real padding, ObjexxFCL::FArray1D_bool &is_interface) const |
void | find_interface_backbone (core::pose::Pose const &pose, int jump_id, core::Real cutoff_dist, utility::vector1< bool > &is_interface, utility::vector1< bool > &is_around_interface) const |
core::scoring::constraints::ConstraintOP | restrain_ligand_nbr_atom (core::pose::Pose &pose, core::Size lig_id, core::Real stddev_Angstroms) const |
void | setup_bbmin_foldtree (core::pose::Pose &pose, core::Size const &jump_id, core::Real cutoff_dist, core::Real stddev_Angstroms) |
core::pack::rotamer_set::UnboundRotamersOperationOP | unboundrot () |
Nonconst access to the unboundrot_ object. More... | |
core::scoring::ScoreFunctionOP | scorefxn () |
Access the scorefunction. More... | |
void | set_scorefxn (core::scoring::ScoreFunctionCOP const &sfxn_in) |
Set the scorefunction (cloning the input). More... | |
core::scoring::ScoreFunctionOP | hard_scorefxn () |
Access the hard scorefunction. More... | |
core::scoring::ScoreFunctionOP | soft_scorefxn () |
Access the soft scorefunction. More... | |
core::Real | sc_interface_padding () const |
Access the sc_interface_padding. More... | |
core::Real | bb_interface_cutoff () const |
Access the bb_interface_cutoff. More... | |
void | set_sc_interface_padding (core::Real const setting) |
Set the sc_interface_padding. More... | |
void | set_bb_interface_cutoff (core::Real const setting) |
Set the bb_interface_cutoff. More... | |
bool | use_soft_rep () const |
Are we using soft repulsion? More... | |
![]() | |
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... | |
Private Member Functions | |
void | initialize_scorefxns () |
Load the scorefunctions that we'll be using. More... | |
Additional Inherited Members | |
![]() | |
typedef utility::tag::TagCOP | TagCOP |
typedef core::pose::Pose | Pose |
typedef core::pose::PoseCOP | PoseCOP |
typedef std::list< std::string > | Strings |
Shared functionality for protocols that dock ligands.
Includes score function setup, interface definitions, and ligand flexibility.
protocols::ligand_docking::LigandBaseProtocol::LigandBaseProtocol | ( | ) |
References rosetta_electrostatics_, unboundrot_, and use_soft_rep_.
|
overridedefault |
|
overridevirtual |
Main Method.
Implements protocols::moves::Mover.
Reimplemented in protocols::ligand_docking::LigandDockProtocol.
|
inlineprotected |
Access the bb_interface_cutoff.
References bb_interface_cutoff_.
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
|
protected |
References protocols::geometry::centroids_by_jump(), and core::scoring::rg.
Referenced by move_ligand_to_desired_centroid().
|
protected |
Find residues that would most benefit docking by backbone movement. Based on absolute distance to CA/CB – being near the end of a long sc is no reason its backbone should move. This is a new invention; not taken from Rosetta++.
References core::pose::Pose::fold_tree(), core::conformation::Residue::has(), core::conformation::Residue::is_lower_terminus(), core::chemical::ResidueTypeBase::is_polymer(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_upper_terminus(), protocols::mean_field::max(), protocols::mean_field::min(), core::conformation::Residue::nheavyatoms(), core::kinematics::FoldTree::partition_by_jump(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::pose::Pose::size(), protocols::ligand_docking::TR(), and core::conformation::Residue::xyz().
Referenced by make_movemap(), and setup_bbmin_foldtree().
|
protected |
References core::pose::Pose::fold_tree(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), core::conformation::Residue::nheavyatoms(), core::kinematics::FoldTree::partition_by_jump(), core::pose::Pose::residue(), core::pose::Pose::size(), protocols::ligand_docking::TR(), and core::conformation::Residue::xyz().
Referenced by make_movemap(), and make_packer_task().
|
static |
Return the residue sequence number for our ligand.
Only works with single residue ligands, really. Reconsider this in the future.
References get_ligand_jump_id().
Referenced by protocols::ligand_docking::LigandDockProtocol::append_ligand_docking_scores(), protocols::enzdes::EnzdesFixBBProtocol::apply(), protocols::ligand_docking::LigandDockProtocol::apply(), protocols::enzdes::BackboneSampler::apply(), protocols::enzdes::LigBurialFilter::compute(), protocols::enzdes::LigInterfaceEnergyFilter::compute(), protocols::enzdes::EnzScoreFilter::compute(), protocols::enzdes::DiffAtomSasaFilter::compute(), protocols::enzdes::EnzdesBaseProtocol::create_enzdes_movemap(), reorder_foldtree_around_mobile_regions(), setup_bbmin_foldtree(), protocols::enzdes::EnzdesBaseProtocol::setup_bbmin_ft_and_csts(), and protocols::ligand_docking::LigandDockProtocol::shear_min_protocol().
|
static |
Return the residue sequence number for our ligand.
Only works with single residue ligands, really. Reconsider this in the future.
References core::kinematics::FoldTree::downstream_jump_residue(), core::pose::Pose::fold_tree(), core::conformation::Residue::is_polymer(), core::kinematics::FoldTree::partition_by_jump(), core::pose::Pose::residue(), and core::pose::Pose::size().
|
static |
|
overridevirtual |
Each derived class must specify its name. The class name.
Implements protocols::moves::Mover.
Reimplemented in protocols::ligand_docking::LigandDockProtocol.
void protocols::ligand_docking::LigandBaseProtocol::get_non_bb_clashing_rotamers | ( | core::pose::Pose const & | pose, |
core::Size | seqpos, | ||
core::scoring::ScoreFunctionCOP | scofx, | ||
utility::vector1< core::conformation::ResidueCOP > & | accepted_rotamers | ||
) | const |
References core::pose::Pose::energies(), core::scoring::Energies::energy_graph(), core::pose::Pose::residue(), core::pose::Pose::residue_type_ptr(), and core::pose::Pose::size().
Referenced by protocols::enzdes::EnzdesBaseProtocol::exchange_ligands_in_pose(), and protocols::enzdes::EnzdesBaseProtocol::generate_explicit_ligand_rotamer_poses().
core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::get_scorefxn | ( | ) |
References initialize_scorefxns(), and scorefxn_.
Referenced by protocols::ligand_docking::LigandDockMain::apply(), and protocols::ligand_docking::LigandDockMain::LigandDockMain().
core::scoring::ScoreFunctionCOP protocols::ligand_docking::LigandBaseProtocol::get_scorefxn | ( | ) | const |
References scorefxn_.
|
protected |
Access the hard scorefunction.
References hard_scorefxn_, initialize_scorefxns(), and scorefxns_initialized_.
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
|
private |
Load the scorefunctions that we'll be using.
Done lazily so that this mover can be instantiated without a lot of overhead.
References core::scoring::ScoreFunctionFactory::create_score_function(), core::scoring::get_score_function(), hard_scorefxn_, make_tweaked_scorefxn(), rosetta_electrostatics_, scorefxn_, scorefxns_initialized_, soft_scorefxn_, and protocols::ligand_docking::TR().
Referenced by get_scorefxn(), hard_scorefxn(), scorefxn(), and soft_scorefxn().
|
protected |
References bb_interface_cutoff_, find_interface_backbone(), find_interface_rsds(), core::pose::Pose::fold_tree(), core::kinematics::FoldTree::get_residue_edge(), core::conformation::Residue::has_property(), core::kinematics::Edge::is_jump(), core::conformation::Residue::is_polymer(), core::kinematics::Edge::label(), core::chemical::ResidueTypeBase::name3(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::pose::Pose::size(), and protocols::ligand_docking::TR().
Referenced by protocols::ligand_docking::LigandDockProtocol::apply(), protocols::ligand_docking::LigandDockProtocol::classic_protocol(), and protocols::ligand_docking::LigandDockProtocol::shear_min_protocol().
|
protected |
Receptor (interface?) plus ligand.
References find_interface_rsds(), make_packer_task(), and core::pose::Pose::size().
|
protected |
Shared machinery for the next two.
Referenced by protocols::ligand_docking::LigandDockProtocol::classic_protocol(), make_packer_task(), and make_packer_task_ligand_only().
|
protected |
Just ligand, not the receptor.
References core::conformation::Residue::is_polymer(), make_packer_task(), core::pose::Pose::residue(), and core::pose::Pose::size().
|
protected |
References core::scoring::angle_constraint, core::scoring::atom_pair_constraint, core::scoring::chainbreak, core::scoring::coordinate_constraint, core::scoring::dihedral_constraint, core::scoring::methods::EnergyMethodOptions::exclude_protein_protein_fa_elec(), core::scoring::fa_elec, core::scoring::fa_intra_rep, core::scoring::hbond_bb_sc, core::scoring::hbond_sc, core::scoring::omega, and core::scoring::rama.
Referenced by initialize_scorefxns().
|
protected |
|
protected |
References choose_desired_centroid().
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
void protocols::ligand_docking::LigandBaseProtocol::reorder_foldtree_around_mobile_regions | ( | core::pose::Pose & | pose, |
core::Size const & | jump_id, | ||
utility::vector1< bool > const & | mobile_bb, | ||
core::Size const & | lig_id | ||
) | const |
reorders a fold tree such that movement in the mobile regions will
have zero effect on the non-mobile regions. for every contiguous string
of mobile regions, the downstream non-mobile stretch will be connected to the
upstream non-mobile stretch through a jump. further, a cutpoint will be
introduced into every mobile stretch. the ligand will be connected to the
nearest non-mobile residue.
Note: every contiguous stretch in the mobile regions must be at least 4 residues long
References core::kinematics::FoldTree::add_edge(), core::pose::add_variant_type_to_pose_residue(), core::kinematics::FoldTree::check_fold_tree(), core::kinematics::FoldTree::connected(), protocols::loops::Loop::cut(), core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, core::kinematics::FoldTree::delete_extra_vertices(), core::kinematics::FoldTree::downstream_jump_residue(), core::pose::Pose::fold_tree(), get_ligand_id(), core::conformation::Residue::has(), core::conformation::Residue::is_polymer(), core::conformation::Residue::is_terminus(), protocols::mean_field::max(), protocols::mean_field::min(), core::conformation::Residue::nbr_atom_xyz(), core::kinematics::FoldTree::nres(), core::kinematics::FoldTree::num_jump(), core::kinematics::Edge::PEPTIDE, core::kinematics::FoldTree::reorder(), core::pose::Pose::residue(), core::scoring::rg, core::pose::Pose::size(), protocols::loops::Loop::start(), protocols::loops::start, protocols::loops::Loop::stop(), protocols::loops::stop, protocols::ligand_docking::TR(), and core::conformation::Residue::xyz().
Referenced by protocols::enzdes::BackboneSampler::apply(), setup_bbmin_foldtree(), and protocols::enzdes::EnzdesBaseProtocol::setup_bbmin_ft_and_csts().
|
protected |
Depends on atomtree topology; atomtree setup should be finished before calling this. Returns the newly created Constraint for future reference, but also adds it to the Pose.
References core::pose::Pose::add_constraint(), core::pose::Pose::atom_tree(), core::scoring::coordinate_constraint, core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_atom_xyz(), core::pose::Pose::residue(), core::kinematics::AtomTree::root(), scorefxn_, and protocols::ligand_docking::TR().
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
void protocols::ligand_docking::LigandBaseProtocol::restrain_protein_Calphas | ( | core::pose::Pose & | pose, |
utility::vector1< bool > const & | is_restrained, | ||
core::scoring::func::FuncOP | restr_func | ||
) |
Depends on atomtree topology; atomtree setup should be finished before calling this.
References core::pose::Pose::add_constraint(), core::chemical::ResidueType::atom_index(), core::pose::Pose::atom_tree(), core::scoring::coordinate_constraint, core::scoring::ScoreFunction::has_zero_weight(), core::conformation::Residue::is_protein(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::kinematics::AtomTree::root(), scorefxn(), core::scoring::ScoreFunction::set_weight(), core::pose::Pose::size(), protocols::ligand_docking::TR(), and core::conformation::Residue::xyz().
Referenced by setup_bbmin_foldtree(), and protocols::enzdes::EnzdesBaseProtocol::setup_bbmin_ft_and_csts().
|
inlineprotected |
Access the sc_interface_padding.
References sc_interface_padding_.
Referenced by protocols::ligand_docking::LigandDockProtocol::apply(), protocols::ligand_docking::LigandDockProtocol::classic_protocol(), and protocols::ligand_docking::LigandDockProtocol::shear_min_protocol().
|
protected |
Access the scorefunction.
References initialize_scorefxns(), scorefxn_, and scorefxns_initialized_.
Referenced by protocols::ligand_docking::LigandDockProtocol::append_ligand_docking_scores(), protocols::enzdes::EnzdesFixBBProtocol::apply(), protocols::enzdes::EnzdesFlexBBProtocol::apply(), protocols::ligand_docking::LigandDockProtocol::apply(), protocols::enzdes::SecondaryMatchProtocol::apply(), protocols::enzdes::BackboneSampler::BackboneSampler(), protocols::ligand_docking::LigandDockProtocol::classic_protocol(), protocols::enzdes::EnzdesBaseProtocol::cst_minimize(), protocols::enzdes::EnzdesBaseProtocol::disable_constraint_scoreterms(), protocols::enzdes::EnzdesBaseProtocol::enable_constraint_scoreterms(), protocols::enzdes::EnzdesBaseProtocol::enzdes_pack(), protocols::enzdes::EnzdesBaseProtocol::EnzdesBaseProtocol(), protocols::enzdes::EnzdesFlexBBProtocol::EnzdesFlexBBProtocol(), protocols::ligand_docking::LigandDockProtocol::make_dockmcm_mover(), protocols::enzdes::EnzdesFlexBBProtocol::minimize_flexible_region(), restrain_protein_Calphas(), protocols::enzdes::EnzdesBaseProtocol::set_scorefxn(), and protocols::ligand_docking::LigandDockProtocol::shear_min_protocol().
|
protected |
Set the bb_interface_cutoff.
References bb_interface_cutoff_.
Referenced by protocols::ligand_docking::LigandDockProtocol::LigandDockProtocol().
|
protected |
Set the sc_interface_padding.
References sc_interface_padding_.
Referenced by protocols::ligand_docking::LigandDockProtocol::LigandDockProtocol().
|
protected |
Set the scorefunction (cloning the input).
References scorefxn_.
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
|
protected |
This function actually alters both the pose, and the jump_id to be docked. The pose will have chainbreak variant types and distance constraints added.
References find_interface_backbone(), get_ligand_id(), reorder_foldtree_around_mobile_regions(), restrain_protein_Calphas(), and core::pose::Pose::size().
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
|
inline |
|
protected |
Access the soft scorefunction.
References initialize_scorefxns(), scorefxns_initialized_, and soft_scorefxn_.
Referenced by protocols::enzdes::EnzdesFlexBBProtocol::apply(), protocols::ligand_docking::LigandDockProtocol::apply(), and protocols::enzdes::EnzdesBaseProtocol::enzdes_pack().
|
protected |
Nonconst access to the unboundrot_ object.
Triggers initialization if it is uninitialized.
References unboundrot_.
Referenced by protocols::enzdes::EnzdesBaseProtocol::create_enzdes_pack_task().
|
inlineprotected |
Are we using soft repulsion?
References use_soft_rep_.
Referenced by protocols::ligand_docking::LigandDockProtocol::apply().
|
private |
Referenced by bb_interface_cutoff(), make_movemap(), and set_bb_interface_cutoff().
|
private |
Referenced by hard_scorefxn(), and initialize_scorefxns().
|
private |
Referenced by initialize_scorefxns(), and LigandBaseProtocol().
|
private |
Referenced by sc_interface_padding(), and set_sc_interface_padding().
|
private |
Referenced by get_scorefxn(), initialize_scorefxns(), restrain_ligand_nbr_atom(), scorefxn(), and set_scorefxn().
|
private |
Referenced by hard_scorefxn(), initialize_scorefxns(), scorefxn(), and soft_scorefxn().
|
private |
Referenced by initialize_scorefxns(), and soft_scorefxn().
|
private |
Referenced by LigandBaseProtocol(), and unboundrot().
|
private |
Referenced by LigandBaseProtocol(), and use_soft_rep().