Rosetta Protocols  2014.35
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::match::downstream::LigandConformerBuilder Class Reference

#include <LigandConformerBuilder.hh>

Public Types

typedef DownstreamBuilder parent
 
- Public Types inherited from protocols::match::downstream::DownstreamBuilder
typedef
utility::pointer::ReferenceCount 
parent
 
typedef core::id::AtomID AtomID
 
typedef core::Vector Vector
 
typedef core::Real Real
 
typedef
numeric::HomogeneousTransform
< Real
HTReal
 

Public Member Functions

 LigandConformerBuilder ()
 
 LigandConformerBuilder (LigandConformerBuilder const &)
 
virtual ~LigandConformerBuilder ()
 
virtual DownstreamBuilderOP clone () const
 
virtual std::list< Hitbuild (HTReal const &atom3_frame, Size const scaffold_build_point_id, Size const upstream_conf_id, Size const external_geometry_id, core::conformation::Residue const &upstream_residue) const
 
void determine_redundant_conformer_groups (utility::vector1< core::Size > const &relevant_atom_indices)
 goes through the list of conformers and does rms calculations (overlaid on the relevant_atom_indices) between them. any conformers that have an rms < rmsd_unique_cutoff_ will be grouped together in a conformer_group More...
 
core::Size assign_conformer_group_to_residue (core::conformation::Residue const &residue, utility::vector1< core::Size > const &relevant_atom_indices) const
 
virtual void set_bb_grid (BumpGridCOP bbgrid)
 
virtual bool hits_potentially_incompatible () const
 In case downstream builders can return hits that are incompatible with each other (e.g. different ligand conformations ) the matcher needs to know about this to allow for speedy match enumeration. More...
 
virtual bool compatible (Hit const &my_hit, DownstreamBuilder const &other, Hit const &other_hit, bool first_dispatch=true) const
 
virtual bool compatible (Hit const &my_hit, LigandConformerBuilder const &other, Hit const &other_hit, bool first_dispatch=true) const
 
virtual void require_atom_to_reside_in_active_site (core::id::AtomID const &id)
 
virtual ProbeRadius atom1_radius () const
 
virtual ProbeRadius atom2_radius () const
 
virtual ProbeRadius atom3_radius () const
 
virtual bool atom1_belongs_in_active_site () const
 
virtual bool atom2_belongs_in_active_site () const
 
virtual bool atom3_belongs_in_active_site () const
 
virtual Real atom1_atom2_distance () const
 
virtual Real atom2_atom3_distance () const
 
virtual Real atom1_atom2_atom3_angle () const
 Returns an angle in degrees between the three downstream atoms. More...
 
virtual void coordinates_from_hit (Hit const &hit, utility::vector1< AtomID > const &atom_indices, utility::vector1< Vector > &atom_coords) const
 
virtual core::pose::PoseCOP downstream_pose_from_hit (Hit const &hit) const
 
virtual Size n_possible_hits_per_at3frame () const
 
void initialize_from_residue (Size atom1, Size atom2, Size atom3, Size orientation_atom1, Size orientation_atom2, Size orientation_atom3, core::conformation::Residue const &residue)
 Specify the residue, with coordinates, that's being used as the downstream partner. This class is meant to be used in conjuction with the ClassicMatchAglrotihm, and therefore the initialization routines are specific for that algorithm. In this initialization function, one must list atoms "D1, D2 and D3" in the convention of describing the rigid-body orientation between three atoms of the upstream partner (atoms U3, U2 & U1) and three atoms of the downstream partner (atoms D1, D2 & D3) in terms of 2 angles, 1 distance, and 3 dihedrals. The user must also list the 3 atoms used to define the orientation frame of the downstream ligand. It is essential to the matching algorithm that the same three orientation atoms are used for all LigandConformerBuilders. More...
 
void initialize_upstream_residue (core::chemical::ResidueTypeCOP upstream_res, core::scoring::etable::count_pair::CountPairFunctionCOP count_pair=0)
 
void ignore_h_collisions (bool setting)
 
void set_idealize_conformers (bool setting)
 
void set_rmsd_unique_cutoff (core::Real setting)
 
virtual
toolbox::match_enzdes_util::LigandConformerOP 
get_lig_conformers (core::Size conf_id) const
 
virtual
core::chemical::ResidueTypeCOP 
get_upstream_restype () const
 
- Public Member Functions inherited from protocols::match::downstream::DownstreamBuilder
 DownstreamBuilder ()
 
 DownstreamBuilder (DownstreamBuilder const &)
 
virtual ~DownstreamBuilder ()
 
void set_occupied_space_hash (OccupiedSpaceHashCOP occ_space)
 
void set_active_site_grid (ActiveSiteGridCOP active_site_grid)
 
virtual bool compatible (Hit const &my_hit, RigidLigandBuilder const &other, Hit const &other_hit, bool first_dispatch=true) const
 

Private Member Functions

std::list< Hitbuild_conformer_group (Size const confgrp_id, HTReal const &atom3_frame, Size const scaffold_build_point_id, Size const upstream_conf_id, Size const external_geometry_id, core::conformation::Residue const &upstream_residue) const
 
void initialize_upstream_nonbonded_min_separation_d2 ()
 
void initialize_conformers (core::conformation::Residue const &residue)
 

Private Attributes

core::chemical::ResidueTypeCOP downstream_restype_
 
core::chemical::ResidueTypeCOP upstream_restype_
 
bool ignore_h_collisions_
 
bool idealize_conformers_
 
utility::fixedsizearray1< Size, 3 > orientation_atoms_
 
utility::fixedsizearray1< Size, 3 > atoms_123_
 
utility::fixedsizearray1
< ProbeRadius, 3 > 
radii_123_
 
utility::fixedsizearray1< bool, 3 > ats123_reqd_in_active_site_
 
utility::vector1< ProbeRadiusatom_radii_
 
utility::vector1< boolatom_required_in_active_site_
 
utility::vector1< Sizenon_collision_detection_atoms_reqd_in_active_site_
 
Real rmsd_unique_cutoff_
 Grouped into sets compatible ligand conformers. More...
 
utility::vector1
< utility::vector1< Size > > 
conformer_group_indices_
 
utility::vector1< Sizeconformer_group_for_conformer_
 
utility::vector1
< toolbox::match_enzdes_util::LigandConformerOP
lig_conformers_
 
utility::vector1
< utility::vector1< std::pair
< Size, Real > > > 
min_sep_d2_from_upstream_atoms_
 

Additional Inherited Members

- Protected Member Functions inherited from protocols::match::downstream::DownstreamBuilder
bool bbgrid_set () const
 
BumpGrid const & bbgrid () const
 
bool occ_space_set () const
 
OccupiedSpaceHash const & occ_space () const
 
bool active_site_grid_set () const
 
ActiveSiteGrid const & active_site_grid () const
 

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::match::downstream::LigandConformerBuilder::LigandConformerBuilder ( )

Referenced by clone().

protocols::match::downstream::LigandConformerBuilder::LigandConformerBuilder ( LigandConformerBuilder const &  other)

References lig_conformers_, and size().

protocols::match::downstream::LigandConformerBuilder::~LigandConformerBuilder ( )
virtual

Member Function Documentation

core::Size protocols::match::downstream::LigandConformerBuilder::assign_conformer_group_to_residue ( core::conformation::Residue const &  residue,
utility::vector1< core::Size > const &  relevant_atom_indices 
) const

For results to make sense, the relevant atom indices being passed in should be identical to the ones that the conformer groups were determined with in the above function, although this isn't being enforced

References core::conformation::Residue::atom(), conformer_group_indices_, lig_conformers_, numeric::model_quality::rms_wrapper(), numeric::xyzVector< class >::x(), core::conformation::Atom::xyz(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().

LigandConformerBuilder::Real protocols::match::downstream::LigandConformerBuilder::atom1_atom2_atom3_angle ( ) const
virtual

Returns an angle in degrees between the three downstream atoms.

Implements protocols::match::downstream::DownstreamBuilder.

References downstream_restype_, and lig_conformers_.

Referenced by initialize_conformers().

LigandConformerBuilder::Real protocols::match::downstream::LigandConformerBuilder::atom1_atom2_distance ( ) const
virtual
bool protocols::match::downstream::LigandConformerBuilder::atom1_belongs_in_active_site ( ) const
virtual
ProbeRadius protocols::match::downstream::LigandConformerBuilder::atom1_radius ( ) const
virtual
LigandConformerBuilder::Real protocols::match::downstream::LigandConformerBuilder::atom2_atom3_distance ( ) const
virtual
bool protocols::match::downstream::LigandConformerBuilder::atom2_belongs_in_active_site ( ) const
virtual
ProbeRadius protocols::match::downstream::LigandConformerBuilder::atom2_radius ( ) const
virtual
bool protocols::match::downstream::LigandConformerBuilder::atom3_belongs_in_active_site ( ) const
virtual
ProbeRadius protocols::match::downstream::LigandConformerBuilder::atom3_radius ( ) const
virtual
std::list< Hit > protocols::match::downstream::LigandConformerBuilder::build ( HTReal const &  atom3_frame,
Size const  scaffold_build_point_id,
Size const  upstream_conf_id,
Size const  external_geometry_id,
core::conformation::Residue const &  upstream_residue 
) const
virtual
std::list< Hit > protocols::match::downstream::LigandConformerBuilder::build_conformer_group ( Size const  confgrp_id,
HTReal const &  atom3_frame,
Size const  scaffold_build_point_id,
Size const  upstream_conf_id,
Size const  external_geometry_id,
core::conformation::Residue const &  upstream_residue 
) const
private
DownstreamBuilderOP protocols::match::downstream::LigandConformerBuilder::clone ( ) const
virtual
bool protocols::match::downstream::LigandConformerBuilder::compatible ( Hit const &  my_hit,
DownstreamBuilder const &  other,
Hit const &  other_hit,
bool  first_dispatch = true 
) const
virtual
bool protocols::match::downstream::LigandConformerBuilder::compatible ( Hit const &  my_hit,
LigandConformerBuilder const &  other,
Hit const &  other_hit,
bool  first_dispatch = true 
) const
virtual

LigandConformerBuilder checks whether the ligand conformers in both hits are in the same conformer group

Reimplemented from protocols::match::downstream::DownstreamBuilder.

References conformer_group_for_conformer_, and protocols::match::Hit::downstream_conf_id().

void protocols::match::downstream::LigandConformerBuilder::coordinates_from_hit ( Hit const &  hit,
utility::vector1< AtomID > const &  atom_indices,
utility::vector1< Vector > &  atom_coords 
) const
virtual
void protocols::match::downstream::LigandConformerBuilder::determine_redundant_conformer_groups ( utility::vector1< core::Size > const &  relevant_atom_indices)

goes through the list of conformers and does rms calculations (overlaid on the relevant_atom_indices) between them. any conformers that have an rms < rmsd_unique_cutoff_ will be grouped together in a conformer_group

References conformer_group_for_conformer_, conformer_group_indices_, lig_conformers_, numeric::model_quality::rms_wrapper(), rmsd_unique_cutoff_, and protocols::match::downstream::TR.

core::pose::PoseCOP protocols::match::downstream::LigandConformerBuilder::downstream_pose_from_hit ( Hit const &  hit) const
virtual
toolbox::match_enzdes_util::LigandConformerOP protocols::match::downstream::LigandConformerBuilder::get_lig_conformers ( core::Size  conf_id) const
virtual
core::chemical::ResidueTypeCOP protocols::match::downstream::LigandConformerBuilder::get_upstream_restype ( ) const
virtual
bool protocols::match::downstream::LigandConformerBuilder::hits_potentially_incompatible ( ) const
virtual

In case downstream builders can return hits that are incompatible with each other (e.g. different ligand conformations ) the matcher needs to know about this to allow for speedy match enumeration.

Implements protocols::match::downstream::DownstreamBuilder.

References conformer_group_indices_.

void protocols::match::downstream::LigandConformerBuilder::ignore_h_collisions ( bool  setting)
void protocols::match::downstream::LigandConformerBuilder::initialize_conformers ( core::conformation::Residue const &  residue)
private
void protocols::match::downstream::LigandConformerBuilder::initialize_from_residue ( Size  atom1,
Size  atom2,
Size  atom3,
Size  orientation_atom1,
Size  orientation_atom2,
Size  orientation_atom3,
core::conformation::Residue const &  residue 
)

Specify the residue, with coordinates, that's being used as the downstream partner. This class is meant to be used in conjuction with the ClassicMatchAglrotihm, and therefore the initialization routines are specific for that algorithm. In this initialization function, one must list atoms "D1, D2 and D3" in the convention of describing the rigid-body orientation between three atoms of the upstream partner (atoms U3, U2 & U1) and three atoms of the downstream partner (atoms D1, D2 & D3) in terms of 2 angles, 1 distance, and 3 dihedrals. The user must also list the 3 atoms used to define the orientation frame of the downstream ligand. It is essential to the matching algorithm that the same three orientation atoms are used for all LigandConformerBuilders.

References core::conformation::Residue::atom(), atom_radii_, atom_required_in_active_site_, core::conformation::Residue::atom_type(), atoms_123_, downstream_restype_, core::chemical::AtomType::element(), ignore_h_collisions_, initialize_conformers(), core::conformation::Residue::name(), core::conformation::Residue::natoms(), orientation_atoms_, protocols::match::probe_radius_for_atom_type(), radii_123_, protocols::match::downstream::TR, core::conformation::Residue::type(), core::conformation::Atom::type(), utility_exit_with_message, and protocols::match::ZERO.

void protocols::match::downstream::LigandConformerBuilder::initialize_upstream_nonbonded_min_separation_d2 ( )
private
void protocols::match::downstream::LigandConformerBuilder::initialize_upstream_residue ( core::chemical::ResidueTypeCOP  upstream_res,
core::scoring::etable::count_pair::CountPairFunctionCOP  count_pair = 0 
)
LigandConformerBuilder::Size protocols::match::downstream::LigandConformerBuilder::n_possible_hits_per_at3frame ( ) const
virtual
void protocols::match::downstream::LigandConformerBuilder::require_atom_to_reside_in_active_site ( core::id::AtomID const &  id)
virtual
void protocols::match::downstream::LigandConformerBuilder::set_bb_grid ( BumpGridCOP  bbgrid)
virtual
void protocols::match::downstream::LigandConformerBuilder::set_idealize_conformers ( bool  setting)

References idealize_conformers_.

void protocols::match::downstream::LigandConformerBuilder::set_rmsd_unique_cutoff ( core::Real  setting)

References rmsd_unique_cutoff_.

Member Data Documentation

utility::vector1< ProbeRadius > protocols::match::downstream::LigandConformerBuilder::atom_radii_
private
utility::vector1< bool > protocols::match::downstream::LigandConformerBuilder::atom_required_in_active_site_
private
utility::fixedsizearray1< Size, 3 > protocols::match::downstream::LigandConformerBuilder::atoms_123_
private
utility::fixedsizearray1< bool, 3 > protocols::match::downstream::LigandConformerBuilder::ats123_reqd_in_active_site_
private
utility::vector1< Size > protocols::match::downstream::LigandConformerBuilder::conformer_group_for_conformer_
private
utility::vector1< utility::vector1< Size > > protocols::match::downstream::LigandConformerBuilder::conformer_group_indices_
private
core::chemical::ResidueTypeCOP protocols::match::downstream::LigandConformerBuilder::downstream_restype_
private
bool protocols::match::downstream::LigandConformerBuilder::idealize_conformers_
private
bool protocols::match::downstream::LigandConformerBuilder::ignore_h_collisions_
private
utility::vector1< toolbox::match_enzdes_util::LigandConformerOP > protocols::match::downstream::LigandConformerBuilder::lig_conformers_
private
utility::vector1< utility::vector1< std::pair< Size, Real > > > protocols::match::downstream::LigandConformerBuilder::min_sep_d2_from_upstream_atoms_
private

Detect collision between the upstream residue (sidechain?!) conformation and the atoms of the downstream residue

Referenced by build_conformer_group(), initialize_upstream_nonbonded_min_separation_d2(), and initialize_upstream_residue().

utility::vector1< Size > protocols::match::downstream::LigandConformerBuilder::non_collision_detection_atoms_reqd_in_active_site_
private
utility::fixedsizearray1< Size, 3 > protocols::match::downstream::LigandConformerBuilder::orientation_atoms_
private

The indices of the three atoms defining the orientation of the ligand in the global coordinate frame These indices are in the restype indexing of atoms.

Referenced by initialize_conformers(), and initialize_from_residue().

utility::fixedsizearray1< ProbeRadius, 3 > protocols::match::downstream::LigandConformerBuilder::radii_123_
private
Real protocols::match::downstream::LigandConformerBuilder::rmsd_unique_cutoff_
private

Grouped into sets compatible ligand conformers.

Referenced by determine_redundant_conformer_groups(), and set_rmsd_unique_cutoff().

core::chemical::ResidueTypeCOP protocols::match::downstream::LigandConformerBuilder::upstream_restype_
private

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