|
Rosetta
|
A class for an algorithm. Given a conformation of the upstream partner, the algorithm is responsible for producing a set of hits. More...
#include <SecondaryMatcherToUpstreamResidue.hh>

Public Types | |
| typedef DownstreamAlgorithm | parent |
| typedef utility::fixedsizearray1< core::Size, 2 > | Size2 |
| typedef utility::OrderedTuple< Size2 > | Size2Tuple |
| typedef std::pair< SecMatchResiduePairEvaluatorCOP, core::Size > | Evaluator_MCFI_ID_Pair |
| typedef std::list< Evaluator_MCFI_ID_Pair > | EvaluatorSet |
Public Types inherited from protocols::match::downstream::DownstreamAlgorithm | |
| typedef core::Size | Size |
| typedef core::Vector | Vector |
Public Member Functions | |
| SecondaryMatcherToUpstreamResidue (core::Size geom_cst_id) | |
| ~SecondaryMatcherToUpstreamResidue () override | |
| DownstreamAlgorithmOP | clone () const override |
| std::list< Hit > | build_hits_at_all_positions (Matcher &matcher) override |
| Main driver function for hit generation. This DownstreamAlgorithm structures it's iteration over the hits from previous rounds as follows: for i = 1:n_build_positions recover_rotamer_coordinates_from_previous_round( hits_for_build_point_i ); initialize rotcoord data for all downstream algorithms with the same geom_cst_id #omp parallel for /// All class access below this point is const and parallelizable for j = 1:n_build_positions /// call this function to start k loop: matcher.upstream_builder[ geom_cst_id() ]->build( j ) for k = 1:n_rotamers_j /// call to start l loop: downstream_algorithm->build( j, k, rotamer_k ) ) for l = 1:n_rotamers_from_build_point_i if ( respair_evaluator_->evaluate_residues( rotamer_k, rotamer_l ) hit_list.append( Hit( j, k, ... )); return hit_list There are two important consequences to this hit-generation layout. More... | |
| void | respond_to_primary_hitlist_change (Matcher &matcher, core::Size round_just_completed) override |
| Prune hits away from the target_geomcst's hit list following a change to the hits for my geom_cst_id(). Pruning hits from the target_geomcst's hit list will trigger a round of peripheral-hitlist-change responses. More... | |
| void | respond_to_peripheral_hitlist_change (Matcher &matcher) override |
| Remove my hits if my target_geomcst's hit list has been shortened. This will not trigger a round of peripheral-hitlist-change responses. More... | |
| std::list< Hit > | build (core::Size const scaffold_build_point_id, core::Size const upstream_conf_id, core::conformation::Residue const &upstream_residue) const override |
| Iterate across the hits from a particular upstream build point i that were generated in a previous round, and see if the geometry of the input upstream_residue has "satisfactory interactions" with the hits from upstream-build-point i; if so, it appends a Hit to the hitlist returned at the end of the method. (Also, see comments for the build_at_all_positions method.) More... | |
| bool | upstream_only () const override |
| returns true; this secondary matcher does not describe the location of the downstream partner More... | |
| bool | generates_primary_hits () const override |
| This method returns 'false' since this matcher does not describe the coordinates of the downstream partner at all. More... | |
| void | prepare_for_match_enumeration (Matcher const &matcher) override |
| Prepare a map between upstream hits of the target-geomcst and a list of Hit const *'s of this geom_cst_id(). This map will be used in the function hits_to_include_with_partial_match. More... | |
| HitPtrListCOP | hits_to_include_with_partial_match (match_dspos1 const &m) const override |
| Return the set of hits to be iterated across. More... | |
| core::Size | n_possible_hits_per_upstream_conformation () const override |
| void | set_target_geomcst_id (core::Size target_geomcst_id) |
| void | add_target_restype (core::chemical::ResidueTypeCOP target_restype) |
| void | add_evaluator_for_target_restype (core::chemical::ResidueTypeCOP target_restype, SecMatchResiduePairEvaluatorCOP evaluator, core::Size mcfi_id_for_evaluator) |
| void | process_hit (Hit const &hit, core::conformation::Residue const &upstream_conformation) |
| Invoked by SecondaryMatchUpstreamResProcessor; avoids multiple inherritance, while letting the SecondaryMatcherToUpstreamResidue. More... | |
Public Member Functions inherited from protocols::match::downstream::DownstreamAlgorithm | |
| DownstreamAlgorithm (core::Size geom_cst_id) | |
| DownstreamAlgorithm (DownstreamAlgorithm const &) | |
| DownstreamAlgorithm const & | operator= (DownstreamAlgorithm const &) |
| ~DownstreamAlgorithm () override | |
| void | set_bb_grid (BumpGridCOP bbgrid) |
| void | set_active_site_grid (ActiveSiteGridCOP active_site_grid) |
| core::Size | geom_cst_id () const |
| void | set_dsbuilder (DownstreamBuilderOP dsbuilder) |
| DownstreamBuilderOP | get_dsbuilder () const |
| bool | are_colliding (core::conformation::Residue const &us_res, core::conformation::Residue const &ds_res, utility::vector1< core::id::AtomID > const &ds_atoms, utility::vector1< core::Size > const &catalytic_atoms) const |
Private Member Functions | |
| void | prepare_for_hit_generation (Matcher &matcher) |
| bool | prepare_for_hit_generation_at_target_build_point (Matcher &matcher, upstream::ScaffoldBuildPoint const &target_build_point) |
| void | set_target_rotamer_coords (TargetRotamerCoordsOP target_geomcst_coords) |
| Allow another SecondaryMatcherToUpstreamResidue to set my TargetRotamerCoords object so that we can share this data. More... | |
| void | count_rotamer (core::conformation::Residue const &upstream_conformation) |
| void | store_rotamer_coords (Hit const &hit, core::conformation::Residue const &upstream_conformation) |
| void | reorder_restypes (upstream::UpstreamBuilder const &builder) |
Additional Inherited Members | |
Protected Member Functions inherited from protocols::match::downstream::DownstreamAlgorithm | |
| BumpGrid const & | bbgrid () const |
| bool | active_site_grid_set () const |
| ActiveSiteGrid const & | active_site_grid () const |
| std::list< Hit > | default_build_hits_at_all_positions (Matcher const &matcher) const |
| Non-virtual, const method for generating hits by first iterating across all build points and then invoking upstream_builder->build( build_point_i ) and splicing together the results. This method is invoked by default if the derived class does not override build_hits_at_all_positions. More... | |
A class for an algorithm. Given a conformation of the upstream partner, the algorithm is responsible for producing a set of hits.
| typedef std::pair< SecMatchResiduePairEvaluatorCOP, core::Size > protocols::match::downstream::SecondaryMatcherToUpstreamResidue::Evaluator_MCFI_ID_Pair |
| typedef std::list< Evaluator_MCFI_ID_Pair > protocols::match::downstream::SecondaryMatcherToUpstreamResidue::EvaluatorSet |
| typedef utility::fixedsizearray1< core::Size, 2 > protocols::match::downstream::SecondaryMatcherToUpstreamResidue::Size2 |
| typedef utility::OrderedTuple< Size2 > protocols::match::downstream::SecondaryMatcherToUpstreamResidue::Size2Tuple |
| protocols::match::downstream::SecondaryMatcherToUpstreamResidue::SecondaryMatcherToUpstreamResidue | ( | core::Size | geom_cst_id | ) |
|
overridedefault |
| void protocols::match::downstream::SecondaryMatcherToUpstreamResidue::add_evaluator_for_target_restype | ( | core::chemical::ResidueTypeCOP | target_restype, |
| SecMatchResiduePairEvaluatorCOP | evaluator, | ||
| core::Size | mcfi_id_for_evaluator | ||
| ) |
References respair_evaluators_, target_restype_index_map_, and target_restypes_.
| void protocols::match::downstream::SecondaryMatcherToUpstreamResidue::add_target_restype | ( | core::chemical::ResidueTypeCOP | target_restype | ) |
References target_restype_index_map_, and target_restypes_.
|
overridevirtual |
Iterate across the hits from a particular upstream build point i that were generated in a previous round, and see if the geometry of the input upstream_residue has "satisfactory interactions" with the hits from upstream-build-point i; if so, it appends a Hit to the hitlist returned at the end of the method. (Also, see comments for the build_at_all_positions method.)
Implements protocols::match::downstream::DownstreamAlgorithm.
References core::sequence::end, protocols::match::Hit::first(), respair_evaluators_, protocols::match::Hit::second(), core::conformation::Residue::seqpos(), core::conformation::Residue::set_xyz(), smUR_pose_build_resids_, target_geomcst_coords_, and core::conformation::Residue::type_ptr().
|
overridevirtual |
Main driver function for hit generation. This DownstreamAlgorithm structures it's iteration over the hits from previous rounds as follows: for i = 1:n_build_positions recover_rotamer_coordinates_from_previous_round( hits_for_build_point_i ); initialize rotcoord data for all downstream algorithms with the same geom_cst_id #omp parallel for /// All class access below this point is const and parallelizable for j = 1:n_build_positions /// call this function to start k loop: matcher.upstream_builder[ geom_cst_id() ]->build( j ) for k = 1:n_rotamers_j /// call to start l loop: downstream_algorithm->build( j, k, rotamer_k ) ) for l = 1:n_rotamers_from_build_point_i if ( respair_evaluator_->evaluate_residues( rotamer_k, rotamer_l ) hit_list.append( Hit( j, k, ... )); return hit_list There are two important consequences to this hit-generation layout.
Only a single build-position i has it's hit coordinates in memory at any point in time. This is a clear trade-off between performance and memory with a few caveats: A. It is very easy to bound the volume of space where build-point i's rotamers lie, so it should be easy to prune rotamer building, so rotamer k will be build many fewer than n_build_position times. B. By not trying to store all rotamers in memory at once, we do not impose any undue restrictions on the number of rotamers that can be enumerated. This is especially important if we're using backbone flexibility to search a wider region of conformation space.
This DownstreamAlgorithm structures it's iteration over the target hits from previous rounds as follows: for i = 1:n_build_positions recover_rotamer_coordinates_from_previous_round( hits_for_build_point_i ); initialize rotcoord data for all downstream algorithms with the same geom_cst_id #omp parallel for /// All class access below this point is const and parallelizable for j = 1:n_build_positions /// call this function to start k loop: matcher.upstream_builder[ geom_cst_id() ]->build( j ) for k = 1:n_rotamers_j /// call to start l loop: downstream_algorithm->build( j, k, rotamer_k ) ) for l = 1:n_rotamers_from_build_point_i if ( respair_evaluator_->evaluate_residues( rotamer_k, rotamer_l ) hit_list.append( Hit( j, k, ... )); return hit_list There are two important consequences to this hit-generation layout.
Reimplemented from protocols::match::downstream::DownstreamAlgorithm.
References protocols::fldsgn::topology::compare(), core::sequence::end, protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), protocols::match::Matcher::per_constraint_build_points(), prepare_for_hit_generation(), prepare_for_hit_generation_at_target_build_point(), target_geomcst_id_, protocols::match::downstream::TR(), and protocols::match::Matcher::upstream_builder().
|
overridevirtual |
|
private |
|
overridevirtual |
This method returns 'false' since this matcher does not describe the coordinates of the downstream partner at all.
Implements protocols::match::downstream::DownstreamAlgorithm.
|
overridevirtual |
Return the set of hits to be iterated across.
Implements protocols::match::downstream::DownstreamAlgorithm.
References my_hits_for_target_hit_map_, target_geomcst_id_, and protocols::match::match_dspos1::upstream_hits.
|
overridevirtual |
Implements protocols::match::downstream::DownstreamAlgorithm.
References target_geomcst_coords_.
|
private |
References protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), protocols::match::Matcher::get_pose_build_resids(), protocols::match::Matcher::hits(), n_rotamers_per_target_restype_, protocols::match::Matcher::nonconst_downstream_algorithms(), target_geomcst_coords_, target_geomcst_id_, target_hits_end_, target_hits_for_focused_build_point_begin_, target_hits_for_focused_build_point_end_, protocols::match::downstream::TR(), and protocols::match::Matcher::upstream_builder().
Referenced by build_hits_at_all_positions().
|
private |
References count_rotamer_for_lastseen_restype_, count_rotamers_per_target_restype_, protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), protocols::match::upstream::ScaffoldBuildPoint::index(), last_seen_restype_, last_seen_restype_index_, n_rotamers_per_target_restype_, protocols::match::Matcher::nonconst_downstream_algorithms(), protocols::match::upstream::ScaffoldBuildPoint::original_insertion_point(), target_geomcst_coords_, target_geomcst_id_, target_hits_end_, target_hits_for_focused_build_point_begin_, target_hits_for_focused_build_point_end_, target_restypes_, protocols::match::downstream::TR(), and protocols::match::Matcher::upstream_builder().
Referenced by build_hits_at_all_positions().
|
overridevirtual |
Prepare a map between upstream hits of the target-geomcst and a list of Hit const *'s of this geom_cst_id(). This map will be used in the function hits_to_include_with_partial_match.
Reimplemented from protocols::match::downstream::DownstreamAlgorithm.
References protocols::match::downstream::DownstreamAlgorithm::geom_cst_id(), protocols::match::Matcher::hits(), and my_hits_for_target_hit_map_.
| void protocols::match::downstream::SecondaryMatcherToUpstreamResidue::process_hit | ( | Hit const & | hit, |
| core::conformation::Residue const & | upstream_conformation | ||
| ) |
Invoked by SecondaryMatchUpstreamResProcessor; avoids multiple inherritance, while letting the SecondaryMatcherToUpstreamResidue.
References count_rotamer(), count_rotamers_per_target_restype_, and store_rotamer_coords().
Referenced by protocols::match::downstream::SecondaryMatchUpstreamResProcessor::process_hit().
|
private |
|
overridevirtual |
Remove my hits if my target_geomcst's hit list has been shortened. This will not trigger a round of peripheral-hitlist-change responses.
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(), n_viable_target_hits_since_last_pruning_, target_geomcst_id_, and protocols::match::downstream::TR().
|
overridevirtual |
Prune hits away from the target_geomcst's hit list following a change to the hits for my geom_cst_id(). Pruning hits from the target_geomcst's hit list will trigger a round of peripheral-hitlist-change responses.
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(), n_viable_target_hits_since_last_pruning_, target_geomcst_id_, and protocols::match::downstream::TR().
| void protocols::match::downstream::SecondaryMatcherToUpstreamResidue::set_target_geomcst_id | ( | core::Size | target_geomcst_id | ) |
References target_geomcst_id_.
|
private |
Allow another SecondaryMatcherToUpstreamResidue to set my TargetRotamerCoords object so that we can share this data.
References target_geomcst_coords_.
|
private |
|
overridevirtual |
returns true; this secondary matcher does not describe the location of the downstream partner
Implements protocols::match::downstream::DownstreamAlgorithm.
|
private |
Referenced by prepare_for_hit_generation_at_target_build_point(), and store_rotamer_coords().
|
private |
Referenced by prepare_for_hit_generation_at_target_build_point(), and process_hit().
|
private |
Referenced by count_rotamer(), prepare_for_hit_generation_at_target_build_point(), and store_rotamer_coords().
|
private |
Referenced by count_rotamer(), prepare_for_hit_generation_at_target_build_point(), and store_rotamer_coords().
|
private |
Referenced by hits_to_include_with_partial_match(), and prepare_for_match_enumeration().
|
private |
|
private |
Referenced by respond_to_peripheral_hitlist_change(), and respond_to_primary_hitlist_change().
|
private |
Referenced by add_evaluator_for_target_restype(), build(), and reorder_restypes().
|
private |
Referenced by build().
|
private |
|
private |
The id for the geom-cst that this SecondaryMatcher is dependent upon; the upstream geometries for residues generated by the target-geometric constraint are examined in the build() method.
Referenced by build_hits_at_all_positions(), hits_to_include_with_partial_match(), prepare_for_hit_generation(), prepare_for_hit_generation_at_target_build_point(), respond_to_peripheral_hitlist_change(), respond_to_primary_hitlist_change(), and set_target_geomcst_id().
|
private |
Referenced by prepare_for_hit_generation(), and prepare_for_hit_generation_at_target_build_point().
|
private |
Referenced by prepare_for_hit_generation(), and prepare_for_hit_generation_at_target_build_point().
|
private |
Referenced by prepare_for_hit_generation(), and prepare_for_hit_generation_at_target_build_point().
|
private |
Referenced by add_evaluator_for_target_restype(), add_target_restype(), and reorder_restypes().
|
private |