Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::ligand_docking::LigandBaseProtocol Class Reference

Shared functionality for protocols that dock ligands. More...

#include <LigandBaseProtocol.hh>

Inheritance diagram for protocols::ligand_docking::LigandBaseProtocol:
Inheritance graph

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
- 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 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 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 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 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

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...
- 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...

Private Member Functions

void initialize_scorefxns ()
 Load the scorefunctions that we'll be using. More...

Private Attributes

bool use_soft_rep_
bool rosetta_electrostatics_ = true
bool scorefxns_initialized_ = false
core::scoring::ScoreFunctionOP scorefxn_
core::scoring::ScoreFunctionOP hard_scorefxn_
core::scoring::ScoreFunctionOP soft_scorefxn_
core::Real sc_interface_padding_
core::Real bb_interface_cutoff_
core::pack::rotamer_set::UnboundRotamersOperationOP unboundrot_

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

Detailed Description

Shared functionality for protocols that dock ligands.

Includes score function setup, interface definitions, and ligand flexibility.

Constructor & Destructor Documentation

◆ LigandBaseProtocol()

protocols::ligand_docking::LigandBaseProtocol::LigandBaseProtocol ( )

◆ ~LigandBaseProtocol()

protocols::ligand_docking::LigandBaseProtocol::~LigandBaseProtocol ( )

Member Function Documentation

◆ apply()

void protocols::ligand_docking::LigandBaseProtocol::apply ( core::pose::Pose )

Main Method.

Implements protocols::moves::Mover.

Reimplemented in protocols::ligand_docking::LigandDockProtocol.

◆ bb_interface_cutoff()

core::Real protocols::ligand_docking::LigandBaseProtocol::bb_interface_cutoff ( ) const

Access the bb_interface_cutoff.

References bb_interface_cutoff_.

Referenced by protocols::ligand_docking::LigandDockProtocol::apply().

◆ choose_desired_centroid()

