Rosetta 3.4
Public Types | Public Member Functions
protocols::match::downstream::ClassicMatchAlgorithm Class Reference

Produce hits by hashing building the coordinates of the downstream partner The downstream partner is responsible for building itself from the coordinate frame of three of its atoms. The ExternalGeomSampler describes the ways to orient the downstream partner given the coordinates of the upstream partner. More...

#include <ClassicMatchAlgorithm.hh>

Inheritance diagram for protocols::match::downstream::ClassicMatchAlgorithm:
Inheritance graph
[legend]
Collaboration diagram for protocols::match::downstream::ClassicMatchAlgorithm:
Collaboration graph
[legend]

List of all members.

Public Types

typedef DownstreamAlgorithm parent
typedef core::Size Size
typedef core::Real Real
typedef
numeric::HomogeneousTransform
< Real
HTReal

Public Member Functions

 ClassicMatchAlgorithm (Size geom_cst_id)
virtual ~ClassicMatchAlgorithm ()
virtual DownstreamAlgorithmOP clone () const
virtual std::list< Hitbuild_hits_at_all_positions (Matcher &matcher)
 Main driver function for hit generation. The algorithm is responsible for generating hits at all scaffold build points that are valid for this geometric constraint. The base class provides an iterate-across-all-positions-and-splice-together-hit-lists implementation, however, derived classes may overload this function. The base class function is parallelizable with OpenMP. The returned hit list must be in sorted order by 1) hit.scaffold_build_id() and then by 2) hit.upstream_conf_id().
virtual void respond_to_primary_hitlist_change (Matcher &matcher, Size round_just_completed)
 Reset the occupied space grid for the matcher so that only those regions which contain hits from this geometric constraint are marked as occupied.
virtual void respond_to_peripheral_hitlist_change (Matcher &matcher)
 Delete hits for this geometric constraint if they fall into now-empty regions of 6D. This step can be avoided if the occupied-space-grid's revision ID has not changed since the last time this function was invoked.
virtual std::list< Hitbuild (Size const scaffold_build_point_id, Size const upstream_conf_id, core::conformation::Residue const &upstream_residue) const
 Iterate across the external geom samplers that describe the rigid body orientations of the downstream partner from the coordinates of the upstream partner.
virtual bool upstream_only () const
 This method returns 'false' since the classic match algorithm builds coordinates of the downstream partner and its hits should be hashed in 6D to generate matches.
virtual bool generates_primary_hits () const
 This method returns 'true' since the classic matcher builds the downstream coordinates from scratch.
virtual HitPtrListCOP hits_to_include_with_partial_match (match_dspos1 const &m) const
 This method should not be invoked on the ClassicMatchAlgorithm, since it returns "false" in its upstream_only method.
virtual Size n_possible_hits_per_upstream_conformation () const
std::list< Hitbuild_from_three_coords (Size const which_external_sampler, Size const scaffold_build_point_id, Size const upstream_conf_id, core::conformation::Residue const &upstream_residue) const
 This function completes the building of the downstream conformation once the coordinates of the upstream conformation are known (and deemed non-colliding or, generally, pass any filter the upstream builder would use).
void set_residue_type (core::chemical::ResidueTypeCAP restype)
void add_external_geom_sampler (toolbox::match_enzdes_util::ExternalGeomSampler const &sampler, Size const exgeom_id, std::string const &atom1, std::string const &atom2, std::string const &atom3, DownstreamBuilderCOP downstream_builder)
void clear_external_geom_samplers ()
core::chemical::ResidueType const & restype () const
 Accessors.
toolbox::match_enzdes_util::ExternalGeomSampler
const & 
external_sampler (Size external_geom_id) const
Size launch_atom (Size external_geom_id, Size which_point) const
Size n_external_samplers () const

Detailed Description

Produce hits by hashing building the coordinates of the downstream partner The downstream partner is responsible for building itself from the coordinate frame of three of its atoms. The ExternalGeomSampler describes the ways to orient the downstream partner given the coordinates of the upstream partner.


Member Typedef Documentation

typedef numeric::HomogeneousTransform< Real > protocols::match::downstream::ClassicMatchAlgorithm::HTReal

Constructor & Destructor Documentation

protocols::match::downstream::ClassicMatchAlgorithm::ClassicMatchAlgorithm ( Size  geom_cst_id)

Referenced by clone().

protocols::match::downstream::ClassicMatchAlgorithm::~ClassicMatchAlgorithm ( ) [virtual]

Member Function Documentation

void protocols::match::downstream::ClassicMatchAlgorithm::add_external_geom_sampler ( toolbox::match_enzdes_util::ExternalGeomSampler const &  sampler,
Size const  exgeom_id,
std::string const &  atom1,
std::string const &  atom2,
std::string const &  atom3,
DownstreamBuilderCOP  dsbuilder 
)

Precompute transforms for the external geom sampler as it is added so that the transforms are ready when build() is called.

References make_table_of_pilot_apps::name, restype(), and protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_dis_D1D2().

Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint().

std::list< Hit > protocols::match::downstream::ClassicMatchAlgorithm::build ( Size const  scaffold_build_point_id,
Size const  upstream_conf_id,
core::conformation::Residue const &  upstream_residue 
) const [virtual]

Iterate across the external geom samplers that describe the rigid body orientations of the downstream partner from the coordinates of the upstream partner.

