Rosetta 3.5
|
#include <ProteinUpstreamBuilder.hh>
Public Types | |
typedef core::Vector | Vector |
typedef core::Real | Real |
typedef numeric::HomogeneousTransform < Real > | HTReal |
typedef core::pack::dunbrack::DunbrackRotamerSampleData | DunbrackRotamerSampleData |
typedef utility::vector1 < DunbrackRotamerSampleData > | DunbrackRotamerSampleDataVector |
![]() | |
typedef core::Size | Size |
typedef core::Vector | Vector |
Public Member Functions | |
ProteinUpstreamBuilder () | |
virtual | ~ProteinUpstreamBuilder () |
UpstreamBuilderOP | clone () const |
virtual std::list< Hit > | build (ScaffoldBuildPoint const &build_point) const |
Iterate across possible conformations for the upstream half of the hit, and for each (non-coliding) conformation, sample all external geometries specified by the external_sampler to construct the three coordinates of the downstream sampler. Return a list of hits. More... | |
virtual void | recover_hit (Hit const &hit, ScaffoldBuildPoint const &build_point, UpstreamResidueProcessor &processor) const |
Regenerate the rotamer for a particular hit and give that rotamer to the UpstreamResidueProcessor. More... | |
virtual void | recover_hits (std::list< Hit >::const_iterator hits_begin, std::list< Hit >::const_iterator hits_end, ScaffoldBuildPoint const &build_point, UpstreamResidueProcessor &processor) const |
Regenerate a set of rotamers for a subset of hits bound by the two input hit-list iterators. More... | |
virtual Size | n_restypes_to_build () const |
virtual core::chemical::ResidueTypeCOP | restype (Size which_restype) const |
virtual bool | compatible (Hit const &my_hit, ScaffoldBuildPoint const &build_point_mine, UpstreamBuilder const &other, Hit const &other_hit, ScaffoldBuildPoint const &build_point_other, bool first_dispatch=true) const |
The side chain for two. More... | |
virtual bool | compatible (Hit const &my_hit, ScaffoldBuildPoint const &build_point_mine, ProteinUpstreamBuilder const &other, Hit const &other_hit, ScaffoldBuildPoint const &build_point_other, bool first_dispatch=true) const |
void | add_build_set (BuildSet const &build_set) |
Size | n_build_sets () const |
BuildSet const & | build_set (core::chemical::ResidueTypeCOP restype) const |
BuildSet & | build_set (core::chemical::ResidueTypeCOP restype) |
void | set_sampler (ProteinSCSamplerCOP sampler) |
void | set_use_input_sidechain (bool setting) |
void | set_native_flag (bool native) |
![]() | |
virtual | ~UpstreamBuilder () |
void | set_bb_grid (BumpGridCOP bbgrid) |
Private Member Functions | |
HTReal | initialize_rescoords (Size build_set_id, core::conformation::Residue &rescoords, ScaffoldBuildPoint const &build_point) const |
Copy the coordinates from the build_point object into the the rescoords object, compute the coordinate frame at CBeta, copy the CB coordinate into the rescoords object, and return the CBeta frame. More... | |
HTReal | compute_cb_frame (Size build_set_id, ProteinBackboneBuildPoint const &build_point) const |
Construct the coordinate frame at CBeta to match the residue type's geometry. The input coordinates for the build point need not be ideal. The returned coordinate frame is located at CBeta with the z axis pointing along the calpha->cbeta bond vector, the y axis is in the N-CA-CB plane, and the x axis being the crossproduct of y and z. More... | |
bool | atom_coordinate_unacceptable (Size build_set_id, core::conformation::Residue const &rescoords, Size atomno) const |
Returns true if a particular atom coordinate for a rotamer rules out that rotamer as yeilding a potential hit. Reasons to exclude a rotamer based on atom placement: collision of that atom with the background, too long of a distance that atom is from any other hit. More... | |
Private Attributes | |
ProteinSCSamplerCOP | sampler_ |
utility::vector1< BuildSet > | build_sets_ |
bool | use_input_sc_ |
bool | avoid_building_any_rotamers_dueto_native_ |
Additional Inherited Members | |
![]() | |
BumpGrid const & | bbgrid () const |
typedef core::pack::dunbrack::DunbrackRotamerSampleData protocols::match::upstream::ProteinUpstreamBuilder::DunbrackRotamerSampleData |
typedef utility::vector1< DunbrackRotamerSampleData > protocols::match::upstream::ProteinUpstreamBuilder::DunbrackRotamerSampleDataVector |
typedef numeric::HomogeneousTransform< Real > protocols::match::upstream::ProteinUpstreamBuilder::HTReal |
protocols::match::upstream::ProteinUpstreamBuilder::ProteinUpstreamBuilder | ( | ) |
Referenced by clone().
|
virtual |
void protocols::match::upstream::ProteinUpstreamBuilder::add_build_set | ( | BuildSet const & | build_set) |
References protocols::match::upstream::BuildSet::backbone_only(), build_set(), and build_sets_.
|
private |
Returns true if a particular atom coordinate for a rotamer rules out that rotamer as yeilding a potential hit. Reasons to exclude a rotamer based on atom placement: collision of that atom with the background, too long of a distance that atom is from any other hit.
Collision detection against the background goes here. "Background" is tricky for atoms near the backbone
References protocols::match::upstream::UpstreamBuilder::bbgrid(), build_sets_, protocols::match::BumpGrid::occupied(), protocols::match::BumpGrid::required_separation_distance(), and core::conformation::Residue::xyz().
Referenced by build().
|
virtual |
Iterate across possible conformations for the upstream half of the hit, and for each (non-coliding) conformation, sample all external geometries specified by the external_sampler to construct the three coordinates of the downstream sampler. Return a list of hits.
This is the main workhorse function for the upstream builder. There are lots of ways to customize the way the loops in this function work, but custom code should be written in subroutines called by this function and should not change the function itself. It is crucial here that the rotamers are created in the same way they were counted in insert(). Make sure that if you change build()'s behavior, that insert()'s behavior changes, too!
DO NOT LET THIS FUNCTION EXCEED 150 LINES. CLEAR CODE IS SHORT.
Implements protocols::match::upstream::UpstreamBuilder.
References atom_coordinate_unacceptable(), avoid_building_any_rotamers_dueto_native_, build_sets_, core::conformation::Residue::chi(), protocols::match::upstream::FullChiSampleSet::chi_sample(), protocols::match::upstream::UpstreamResTypeGeometry::chitip_atom(), protocols::match::upstream::FullChiSampleSet::frame(), core::pack::dunbrack::RotamerLibrary::get_instance(), protocols::match::upstream::UpstreamResTypeGeometry::ht_for_chitip_atom(), protocols::match::upstream::ScaffoldBuildPoint::index(), initialize_rescoords(), core::conformation::Residue::mainchain_torsions(), protocols::match::upstream::UpstreamResTypeGeometry::n_nonchitip_atoms_for_chi(), protocols::match::upstream::FullChiSampleSet::n_samples_per_chi(), protocols::match::upstream::UpstreamResTypeGeometry::nonchitip_atom(), protocols::match::upstream::FullChiSampleSet::num_chi_samples_total(), protocols::match::upstream::ScaffoldBuildPoint::original_insertion_point(), protocols::match::upstream::ProteinBackboneBuildPoint::phi(), protocols::match::upstream::UpstreamResTypeGeometry::points_for_nonchitip_atoms(), protocols::match::upstream::ProteinBackboneBuildPoint::psi(), restype(), sampler_, core::conformation::Residue::set_xyz(), protocols::match::upstream::TR(), core::conformation::Residue::type(), and use_input_sc_.
BuildSet const & protocols::match::upstream::ProteinUpstreamBuilder::build_set | ( | core::chemical::ResidueTypeCOP | restype) | const |
Referenced by add_build_set().
BuildSet & protocols::match::upstream::ProteinUpstreamBuilder::build_set | ( | core::chemical::ResidueTypeCOP | restype) |
References protocols::match::upstream::b, build_sets_, and restype().
|
virtual |
Implements protocols::match::upstream::UpstreamBuilder.
References ProteinUpstreamBuilder().
|
virtual |
The side chain for two.
Reimplemented from protocols::match::upstream::UpstreamBuilder.
References protocols::match::upstream::UpstreamBuilder::compatible().
Referenced by protocols::match::upstream::UpstreamBuilder::compatible().
|
virtual |
Reimplemented from protocols::match::upstream::UpstreamBuilder.
References build_sets_, protocols::match::Hit::first(), and protocols::match::upstream::ScaffoldBuildPoint::index().
|
private |
Construct the coordinate frame at CBeta to match the residue type's geometry. The input coordinates for the build point need not be ideal. The returned coordinate frame is located at CBeta with the z axis pointing along the calpha->cbeta bond vector, the y axis is in the N-CA-CB plane, and the x axis being the crossproduct of y and z.
Follow Phil's convention for placing CBeta based on halfway point of the ideal N and C positions and the halfway point from the the input N and C positions. In fact, this is barely different from Phil's code except that it uses HT's instead of Stubs. By "Phil's code", I mean core/conformation/Residue.cc::orient_onto_position()
References build_sets_, protocols::match::upstream::ProteinBackboneBuildPoint::C_pos(), protocols::match::upstream::ProteinBackboneBuildPoint::CA_pos(), protocols::match::upstream::UpstreamResTypeGeometry::CB_atom_id(), protocols::match::upstream::UpstreamResTypeGeometry::coordinate_for_nonchi_atom_in_ideal_frame(), and protocols::match::upstream::ProteinBackboneBuildPoint::N_pos().
Referenced by initialize_rescoords().
|
private |
Copy the coordinates from the build_point object into the the rescoords object, compute the coordinate frame at CBeta, copy the CB coordinate into the rescoords object, and return the CBeta frame.
References build_sets_, protocols::match::upstream::UpstreamResTypeGeometry::C_atom_id(), protocols::match::upstream::ProteinBackboneBuildPoint::C_pos(), protocols::match::upstream::UpstreamResTypeGeometry::CA_atom_id(), protocols::match::upstream::ProteinBackboneBuildPoint::CA_pos(), protocols::match::upstream::UpstreamResTypeGeometry::CB_atom_id(), compute_cb_frame(), protocols::match::upstream::UpstreamResTypeGeometry::coordinate_for_nonchi_atom_in_ideal_frame(), protocols::match::upstream::UpstreamResTypeGeometry::H_atom_id(), protocols::match::upstream::ProteinBackboneBuildPoint::H_pos(), protocols::match::upstream::UpstreamResTypeGeometry::HA_atom_id(), protocols::match::upstream::ProteinBackboneBuildPoint::HA_pos(), protocols::match::upstream::UpstreamResTypeGeometry::has_CB_atom(), protocols::match::upstream::UpstreamResTypeGeometry::has_H_atom(), protocols::match::upstream::UpstreamResTypeGeometry::has_HA_atom(), protocols::match::upstream::UpstreamResTypeGeometry::N_atom_id(), protocols::match::upstream::ProteinBackboneBuildPoint::N_pos(), protocols::match::upstream::UpstreamResTypeGeometry::O_atom_id(), protocols::match::upstream::ProteinBackboneBuildPoint::O_pos(), protocols::match::upstream::ScaffoldBuildPoint::original_insertion_point(), restype(), core::conformation::Residue::seqpos(), and core::conformation::Residue::set_xyz().
Referenced by build(), and recover_hits().
|
inline |
References build_sets_.
|
virtual |
Implements protocols::match::upstream::UpstreamBuilder.
References build_sets_.
|
virtual |
Regenerate the rotamer for a particular hit and give that rotamer to the UpstreamResidueProcessor.
Replace residue for the amino acid corresponding to the rotamer indicated in the hit at the Pose position seqpos_to_insert_at.
It is crucial here that the rotamers are counted in the same way they were iterated across in build. Make sure that if build() changes its behavior, that this function also changes its behavior!
Implements protocols::match::upstream::UpstreamBuilder.
References recover_hits().
|
virtual |
Regenerate a set of rotamers for a subset of hits bound by the two input hit-list iterators.
Implements protocols::match::upstream::UpstreamBuilder.
References avoid_building_any_rotamers_dueto_native_, build_sets_, core::conformation::Residue::chi(), protocols::match::upstream::FullChiSampleSet::chi_sample(), protocols::match::upstream::UpstreamResTypeGeometry::chitip_atom(), protocols::match::upstream::FullChiSampleSet::frame(), protocols::match::upstream::UpstreamResTypeGeometry::ht_for_chitip_atom(), protocols::match::upstream::ScaffoldBuildPoint::index(), initialize_rescoords(), protocols::match::upstream::UpstreamResTypeGeometry::n_nonchitip_atoms_for_chi(), protocols::match::upstream::FullChiSampleSet::n_samples_per_chi(), protocols::match::upstream::UpstreamResTypeGeometry::nonchitip_atom(), protocols::match::upstream::FullChiSampleSet::num_chi_samples_total(), protocols::match::upstream::UpstreamResTypeGeometry::points_for_nonchitip_atoms(), protocols::match::upstream::UpstreamResidueProcessor::process_hit(), restype(), sampler_, core::conformation::Residue::set_xyz(), and use_input_sc_.
Referenced by recover_hit().
|
virtual |
Implements protocols::match::upstream::UpstreamBuilder.
References build_sets_.
Referenced by build(), build_set(), initialize_rescoords(), and recover_hits().
void protocols::match::upstream::ProteinUpstreamBuilder::set_native_flag | ( | bool | native) |
References avoid_building_any_rotamers_dueto_native_.
void protocols::match::upstream::ProteinUpstreamBuilder::set_sampler | ( | ProteinSCSamplerCOP | sampler) |
References sampler_.
void protocols::match::upstream::ProteinUpstreamBuilder::set_use_input_sidechain | ( | bool | setting) |
References use_input_sc_.
|
private |
Referenced by build(), recover_hits(), and set_native_flag().
|
private |
|
private |
Referenced by build(), recover_hits(), and set_sampler().
|
private |
Referenced by build(), recover_hits(), and set_use_input_sidechain().