core::Vector protocols::ligand_docking::LigandBaseProtocol::choose_desired_centroid ( core::pose::Pose const &  pose,
core::Size  jump_id,
utility::vector1< core::Vector start_from_pts 

◆ find_interface_backbone()

void protocols::ligand_docking::LigandBaseProtocol::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

◆ find_interface_rsds()

void protocols::ligand_docking::LigandBaseProtocol::find_interface_rsds ( core::pose::Pose const &  pose,
int  jump_id,
core::Real  padding,
ObjexxFCL::FArray1D_bool &  is_interface 
) const

◆ get_ligand_id() [1/2]

core::Size protocols::ligand_docking::LigandBaseProtocol::get_ligand_id ( core::pose::Pose const &  pose)

◆ get_ligand_id() [2/2]

core::Size protocols::ligand_docking::LigandBaseProtocol::get_ligand_id ( core::pose::Pose const &  pose,
core::Size  jump_id 

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().

◆ get_ligand_jump_id()

core::Size protocols::ligand_docking::LigandBaseProtocol::get_ligand_jump_id ( core::pose::Pose const &  pose)

◆ get_name()

std::string protocols::ligand_docking::LigandBaseProtocol::get_name ( ) const

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

Implements protocols::moves::Mover.

Reimplemented in protocols::ligand_docking::LigandDockProtocol.

◆ get_non_bb_clashing_rotamers()

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

◆ get_scorefxn() [1/2]

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::get_scorefxn ( )

◆ get_scorefxn() [2/2]

core::scoring::ScoreFunctionCOP protocols::ligand_docking::LigandBaseProtocol::get_scorefxn ( ) const

References scorefxn_.

◆ hard_scorefxn()

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::hard_scorefxn ( )

◆ initialize_scorefxns()

void protocols::ligand_docking::LigandBaseProtocol::initialize_scorefxns ( )

◆ make_movemap()

core::kinematics::MoveMapOP protocols::ligand_docking::LigandBaseProtocol::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

◆ make_packer_task() [1/2]

core::pack::task::PackerTaskOP protocols::ligand_docking::LigandBaseProtocol::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.

References find_interface_rsds(), make_packer_task(), and core::pose::Pose::size().

◆ make_packer_task() [2/2]

core::pack::task::PackerTaskOP protocols::ligand_docking::LigandBaseProtocol::make_packer_task ( core::pose::Pose const &  pose,
ObjexxFCL::FArray1D_bool const &  allow_repack,
bool  ligand_protonation 
) const

◆ make_packer_task_ligand_only()

core::pack::task::PackerTaskOP protocols::ligand_docking::LigandBaseProtocol::make_packer_task_ligand_only ( core::pose::Pose const &  pose,
int  jump_id,
bool  ligand_protonation 
) const

◆ make_tweaked_scorefxn()

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::make_tweaked_scorefxn ( std::string const &  weights_tag,
bool  estat_exclude_protein,
bool  estat_upweight,
bool  hbonds_downweight 

◆ move_ligand_to_desired_centroid() [1/2]

void protocols::ligand_docking::LigandBaseProtocol::move_ligand_to_desired_centroid ( core::pose::Pose pose,
core::Size  jump_id,
core::Vector  desired_centroid 

◆ move_ligand_to_desired_centroid() [2/2]

void protocols::ligand_docking::LigandBaseProtocol::move_ligand_to_desired_centroid ( core::pose::Pose pose,
core::Size  jump_id,
utility::vector1< core::Vector start_from_pts 

◆ reorder_foldtree_around_mobile_regions()

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().

◆ restrain_ligand_nbr_atom()

core::scoring::constraints::ConstraintOP protocols::ligand_docking::LigandBaseProtocol::restrain_ligand_nbr_atom ( core::pose::Pose pose,
core::Size  lig_id,
core::Real  stddev_Angstroms 
) const

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().

◆ restrain_protein_Calphas()

void protocols::ligand_docking::LigandBaseProtocol::restrain_protein_Calphas ( core::pose::Pose pose,
utility::vector1< bool > const &  is_restrained,
core::scoring::func::FuncOP  restr_func 

◆ sc_interface_padding()

core::Real protocols::ligand_docking::LigandBaseProtocol::sc_interface_padding ( ) const

◆ scorefxn()

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::scorefxn ( )

◆ set_bb_interface_cutoff()

void protocols::ligand_docking::LigandBaseProtocol::set_bb_interface_cutoff ( core::Real const  setting)

Set the bb_interface_cutoff.

References bb_interface_cutoff_.

Referenced by protocols::ligand_docking::LigandDockProtocol::LigandDockProtocol().

◆ set_sc_interface_padding()

void protocols::ligand_docking::LigandBaseProtocol::set_sc_interface_padding ( core::Real const  setting)

Set the sc_interface_padding.

References sc_interface_padding_.

Referenced by protocols::ligand_docking::LigandDockProtocol::LigandDockProtocol().

◆ set_scorefxn()

void protocols::ligand_docking::LigandBaseProtocol::set_scorefxn ( core::scoring::ScoreFunctionCOP const &  sfxn_in)

Set the scorefunction (cloning the input).

References scorefxn_.

Referenced by protocols::ligand_docking::LigandDockProtocol::apply().

◆ setup_bbmin_foldtree()

void protocols::ligand_docking::LigandBaseProtocol::setup_bbmin_foldtree ( core::pose::Pose pose,
core::Size const &  jump_id,
core::Real  cutoff_dist,
core::Real  stddev_Angstroms 

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().

◆ shared_from_this()

LigandBaseProtocolOP protocols::ligand_docking::LigandBaseProtocol::shared_from_this ( )

◆ soft_scorefxn()

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::soft_scorefxn ( )

◆ unboundrot()

core::pack::rotamer_set::UnboundRotamersOperationOP protocols::ligand_docking::LigandBaseProtocol::unboundrot ( )

Nonconst access to the unboundrot_ object.

Triggers initialization if it is uninitialized.

References unboundrot_.

Referenced by protocols::enzdes::EnzdesBaseProtocol::create_enzdes_pack_task().

◆ use_soft_rep()

bool protocols::ligand_docking::LigandBaseProtocol::use_soft_rep ( ) const

Are we using soft repulsion?

References use_soft_rep_.

Referenced by protocols::ligand_docking::LigandDockProtocol::apply().

Member Data Documentation

◆ bb_interface_cutoff_

core::Real protocols::ligand_docking::LigandBaseProtocol::bb_interface_cutoff_

◆ hard_scorefxn_

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::hard_scorefxn_

◆ rosetta_electrostatics_

bool protocols::ligand_docking::LigandBaseProtocol::rosetta_electrostatics_ = true

◆ sc_interface_padding_

core::Real protocols::ligand_docking::LigandBaseProtocol::sc_interface_padding_

◆ scorefxn_

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::scorefxn_

◆ scorefxns_initialized_

bool protocols::ligand_docking::LigandBaseProtocol::scorefxns_initialized_ = false

◆ soft_scorefxn_

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::soft_scorefxn_

◆ unboundrot_

core::pack::rotamer_set::UnboundRotamersOperationOP protocols::ligand_docking::LigandBaseProtocol::unboundrot_

Referenced by LigandBaseProtocol(), and unboundrot().

◆ use_soft_rep_

bool protocols::ligand_docking::LigandBaseProtocol::use_soft_rep_

Referenced by LigandBaseProtocol(), and use_soft_rep().

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