Implements protocols::match::downstream::DownstreamAlgorithm.

References build_from_three_coords(), n_external_samplers(), core::conformation::Residue::name(), and core::conformation::Residue::type().

std::list< Hit > protocols::match::downstream::ClassicMatchAlgorithm::build_from_three_coords ( Size const  which_external_sampler,
Size const  scaffold_build_point_id,
Size const  upstream_conf_id,
core::conformation::Residue const &  upstream_residue 
) const
std::list< Hit > protocols::match::downstream::ClassicMatchAlgorithm::build_hits_at_all_positions ( Matcher matcher) [virtual]

Main driver function for hit generation. The algorithm is responsible for generating hits at all scaffold build points that are valid for this geometric constraint. The base class provides an iterate-across-all-positions-and-splice-together-hit-lists implementation, however, derived classes may overload this function. The base class function is parallelizable with OpenMP. The returned hit list must be in sorted order by 1) hit.scaffold_build_id() and then by 2) hit.upstream_conf_id().

By initializing local std::list< Hit > variables inside the loop over all of the build points, and then splicing them into a central vector of hit lists, I can avoid expensive list-copy operations while guaranteeing OpenMP thread saftey.

Reimplemented from protocols::match::downstream::DownstreamAlgorithm.

References protocols::match::downstream::DownstreamAlgorithm::default_build_hits_at_all_positions(), protocols::match::Matcher::downstream_builders(), protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), and protocols::match::Matcher::occ_space_hash().

void protocols::match::downstream::ClassicMatchAlgorithm::clear_external_geom_samplers ( )
DownstreamAlgorithmOP protocols::match::downstream::ClassicMatchAlgorithm::clone ( ) const [virtual]
toolbox::match_enzdes_util::ExternalGeomSampler const& protocols::match::downstream::ClassicMatchAlgorithm::external_sampler ( Size  external_geom_id) const [inline]
bool protocols::match::downstream::ClassicMatchAlgorithm::generates_primary_hits ( ) const [virtual]

This method returns 'true' since the classic matcher builds the downstream coordinates from scratch.

Implements protocols::match::downstream::DownstreamAlgorithm.

HitPtrListCOP protocols::match::downstream::ClassicMatchAlgorithm::hits_to_include_with_partial_match ( match_dspos1 const &  m) const [virtual]

This method should not be invoked on the ClassicMatchAlgorithm, since it returns "false" in its upstream_only method.

If this function is causing an exit, then there is a bug within the Matcher's match-enumeration logic. There is no meaningful way forward after this function is invoked. It should not be invoked.

Implements protocols::match::downstream::DownstreamAlgorithm.

Size protocols::match::downstream::ClassicMatchAlgorithm::launch_atom ( Size  external_geom_id,
Size  which_point 
) const [inline]

Referenced by build_from_three_coords().

Size protocols::match::downstream::ClassicMatchAlgorithm::n_external_samplers ( ) const [inline]
ClassicMatchAlgorithm::Size protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation ( ) const [virtual]
void protocols::match::downstream::ClassicMatchAlgorithm::respond_to_peripheral_hitlist_change ( Matcher matcher) [virtual]

Delete hits for this geometric constraint if they fall into now-empty regions of 6D. This step can be avoided if the occupied-space-grid's revision ID has not changed since the last time this function was invoked.

Drop hits that had previously seemed viable after another round completed; during that round, certain previously occupied regions of 6D were not filled with new hits. Any previously-generated hit that falls into a region of 6D which is no longer occupied should be elminated since it could not ever result in a match; it is inviable.

Reimplemented from protocols::match::downstream::DownstreamAlgorithm.

References protocols::match::Matcher::erase_hit(), protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), protocols::match::Matcher::hit_list_begin(), protocols::match::Matcher::hit_list_end(), protocols::match::Matcher::hits(), protocols::match::Matcher::occ_space_hash(), and protocols::match::downstream::TR().

void protocols::match::downstream::ClassicMatchAlgorithm::respond_to_primary_hitlist_change ( Matcher matcher,
Size  round_just_completed 
) [virtual]

Reset the occupied space grid for the matcher so that only those regions which contain hits from this geometric constraint are marked as occupied.

Reset the occupied space hash that the matcher uses so that it reflects the hits generated this round; this will cause the invalidation of hits generated in previous rounds. These invalidated hits will be deleted in calls to respond_to_peripheral_hitlist_change.

Reimplemented from protocols::match::downstream::DownstreamAlgorithm.

References protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), protocols::match::Matcher::hits(), protocols::match::Matcher::occ_space_hash(), and protocols::match::downstream::TR().

core::chemical::ResidueType const& protocols::match::downstream::ClassicMatchAlgorithm::restype ( ) const [inline]

Accessors.

Referenced by add_external_geom_sampler(), and set_residue_type().

void protocols::match::downstream::ClassicMatchAlgorithm::set_residue_type ( core::chemical::ResidueTypeCAP  restype)

References restype().

bool protocols::match::downstream::ClassicMatchAlgorithm::upstream_only ( ) const [virtual]

This method returns 'false' since the classic match algorithm builds coordinates of the downstream partner and its hits should be hashed in 6D to generate matches.

Implements protocols::match::downstream::DownstreamAlgorithm.


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