Rosetta 3.5
 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::upstream::ProteinUpstreamBuilder Class Reference

#include <ProteinUpstreamBuilder.hh>

Inheritance diagram for protocols::match::upstream::ProteinUpstreamBuilder:
Inheritance graph
[legend]
Collaboration diagram for protocols::match::upstream::ProteinUpstreamBuilder:
Collaboration graph
[legend]

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
 
- Public Types inherited from protocols::match::upstream::UpstreamBuilder
typedef core::Size Size
 
typedef core::Vector Vector
 

Public Member Functions

 ProteinUpstreamBuilder ()
 
virtual ~ProteinUpstreamBuilder ()
 
UpstreamBuilderOP clone () const
 
virtual std::list< Hitbuild (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
 
BuildSetbuild_set (core::chemical::ResidueTypeCOP restype)
 
void set_sampler (ProteinSCSamplerCOP sampler)
 
void set_use_input_sidechain (bool setting)
 
void set_native_flag (bool native)
 
- Public Member Functions inherited from protocols::match::upstream::UpstreamBuilder
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< BuildSetbuild_sets_
 
bool use_input_sc_
 
bool avoid_building_any_rotamers_dueto_native_
 

Additional Inherited Members

- Protected Member Functions inherited from protocols::match::upstream::UpstreamBuilder
BumpGrid const & bbgrid () const
 

Detailed Description

Definition at line 436 of file ProteinUpstreamBuilder.hh.

Member Typedef Documentation

Definition at line 441 of file ProteinUpstreamBuilder.hh.

Definition at line 442 of file ProteinUpstreamBuilder.hh.

typedef numeric::HomogeneousTransform< Real > protocols::match::upstream::ProteinUpstreamBuilder::HTReal

Definition at line 440 of file ProteinUpstreamBuilder.hh.

Definition at line 439 of file ProteinUpstreamBuilder.hh.

Definition at line 438 of file ProteinUpstreamBuilder.hh.

Constructor & Destructor Documentation

protocols::match::upstream::ProteinUpstreamBuilder::ProteinUpstreamBuilder ( )

Definition at line 759 of file ProteinUpstreamBuilder.cc.

Referenced by clone().

protocols::match::upstream::ProteinUpstreamBuilder::~ProteinUpstreamBuilder ( )
virtual

Definition at line 762 of file ProteinUpstreamBuilder.cc.

Member Function Documentation

void protocols::match::upstream::ProteinUpstreamBuilder::add_build_set ( BuildSet const &  build_set)
bool protocols::match::upstream::ProteinUpstreamBuilder::atom_coordinate_unacceptable ( Size  build_set_id,
core::conformation::Residue const &  rescoords,
Size  atomno 
) const
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

Definition at line 1323 of file ProteinUpstreamBuilder.cc.

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

std::list< Hit > protocols::match::upstream::ProteinUpstreamBuilder::build ( ScaffoldBuildPoint const &  build_point) const
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.

Definition at line 785 of file ProteinUpstreamBuilder.cc.

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

Definition at line 1214 of file ProteinUpstreamBuilder.cc.

Referenced by add_build_set().

BuildSet & protocols::match::upstream::ProteinUpstreamBuilder::build_set ( core::chemical::ResidueTypeCOP  restype)

Definition at line 1220 of file ProteinUpstreamBuilder.cc.

References protocols::match::upstream::b, build_sets_, and restype().

UpstreamBuilderOP protocols::match::upstream::ProteinUpstreamBuilder::clone ( ) const
virtual
bool protocols::match::upstream::ProteinUpstreamBuilder::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
virtual
bool protocols::match::upstream::ProteinUpstreamBuilder::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
virtual
ProteinUpstreamBuilder::HTReal protocols::match::upstream::ProteinUpstreamBuilder::compute_cb_frame ( Size  build_set_id,
ProteinBackboneBuildPoint const &  build_point 
) const
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()

Definition at line 1303 of file ProteinUpstreamBuilder.cc.

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

ProteinUpstreamBuilder::HTReal protocols::match::upstream::ProteinUpstreamBuilder::initialize_rescoords ( Size  build_set_id,
core::conformation::Residue rescoords,
ScaffoldBuildPoint const &  build_point 
) const
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.

Definition at line 1254 of file ProteinUpstreamBuilder.cc.

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

Size protocols::match::upstream::ProteinUpstreamBuilder::n_build_sets ( ) const
inline

Definition at line 515 of file ProteinUpstreamBuilder.hh.

References build_sets_.

ProteinUpstreamBuilder::Size protocols::match::upstream::ProteinUpstreamBuilder::n_restypes_to_build ( ) const
virtual

Implements protocols::match::upstream::UpstreamBuilder.

Definition at line 1144 of file ProteinUpstreamBuilder.cc.

References build_sets_.

void protocols::match::upstream::ProteinUpstreamBuilder::recover_hit ( Hit const &  hit,
ScaffoldBuildPoint const &  build_point,
UpstreamResidueProcessor processor 
) const
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.

Definition at line 1012 of file ProteinUpstreamBuilder.cc.

References recover_hits().

void protocols::match::upstream::ProteinUpstreamBuilder::recover_hits ( std::list< Hit >::const_iterator  hits_begin,
std::list< Hit >::const_iterator  hits_end,
ScaffoldBuildPoint const &  build_point,
UpstreamResidueProcessor processor 
) const
virtual
core::chemical::ResidueTypeCOP protocols::match::upstream::ProteinUpstreamBuilder::restype ( Size  which_restype) const
virtual
void protocols::match::upstream::ProteinUpstreamBuilder::set_native_flag ( bool  native)
void protocols::match::upstream::ProteinUpstreamBuilder::set_sampler ( ProteinSCSamplerCOP  sampler)

Definition at line 1235 of file ProteinUpstreamBuilder.cc.

References sampler_.

void protocols::match::upstream::ProteinUpstreamBuilder::set_use_input_sidechain ( bool  setting)

Definition at line 1242 of file ProteinUpstreamBuilder.cc.

References use_input_sc_.

Member Data Documentation

bool protocols::match::upstream::ProteinUpstreamBuilder::avoid_building_any_rotamers_dueto_native_
private

Definition at line 574 of file ProteinUpstreamBuilder.hh.

Referenced by build(), recover_hits(), and set_native_flag().

utility::vector1< BuildSet > protocols::match::upstream::ProteinUpstreamBuilder::build_sets_
private
ProteinSCSamplerCOP protocols::match::upstream::ProteinUpstreamBuilder::sampler_
private

Definition at line 570 of file ProteinUpstreamBuilder.hh.

Referenced by build(), recover_hits(), and set_sampler().

bool protocols::match::upstream::ProteinUpstreamBuilder::use_input_sc_
private

Definition at line 572 of file ProteinUpstreamBuilder.hh.

Referenced by build(), recover_hits(), and set_use_input_sidechain().


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