Rosetta 3.4
Public Member Functions | Protected Member Functions | Protected Attributes
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
[legend]
Collaboration diagram for protocols::ligand_docking::LigandBaseProtocol:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LigandBaseProtocol ()
virtual ~LigandBaseProtocol ()
core::scoring::ScoreFunctionOP get_scorefxn ()
core::scoring::ScoreFunctionCOP get_scorefxn () const
virtual void apply (core::pose::Pose &pose)
virtual std::string get_name () const
 Each derived class must specify its name. The class name.
core::Size get_ligand_jump_id (core::pose::Pose const &pose) const
core::Size get_ligand_id (core::pose::Pose const &pose) const
 Return the residue sequence number for our ligand.
core::Size get_ligand_id (core::pose::Pose const &pose, core::Size jump_id) const
 Return the residue sequence number for our ligand.
void restrain_protein_Calphas (core::pose::Pose &pose, utility::vector1< bool > const &is_restrained, core::scoring::constraints::FuncOP restr_func) const
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
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

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

Protected Attributes

bool use_soft_rep_
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_

Detailed Description

Shared functionality for protocols that dock ligands.

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


Constructor & Destructor Documentation

protocols::ligand_docking::LigandBaseProtocol::LigandBaseProtocol ( )
protocols::ligand_docking::LigandBaseProtocol::~LigandBaseProtocol ( ) [virtual]

Member Function Documentation

void protocols::ligand_docking::LigandBaseProtocol::apply ( core::pose::Pose pose) [virtual]
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 
) [protected]
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 [protected]
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 [protected]
core::Size protocols::ligand_docking::LigandBaseProtocol::get_ligand_id ( core::pose::Pose const &  pose) const
core::Size protocols::ligand_docking::LigandBaseProtocol::get_ligand_id ( core::pose::Pose const &  pose,
core::Size  jump_id 
) const

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

core::Size protocols::ligand_docking::LigandBaseProtocol::get_ligand_jump_id ( core::pose::Pose const &  pose) const
std::string protocols::ligand_docking::LigandBaseProtocol::get_name ( ) const [virtual]
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
core::scoring::ScoreFunctionCOP protocols::ligand_docking::LigandBaseProtocol::get_scorefxn ( ) const

References scorefxn_.

core::scoring::ScoreFunctionOP protocols::ligand_docking::LigandBaseProtocol::get_scorefxn ( )
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 [protected]
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 [protected]

Shared machinery for the next two.

Referenced by make_packer_task(), and make_packer_task_ligand_only().

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 [protected]

Receptor (interface?) plus ligand.

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

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 [protected]
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 
) [protected]
void protocols::ligand_docking::LigandBaseProtocol::move_ligand_to_desired_centroid ( core::pose::Pose pose,
core::Size  jump_id,
core::Vector  desired_centroid 
) [protected]
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 
) [protected]
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::begin(), protocols::loops::Loop::cut(), core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, core::kinematics::FoldTree::end(), make_table_of_pilot_apps::f, core::pose::Pose::fold_tree(), get_ligand_id(), core::conformation::Residue::has(), core::conformation::Residue::is_polymer(), core::conformation::Residue::is_terminus(), protocols::ligand_docking::my_RG(), core::conformation::Residue::nbr_atom_xyz(), core::pose::Pose::residue(), protocols::loops::Loop::start(), protocols::loops::Loop::stop(), core::pose::Pose::total_residue(), protocols::ligand_docking::TR(), and core::conformation::Residue::xyz().

Referenced by setup_bbmin_foldtree(), and protocols::enzdes::EnzdesBaseProtocol::setup_bbmin_ft_and_csts().

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 [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::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::constraints::FuncOP  restr_func 
) const
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 
) [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::total_residue().

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


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines