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

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< bool > atom_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::LigandConformerOPlig_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

◆ parent

Constructor & Destructor Documentation

◆ LigandConformerBuilder() [1/2]

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

◆ LigandConformerBuilder() [2/2]

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

References lig_conformers_.

◆ ~LigandConformerBuilder()

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

Member Function Documentation

◆ assign_conformer_group_to_residue()

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

◆ atom1_atom2_atom3_angle()

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

◆ atom1_atom2_distance()

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

◆ atom1_belongs_in_active_site()

bool protocols::match::downstream::LigandConformerBuilder::atom1_belongs_in_active_site ( ) const
overridevirtual

◆ atom1_radius()

ProbeRadius protocols::match::downstream::LigandConformerBuilder::atom1_radius ( ) const
overridevirtual

◆ atom2_atom3_distance()

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

◆ atom2_belongs_in_active_site()

bool protocols::match::downstream::LigandConformerBuilder::atom2_belongs_in_active_site ( ) const
overridevirtual

◆ atom2_radius()

ProbeRadius protocols::match::downstream::LigandConformerBuilder::atom2_radius ( ) const
overridevirtual

◆ atom3_belongs_in_active_site()

bool protocols::match::downstream::LigandConformerBuilder::atom3_belongs_in_active_site ( ) const
overridevirtual

◆ atom3_radius()

ProbeRadius protocols::match::downstream::LigandConformerBuilder::atom3_radius ( ) const
overridevirtual

◆ build()

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

◆ build_conformer_group()

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

◆ clone()

DownstreamBuilderOP protocols::match::downstream::LigandConformerBuilder::clone ( ) const
overridevirtual

◆ compatible() [1/2]

bool protocols::match::downstream::LigandConformerBuilder::compatible ( Hit const &  my_hit,
DownstreamBuilder const &  other,
Hit const &  other_hit,
bool  first_dispatch = true 
) const
overridevirtual

◆ compatible() [2/2]

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

◆ coordinates_from_hit()

void protocols::match::downstream::LigandConformerBuilder::coordinates_from_hit ( Hit const &  hit,
utility::vector1< AtomID > const &  atom_indices,
utility::vector1< Vector > &  atom_coords 
) const
overridevirtual

◆ determine_redundant_conformer_groups()

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

◆ downstream_pose_from_hit()

core::pose::PoseCOP protocols::match::downstream::LigandConformerBuilder::downstream_pose_from_hit ( Hit const &  hit) const
overridevirtual

◆ get_lig_conformers()

toolbox::match_enzdes_util::LigandConformerOP protocols::match::downstream::LigandConformerBuilder::get_lig_conformers ( core::Size  conf_id) const
overridevirtual

◆ get_upstream_restype()

core::chemical::ResidueTypeCOP protocols::match::downstream::LigandConformerBuilder::get_upstream_restype ( ) const
overridevirtual

◆ hits_potentially_incompatible()

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

◆ ignore_h_collisions()

void protocols::match::downstream::LigandConformerBuilder::ignore_h_collisions ( bool  setting)

◆ initialize_conformers()

void protocols::match::downstream::LigandConformerBuilder::initialize_conformers ( core::conformation::Residue const &  residue)
private

◆ initialize_from_residue()

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.

◆ initialize_upstream_nonbonded_min_separation_d2()

void protocols::match::downstream::LigandConformerBuilder::initialize_upstream_nonbonded_min_separation_d2 ( )
private

◆ initialize_upstream_residue()

void protocols::match::downstream::LigandConformerBuilder::initialize_upstream_residue ( core::chemical::ResidueTypeCOP  upstream_res,
core::scoring::etable::count_pair::CountPairFunctionCOP  count_pair = nullptr 
)

◆ n_possible_hits_per_at3frame()

core::Size protocols::match::downstream::LigandConformerBuilder::n_possible_hits_per_at3frame ( ) const
overridevirtual

◆ require_atom_to_reside_in_active_site()

void protocols::match::downstream::LigandConformerBuilder::require_atom_to_reside_in_active_site ( core::id::AtomID const &  id)
overridevirtual

◆ set_bb_grid()

void protocols::match::downstream::LigandConformerBuilder::set_bb_grid ( BumpGridCOP  bbgrid)
overridevirtual

◆ set_idealize_conformers()

void protocols::match::downstream::LigandConformerBuilder::set_idealize_conformers ( bool  setting)

References idealize_conformers_.

◆ set_rmsd_unique_cutoff()

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

References rmsd_unique_cutoff_.

Member Data Documentation

◆ atom_radii_

utility::vector1< ProbeRadius > protocols::match::downstream::LigandConformerBuilder::atom_radii_
private

◆ atom_required_in_active_site_

utility::vector1< bool > protocols::match::downstream::LigandConformerBuilder::atom_required_in_active_site_
private

◆ atoms_123_

utility::fixedsizearray1< core::Size, 3 > protocols::match::downstream::LigandConformerBuilder::atoms_123_
private

◆ ats123_reqd_in_active_site_

utility::fixedsizearray1< bool, 3 > protocols::match::downstream::LigandConformerBuilder::ats123_reqd_in_active_site_
private

◆ conformer_group_for_conformer_

utility::vector1< core::Size > protocols::match::downstream::LigandConformerBuilder::conformer_group_for_conformer_
private

◆ conformer_group_indices_

utility::vector1< utility::vector1< core::Size > > protocols::match::downstream::LigandConformerBuilder::conformer_group_indices_
private

◆ downstream_restype_

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

◆ idealize_conformers_

bool protocols::match::downstream::LigandConformerBuilder::idealize_conformers_
private

◆ ignore_h_collisions_

bool protocols::match::downstream::LigandConformerBuilder::ignore_h_collisions_
private

◆ lig_conformers_

utility::vector1< toolbox::match_enzdes_util::LigandConformerOP > protocols::match::downstream::LigandConformerBuilder::lig_conformers_
private

◆ min_sep_d2_from_upstream_atoms_

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

◆ non_collision_detection_atoms_reqd_in_active_site_

utility::vector1< core::Size > protocols::match::downstream::LigandConformerBuilder::non_collision_detection_atoms_reqd_in_active_site_
private

◆ orientation_atoms_

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

◆ radii_123_

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

◆ rmsd_unique_cutoff_

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

◆ upstream_restype_

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

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