Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::match::downstream::LigandConformerBuilder Class Reference

#include <LigandConformerBuilder.hh>

Inheritance diagram for protocols::match::downstream::LigandConformerBuilder:
Inheritance graph
[legend]

Public Types

typedef DownstreamBuilder parent
 
- Public Types inherited from protocols::match::downstream::DownstreamBuilder
typedef utility::VirtualBase 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 &)
 
 ~LigandConformerBuilder () override
 
DownstreamBuilderOP clone () const override
 
std::list< Hitbuild (HTReal const &atom3_frame, core::Size const scaffold_build_point_id, core::Size const upstream_conf_id, core::Size const external_geometry_id, core::conformation::Residue const &upstream_residue) const override
 
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
 
void set_bb_grid (BumpGridCOP bbgrid) override
 
bool hits_potentially_incompatible () const override
 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...
 
bool compatible (Hit const &my_hit, DownstreamBuilder const &other, Hit const &other_hit, bool first_dispatch=true) const override
 
bool compatible (Hit const &my_hit, LigandConformerBuilder const &other, Hit const &other_hit, bool first_dispatch=true) const override
 
void require_atom_to_reside_in_active_site (core::id::AtomID const &id) override
 
ProbeRadius atom1_radius () const override
 
ProbeRadius atom2_radius () const override
 
ProbeRadius atom3_radius () const override
 
bool atom1_belongs_in_active_site () const override
 
bool atom2_belongs_in_active_site () const override
 
bool atom3_belongs_in_active_site () const override
 
Real atom1_atom2_distance () const override
 
Real atom2_atom3_distance () const override
 
Real atom1_atom2_atom3_angle () const override
 Returns an angle in degrees between the three downstream atoms. More...
 
void coordinates_from_hit (Hit const &hit, utility::vector1< AtomID > const &atom_indices, utility::vector1< Vector > &atom_coords) const override
 
core::pose::PoseCOP downstream_pose_from_hit (Hit const &hit) const override
 
core::Size n_possible_hits_per_at3frame () const override
 
void initialize_from_residue (core::Size atom1, core::Size atom2, core::Size atom3, core::Size orientation_atom1, core::Size orientation_atom2, core::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=nullptr)
 
void ignore_h_collisions (bool setting)
 
void set_idealize_conformers (bool setting)
 
void set_rmsd_unique_cutoff (core::Real setting)
 
toolbox::match_enzdes_util::LigandConformerOP get_lig_conformers (core::Size conf_id) const override
 
core::chemical::ResidueTypeCOP get_upstream_restype () const override
 
- Public Member Functions inherited from protocols::match::downstream::DownstreamBuilder
 DownstreamBuilder ()
 
 DownstreamBuilder (DownstreamBuilder const &)
 
 ~DownstreamBuilder () override
 
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 (core::Size const confgrp_id, HTReal const &atom3_frame, core::Size const scaffold_build_point_id, core::Size const upstream_conf_id, core::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
< core::Size, 3 > 
orientation_atoms_
 
utility::fixedsizearray1
< core::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< core::Sizenon_collision_detection_atoms_reqd_in_active_site_
 
Real rmsd_unique_cutoff_
 Grouped into sets compatible ligand conformers. More...
 
utility::vector1
< utility::vector1< core::Size > > 
conformer_group_indices_
 
utility::vector1< core::Sizeconformer_group_for_conformer_
 
utility::vector1
< toolbox::match_enzdes_util::LigandConformerOP
lig_conformers_
 
utility::vector1
< utility::vector1< std::pair
< core::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 ( )
protocols::match::downstream::LigandConformerBuilder::LigandConformerBuilder ( LigandConformerBuilder const &  other)

References lig_conformers_.

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

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_, and core::conformation::Atom::xyz().

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

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

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
overridevirtual
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_, rmsd_unique_cutoff_, and protocols::match::downstream::TR().

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

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 ( core::Size  atom1,
core::Size  atom2,
core::Size  atom3,
core::Size  orientation_atom1,
core::Size  orientation_atom2,
core::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::Atom::type(), core::conformation::Residue::type_ptr(), 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 = nullptr 
)
core::Size protocols::match::downstream::LigandConformerBuilder::n_possible_hits_per_at3frame ( ) const
overridevirtual
void protocols::match::downstream::LigandConformerBuilder::require_atom_to_reside_in_active_site ( core::id::AtomID const &  id)
overridevirtual
void protocols::match::downstream::LigandConformerBuilder::set_bb_grid ( BumpGridCOP  bbgrid)
overridevirtual
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< core::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< core::Size > protocols::match::downstream::LigandConformerBuilder::conformer_group_for_conformer_
private
utility::vector1< utility::vector1< core::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< core::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< core::Size > protocols::match::downstream::LigandConformerBuilder::non_collision_detection_atoms_reqd_in_active_site_
private
utility::fixedsizearray1< core::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: