Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::pack::interaction_graph::RotamerDots Class Reference

Handles sphere-sphere overlap calculations for the HPatchInteractionGraph. More...

#include <RotamerDots.hh>

Inheritance diagram for core::pack::interaction_graph::RotamerDots:
Inheritance graph
[legend]
Collaboration diagram for core::pack::interaction_graph::RotamerDots:
Collaboration graph
[legend]

Public Member Functions

 RotamerDots ()
 
 RotamerDots (conformation::ResidueCOP rotamer, bool exclude_hydrogen_atoms=false, bool use_expanded_polar_atom_radii=false)
 Custom constructor for a RotamerDots object. More...
 
virtual ~RotamerDots ()
 
 RotamerDots (RotamerDots const &rhs)
 copy constructor More...
 
void copy (RotamerDots const &rhs)
 Copy method for the RotamerDots class. Also used by the assignment operator. More...
 
RotamerDots const & operator= (RotamerDots const &rhs)
 
bool operator!= (RotamerDots const &rhs)
 Used during debugging of the HPatchIG. Some extra information is printed if current state dots is NOT EQUAL to alternate state dots at a Node/BGNode. More...
 
void zero ()
 Zeros out all of the contained data except the rotamer pointer and the radii array. More...
 
bool overlaps (RotamerDots const &other) const
 Returns true if this RotamerDots object has any sphere overlap with the passed in RotamerDots object. More...
 
core::conformation::ResidueCOP rotamer () const
 
bool state_unassigned () const
 Is the state of this RotamerDots object unassigned? More...
 
core::Size get_num_atoms () const
 Returns the number of atoms this RotamerDots object is keeping SASA for. More...
 
numeric::xyzVector< Realget_atom_coords_xyz (Size atom_index) const
 Return the xyz coordinates of an atom in this RotamerDots instance. More...
 
core::Real get_atom_radius (Size atom_index) const
 Returns the SASA radius for the passed in atom type. The DB file should have been read in at construct time. More...
 
core::Real radius_for_attype (Size const attype_index)
 Same as the above, but skips the conversion from atom index to atom type index. More...
 
core::Real max_atom_radius ()
 Returns the maximum atom radius. Used only by the SurfacePotential class. More...
 
utility::vector1< Real > * get_radii () const
 Returns a pointer to the radii vector. Used only by the InvRotamerDots class. More...
 
void increment_self_overlap ()
 computes and stores self-induced dot coverage. uses a vector1 of vector1 of ubytes to store the calculated overlap information. More...
 
void increment_this_and_cache (RotamerDots const &other, RotamerDotsCache &this_overlap_on_other, utility::vector1< utility::vector1< bool > > &atom_atom_overlaps_cache)
 Add rotamer coverage counts for dots on this object only, leaving rhs unaltered. More...
 
void get_res_res_overlap (RotamerDots const &other_res, utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &res1_covered_by_res2, utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &res2_covered_by_res1, utility::vector1< utility::vector1< bool > > &atom_atom_overlaps_cache) const
 Calls get_atom_atom_coverage for all atom pairs between res1 and res2. This method gets called by RotamerDots::get_overlap_cache(). More...
 
bool get_atom_atom_coverage (Vector const &at1_xyz, Real at1_base_radius, Vector const &at2_xyz, Real at2_base_radius, utility::vector1< ObjexxFCL::ubyte > &at1_sphere_covered, utility::vector1< ObjexxFCL::ubyte > &at2_sphere_covered, Real dist_sq) const
 returns false if the two spheres do not overlap at all. otherwise, saves the overlap masks to the input vectors. More...
 
void increment_from_cached (RotamerDotsCache const &cached_dot_overlap)
 Increments the dot coverage count for this rotamer from a coverage cache. More...
 
void decrement_from_cached (RotamerDotsCache const &cached_dot_overlap)
 decrements the dot coverage count for this by the coverage stored in the input RotamerDotsCache object More...
 
void increment_both (RotamerDots &other)
 Add rotamer coverage counts for dots on both this and other. sets sasa_is_current_ to false on both this and rhs. More...
 
void increment_both_and_cache (RotamerDots &other_rotamer, RotamerDotsCache &others_dots_covered_by_this, RotamerDotsCache &this_dots_covered_by_other, utility::vector1< utility::vector1< bool > > &atom_atom_overlaps_cache)
 
core::Real get_sasa () const
 Given the current dot coverage counts, returns the total SASA of this residue. More...
 
core::Real get_atom_sasa (Size atom_index) const
 Given the current dot coverage counts, returns the total SASA for a particular atom index. Assumes that get_atom_sasa() will never be called when the object is in the unassigned state. More...
 
core::Size get_num_uncovered (core::Size atom) const
 Returns the number of uncovered dots on the given atom, when using standard SASA radii. Note: no expanded polars version of this method. More...
 
core::Size get_num_covered_total () const
 Note: no expanded polars version of this method. More...
 
void print (std::ostream &os) const
 
std::string name3 () const
 
core::Size seqpos () const
 
utility::vector1< DotSphere >
const & 
get_atom_counts ()
 
void invert_to_boolmasks (utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &inv_dots) const
 Inverts the current dot counts and saves them to the passed in vector. More...
 
void invert_to_boolmasks (utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &inv_dots, utility::vector1< Size > const &ats_to_update) const
 invert the current dot counts for a subset of the atoms in this rotamer. More...
 

Static Public Member Functions

static core::Vector dot_coord (Size index)
 

Static Public Attributes

static core::Size const num_bytes_ = 21
 
static core::Real probe_radius_ = 1.4
 
static core::Real polar_expansion_radius_ = 1.0
 
static ObjexxFCL::FArray2D_int
const * 
lg_angles_
 TEMP! More...
 
static
ObjexxFCL::FArray2D_ubyte
const * 
lg_masks_
 

Private Member Functions

void get_overlap_cache (RotamerDots const &other, RotamerDotsCache &others_dots_covered_by_this, RotamerDotsCache &this_dots_covered_by_other, utility::vector1< utility::vector1< bool > > &atom_atom_overlaps_cache) const
 computes the overlap each rotamer (this & other) induce on each other and stores that information in the RotamerDotsCache objects More...
 

Static Private Member Functions

static void initialize_sasa_arrays ()
 Initializes the pointers to the angles and masks FArrays used by sasa.cc and inits the dot sphere coordinates. More...
 
static void initialize_dot_coords (utility::vector1< core::Vector > &dot_coords)
 

Private Attributes

core::conformation::ResidueCOP rotamer_
 
Size num_atoms_
 
utility::vector1< DotSphereatom_counts_
 
core::Real sasa_
 
bool sasa_is_current_
 
utility::vector1< core::Realatom_sasa_
 
utility::vector1< Real > * radii_
 

Static Private Attributes

static bool sasa_arrays_initialized_ = false
 
static utility::vector1
< core::Vector
dot_coords_
 

Detailed Description

Handles sphere-sphere overlap calculations for the HPatchInteractionGraph.

RotamerDots

Detailed:
One big change from the r++ version of this class is that this class now includes all of the information that was previously stored in the RotamerCoords class. Since I'm not storing atoms in trie ordering (perhaps I'll add this later), there is no need to have a separate class for the rotamer coordinates.

RotamerDots hold DotSphere objects for the atoms of a given Residue (or really, of the current state on some interaction graph Node). Default use of the class will result in RotamerDots objects keeping DotSpheres for every atom of a residue. For the hpatch interaction graph, though, we only care about the SASA of the heavy atoms. No need to include the hydrogens when looking for hydrophobic patches. By not keeping track of the hydrogens, we save a huge amount of time on computing updates to the SASA score because hydrogen atoms generally make up half of a protein. So I'm adding a boolean flag to the non-default constructor which toggles whether we're tracking SASA of all atoms, or just the heavy atoms.

Two other big changes being made to this class are that 1) the class will now keep track of two kinds of SASA and 2) it will no longer keep score or score_is_current variables. The two kinds of SASA the class will keep track of are the standard SASA, and a SASA with polar atom radii extended. The expanded polar SASA will only be kept if a boolean flag is set at construct time. If not, it will just calculate standard SASA and that's it. The second change is that this class is now only keeping track of SASA. RotamerDots objects will not be responsible for calculating a score.

Definition at line 138 of file RotamerDots.hh.

Constructor & Destructor Documentation

core::pack::interaction_graph::RotamerDots::RotamerDots ( )

RotamerDots::RotamerDots

Definition at line 516 of file RotamerDots.cc.

core::pack::interaction_graph::RotamerDots::RotamerDots ( conformation::ResidueCOP  rotamer,
bool  exclude_hydrogen_atoms = false,
bool  use_expanded_polar_atom_radii = false 
)

Custom constructor for a RotamerDots object.

RotamerDots::RotamerDots

Detailed:
One RotamerDots object get allocated for every state of a first class IG Node, for all first class IG Nodes of a protein being designed. That's potentially a very large number of states. This class should only hold the information it needs to hold to do its job.

Definition at line 534 of file RotamerDots.cc.

References atom_counts_, atom_sasa_, core::pack::interaction_graph::RotamerDotsRadiusData::get_instance(), core::pack::interaction_graph::RotamerDotsRadiusData::get_NACCESS_SASA_radii(), core::pack::interaction_graph::RotamerDotsRadiusData::get_NACCESS_SASA_radii_with_expanded_polars(), initialize_sasa_arrays(), num_atoms_, polar_expansion_radius_, radii_, and sasa_arrays_initialized_.

core::pack::interaction_graph::RotamerDots::~RotamerDots ( )
virtual

RotamerDots::~RotamerDots

Definition at line 570 of file RotamerDots.cc.

core::pack::interaction_graph::RotamerDots::RotamerDots ( RotamerDots const &  rhs)

copy constructor

RotamerDots::RotamerDots

Definition at line 581 of file RotamerDots.cc.

Member Function Documentation

void core::pack::interaction_graph::RotamerDots::copy ( RotamerDots const &  rhs)

Copy method for the RotamerDots class. Also used by the assignment operator.

RotamerDots::copy

Definition at line 600 of file RotamerDots.cc.

References atom_counts_, atom_sasa_, num_atoms_, radii_, rotamer_, sasa_, and sasa_is_current_.

Referenced by operator=().

void core::pack::interaction_graph::RotamerDots::decrement_from_cached ( RotamerDotsCache const &  cache)

decrements the dot coverage count for this by the coverage stored in the input RotamerDotsCache object

RotamerDots::decrement_from_cached

Definition at line 1140 of file RotamerDots.cc.

References atom_counts_, core::pack::interaction_graph::RotamerDotsCache::atom_counts_, num_atoms_, and sasa_is_current_.

core::Vector core::pack::interaction_graph::RotamerDots::dot_coord ( Size  index)
static

Definition at line 837 of file RotamerDots.cc.

References dot_coords_, initialize_sasa_arrays(), and sasa_arrays_initialized_.

bool core::pack::interaction_graph::RotamerDots::get_atom_atom_coverage ( Vector const &  at1_xyz,
Real  at1_base_radius,
Vector const &  at2_xyz,
Real  at2_base_radius,
utility::vector1< ObjexxFCL::ubyte > &  at1_sphere_covered,
utility::vector1< ObjexxFCL::ubyte > &  at2_sphere_covered,
Real  dist_sq 
) const

returns false if the two spheres do not overlap at all. otherwise, saves the overlap masks to the input vectors.

RotamerDots::get_atom_atom_coverage()

Definition at line 1072 of file RotamerDots.cc.

References core::kinematics::distance(), core::scoring::get_2way_orientation(), core::scoring::get_overlap(), num_bytes_, and probe_radius_.

Referenced by get_res_res_overlap(), and increment_self_overlap().

numeric::xyzVector< Real > core::pack::interaction_graph::RotamerDots::get_atom_coords_xyz ( Size  atom_index) const

Return the xyz coordinates of an atom in this RotamerDots instance.

RotamerDots::get_atom_coords_xyz

Definition at line 746 of file RotamerDots.cc.

References rotamer_.

Referenced by get_res_res_overlap(), increment_self_overlap(), and overlaps().

utility::vector1< DotSphere > const& core::pack::interaction_graph::RotamerDots::get_atom_counts ( )
inline

Definition at line 205 of file RotamerDots.hh.

References atom_counts_.

Real core::pack::interaction_graph::RotamerDots::get_atom_radius ( Size  atom_index) const

Returns the SASA radius for the passed in atom type. The DB file should have been read in at construct time.

RotamerDots::get_atom_radius

Detailed:
Many of the functions in this class iterate over 1 .. num_atoms_. That's not the same thing as an atom type index which is what the radii vector is indexed with. So before we can return the radius, we have to convert the passed in atom_index into the right atom in the residue and then use that to get the right type.

Definition at line 766 of file RotamerDots.cc.

References radii_, and rotamer_.

Referenced by get_res_res_overlap(), get_sasa(), increment_self_overlap(), core::pack::interaction_graph::HPatchNode< V, E, G >::initialize_atom_atom_overlap_cache(), overlaps(), and print().

Real core::pack::interaction_graph::RotamerDots::get_atom_sasa ( Size  atom_index) const

Given the current dot coverage counts, returns the total SASA for a particular atom index. Assumes that get_atom_sasa() will never be called when the object is in the unassigned state.

RotamerDots::get_atom_sasa

Definition at line 1259 of file RotamerDots.cc.

References atom_sasa_, get_sasa(), and sasa_is_current_.

Size core::pack::interaction_graph::RotamerDots::get_num_atoms ( ) const
Size core::pack::interaction_graph::RotamerDots::get_num_covered_total ( ) const

Note: no expanded polars version of this method.

RotamerDots::get_num_covered

Definition at line 1285 of file RotamerDots.cc.

References atom_counts_.

Referenced by print().

Size core::pack::interaction_graph::RotamerDots::get_num_uncovered ( core::Size  atom) const

Returns the number of uncovered dots on the given atom, when using standard SASA radii. Note: no expanded polars version of this method.

RotamerDots::get_num_uncovered

Definition at line 1274 of file RotamerDots.cc.

References atom_counts_.

Referenced by get_sasa().

void core::pack::interaction_graph::RotamerDots::get_overlap_cache ( RotamerDots const &  other,
RotamerDotsCache others_dots_covered_by_this,
RotamerDotsCache this_dots_covered_by_other,
utility::vector1< utility::vector1< bool > > &  atom_atom_overlaps_cache 
) const
private

computes the overlap each rotamer (this & other) induce on each other and stores that information in the RotamerDotsCache objects

RotamerDots::get_overlap_cache

Parameters
other- [in] - the other RotamerDots object other_dots_covered_by_this - [out] - the Cache for the dots on the surface of other that are covered by the atoms on this rotamer this_dots_covered_by_other - [out] - the Cache for the dots on the surface of this that are covered by the atoms on the other rotamer atom_atom_overlaps_cache - [out] - holds a boolean indicating whether two atoms have overlapping, solvent-exposed surface area

Definition at line 974 of file RotamerDots.cc.

References get_num_atoms(), get_res_res_overlap(), core::pack::interaction_graph::RotamerDotsCache::increment_count(), num_atoms_, num_bytes_, and core::pack::interaction_graph::RotamerDotsCache::zero().

Referenced by increment_both_and_cache(), and increment_this_and_cache().

utility::vector1< Real > * core::pack::interaction_graph::RotamerDots::get_radii ( ) const

Returns a pointer to the radii vector. Used only by the InvRotamerDots class.

RotamerDots::get_radii

Definition at line 806 of file RotamerDots.cc.

References radii_.

Referenced by core::pack::interaction_graph::InvRotamerDots::setup_from_rotamer_dots().

void core::pack::interaction_graph::RotamerDots::get_res_res_overlap ( RotamerDots const &  other_res,
utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &  res1_covered_by_res2,
utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &  res2_covered_by_res1,
utility::vector1< utility::vector1< bool > > &  atom_atom_overlaps_cache 
) const

Calls get_atom_atom_coverage for all atom pairs between res1 and res2. This method gets called by RotamerDots::get_overlap_cache().

RotamerDots::get_res_res_overlap()

Definition at line 1030 of file RotamerDots.cc.

References get_atom_atom_coverage(), get_atom_coords_xyz(), get_atom_radius(), get_num_atoms(), num_atoms_, and core::scoring::packstat::overlap().

Referenced by get_overlap_cache().

Real core::pack::interaction_graph::RotamerDots::get_sasa ( ) const

Given the current dot coverage counts, returns the total SASA of this residue.

RotamerDots::get_sasa

Detailed:
This method does not do any work figuring out who is overlapping with this rotamer. It assumes that work has been done. Instead, it returns the SASA of the dot counts currently held. If the dot counts have not changed since the last time get_sasa() got called then sasa_is_current_ will be true. In that case, the method will just return the the variable sasa_. If the counts have changed, it iterates over all the atoms and recalculates the total SASA. That value is stored in sasa_ and sasa_is_current_ is set to true.

The reason both sasa_ and sasa_is_current_ are "mutable" is so that they can be modified inside this const function.

Definition at line 1222 of file RotamerDots.cc.

References atom_counts_, atom_sasa_, get_atom_radius(), get_num_uncovered(), probe_radius_, sasa_, sasa_is_current_, and state_unassigned().

Referenced by get_atom_sasa(), core::pack::interaction_graph::operator<<(), and print().

void core::pack::interaction_graph::RotamerDots::increment_both ( RotamerDots other)

Add rotamer coverage counts for dots on both this and other. sets sasa_is_current_ to false on both this and rhs.

RotamerDots::increment_both

Detailed:
One use case involves BGNodes initializing overlap with other BGNodes. This is a brute force all BGNode v all BGNode pairwise increment on the RotamerDots objects each Node holds. That's why we call increment both. We don't care about the cache values in this case, but to use increment_both_and_cache, we have to create Cache variables to use as references.

Definition at line 1163 of file RotamerDots.cc.

References get_num_atoms(), increment_both_and_cache(), num_atoms_, and core::pack::interaction_graph::RotamerDotsCache::zero().

void core::pack::interaction_graph::RotamerDots::increment_both_and_cache ( RotamerDots other_rotamer,
RotamerDotsCache others_dots_covered_by_this,
RotamerDotsCache this_dots_covered_by_other,
utility::vector1< utility::vector1< bool > > &  atom_atom_overlaps_cache 
)

RotamerDots::increment_both_and_cache

Detailed:
Add rotamer coverage counts for dots on both this and other. Cache's the overlap this and other have with each other for greater efficiency. The second parameter are the dots on the surface of other_rotamer that this overlaps. The third parameter are the dots on the surface of this that other_rotamer overlaps. The fourth parameter lives on the Edges of the IG and stores a boolean indicating whether two atoms have overlapping, solvent-exposed surface area. Instead of recalculating this for all residue pairs every substitution, keep it in this cache. The vectors are already sized. The outer vector has the "other_rotamer"'s atoms and the inner vector is for the atoms in this class's residue. The structure just gets passed down to get_overlap_cache() and it eventually gets filled in get_atom_atom_coverage().

If the class is keeping the expanded polar atom SASA also, then this function makes an extra call to get_overlap_cache() to get the extra overlap that happens when polar atom radii are expanded.

Definition at line 1192 of file RotamerDots.cc.

References get_overlap_cache(), and increment_from_cached().

Referenced by increment_both().

void core::pack::interaction_graph::RotamerDots::increment_from_cached ( RotamerDotsCache const &  cache)

Increments the dot coverage count for this rotamer from a coverage cache.

RotamerDots::increment_from_cached

Definition at line 1121 of file RotamerDots.cc.

References atom_counts_, core::pack::interaction_graph::RotamerDotsCache::atom_counts_, num_atoms_, sasa_is_current_, and TR_RD().

Referenced by increment_both_and_cache(), and increment_this_and_cache().

void core::pack::interaction_graph::RotamerDots::increment_self_overlap ( )

computes and stores self-induced dot coverage. uses a vector1 of vector1 of ubytes to store the calculated overlap information.

RotamerDots::increment_self_overlap

Detailed:
uses get_atom_atom_coverage() which in turn uses get_overlap() and get_orientation() method calls in sasa.cc to get the right overlap "masks". when all atom pairs are complete, converts the masks into coverage "counts" which are stored in the DotSphere class (member variable atom_counts_).

to handle the possibility of keeping expanded_polar SASA, we have to run the nested loop over atoms a second time through using the expanded_polar version of get_atom_radius().

Definition at line 881 of file RotamerDots.cc.

References atom_counts_, get_atom_atom_coverage(), get_atom_coords_xyz(), get_atom_radius(), num_atoms_, num_bytes_, and sasa_is_current_.

void core::pack::interaction_graph::RotamerDots::increment_this_and_cache ( RotamerDots const &  other,
RotamerDotsCache this_overlap_on_other,
utility::vector1< utility::vector1< bool > > &  atom_atom_overlaps_cache 
)

Add rotamer coverage counts for dots on this object only, leaving rhs unaltered.

RotamerDots::increment_this_and_cache

Detailed:
In the context of the HPatchIG, this method is called by all FCNodes to increment the overlap a BG residue has on the FCNode. It is called by all BG Edges, to make sure that all FCNodes that are connected to a BG residue get this method called by them. 'other' in this case is a BG residue, and 'this_overlap_on_other' is the overlap that is caused by all-states-possible-at-this-node on the BG node. Yes, that's keeping the same information in two places, but it makes updating hpatch score calculations later faster. (ronj)

Definition at line 929 of file RotamerDots.cc.

References get_overlap_cache(), increment_from_cached(), and num_atoms_.

void core::pack::interaction_graph::RotamerDots::initialize_dot_coords ( utility::vector1< core::Vector > &  dot_coords)
staticprivate

The contents of "sphere.txt", now hard coded. The coordinates in the original file are all on the opposite size of the unit sphere from where they genuinely appear to be.

Definition at line 1440 of file RotamerDots.cc.

Referenced by initialize_sasa_arrays().

void core::pack::interaction_graph::RotamerDots::initialize_sasa_arrays ( )
staticprivate

Initializes the pointers to the angles and masks FArrays used by sasa.cc and inits the dot sphere coordinates.

RotamerDots::initialize_sasa_arrays

Detailed:
This call should only occur once (when the first RotamerDots object get constructed) and never again.

Definition at line 853 of file RotamerDots.cc.

References dot_coords_, core::scoring::get_angles(), core::scoring::get_masks(), initialize_dot_coords(), lg_angles_, lg_masks_, and sasa_arrays_initialized_.

Referenced by dot_coord(), and RotamerDots().

void core::pack::interaction_graph::RotamerDots::invert_to_boolmasks ( utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &  inv_dots) const

Inverts the current dot counts and saves them to the passed in vector.

RotamerDots::invert_to_boolmasks

Definition at line 816 of file RotamerDots.cc.

References atom_counts_, and num_atoms_.

Referenced by core::pack::interaction_graph::InvRotamerDots::setup_from_rotamer_dots().

void core::pack::interaction_graph::RotamerDots::invert_to_boolmasks ( utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &  inv_dots,
utility::vector1< Size > const &  ats_to_update 
) const

invert the current dot counts for a subset of the atoms in this rotamer.

Definition at line 825 of file RotamerDots.cc.

References atom_counts_.

core::Real core::pack::interaction_graph::RotamerDots::max_atom_radius ( )

Returns the maximum atom radius. Used only by the SurfacePotential class.

RotamerDots::max_atom_radius

Definition at line 794 of file RotamerDots.cc.

References radii_.

std::string core::pack::interaction_graph::RotamerDots::name3 ( ) const

Definition at line 1418 of file RotamerDots.cc.

References rotamer_.

Referenced by core::pack::interaction_graph::operator<<().

bool core::pack::interaction_graph::RotamerDots::operator!= ( RotamerDots const &  rhs)

Used during debugging of the HPatchIG. Some extra information is printed if current state dots is NOT EQUAL to alternate state dots at a Node/BGNode.

RotamerDots::operator!=

Definition at line 626 of file RotamerDots.cc.

References atom_counts_, atom_sasa_, num_atoms_, radii_, rotamer_, sasa_, sasa_is_current_, and state_unassigned().

RotamerDots const & core::pack::interaction_graph::RotamerDots::operator= ( RotamerDots const &  rhs)

RotamerDots::operator=

Definition at line 614 of file RotamerDots.cc.

References copy().

bool core::pack::interaction_graph::RotamerDots::overlaps ( RotamerDots const &  other) const

Returns true if this RotamerDots object has any sphere overlap with the passed in RotamerDots object.

RotamerDots::overlaps

Detailed:
This method only checks to see if two RotamerDots objects are within touching distance of each other. It is used to determine whether Edges or BGEdges should be created in the IG. Calculate this using the expanded polar atom radii. If we don't, there's a chance that a state substitution on a Node may cause SASA changes (when expanded polars are used) on a BGNode, but if we didn't assume expanded radii in this method, there would be no edge between the two nodes.

Definition at line 689 of file RotamerDots.cc.

References core::kinematics::tree::distance_squared(), get_atom_coords_xyz(), get_atom_radius(), get_num_atoms(), num_atoms_, and probe_radius_.

void core::pack::interaction_graph::RotamerDots::print ( std::ostream &  os) const
core::Real core::pack::interaction_graph::RotamerDots::radius_for_attype ( Size const  attype_index)

Same as the above, but skips the conversion from atom index to atom type index.

RotamerDots::radius_for_attype

Definition at line 782 of file RotamerDots.cc.

References radii_.

core::conformation::ResidueCOP core::pack::interaction_graph::RotamerDots::rotamer ( ) const
core::Size core::pack::interaction_graph::RotamerDots::seqpos ( ) const

Definition at line 1419 of file RotamerDots.cc.

References rotamer_.

Referenced by core::pack::interaction_graph::operator<<().

bool core::pack::interaction_graph::RotamerDots::state_unassigned ( ) const

Is the state of this RotamerDots object unassigned?

RotamerDots::state_unassigned

Definition at line 724 of file RotamerDots.cc.

References rotamer_.

Referenced by get_sasa(), operator!=(), core::pack::interaction_graph::operator<<(), and print().

void core::pack::interaction_graph::RotamerDots::zero ( )

Zeros out all of the contained data except the rotamer pointer and the radii array.

RotamerDots::zero

Detailed:
So far, this function only gets called by the BGNode::prep_for_simA() call so that multiple runs through an interaction graph can be done. If the rotamer dots object on the BGNodes isn't "cleared" after a run, then the run immediately following will have the incorrect counts.

Definition at line 659 of file RotamerDots.cc.

References atom_counts_, atom_sasa_, sasa_, and sasa_is_current_.

Member Data Documentation

utility::vector1< DotSphere > core::pack::interaction_graph::RotamerDots::atom_counts_
private
utility::vector1< core::Real > core::pack::interaction_graph::RotamerDots::atom_sasa_
mutableprivate

Definition at line 246 of file RotamerDots.hh.

Referenced by copy(), get_atom_sasa(), get_sasa(), operator!=(), RotamerDots(), and zero().

utility::vector1< core::Vector > core::pack::interaction_graph::RotamerDots::dot_coords_
staticprivate

Definition at line 249 of file RotamerDots.hh.

Referenced by dot_coord(), and initialize_sasa_arrays().

ObjexxFCL::FArray2D_int const * core::pack::interaction_graph::RotamerDots::lg_angles_
static

TEMP!

Definition at line 254 of file RotamerDots.hh.

Referenced by initialize_sasa_arrays().

ObjexxFCL::FArray2D_ubyte const * core::pack::interaction_graph::RotamerDots::lg_masks_
static
Size core::pack::interaction_graph::RotamerDots::num_atoms_
private
Size const core::pack::interaction_graph::RotamerDots::num_bytes_ = 21
static
Real core::pack::interaction_graph::RotamerDots::polar_expansion_radius_ = 1.0
static

Definition at line 236 of file RotamerDots.hh.

Referenced by RotamerDots().

Real core::pack::interaction_graph::RotamerDots::probe_radius_ = 1.4
static
utility::vector1< Real >* core::pack::interaction_graph::RotamerDots::radii_
private
core::conformation::ResidueCOP core::pack::interaction_graph::RotamerDots::rotamer_
private
core::Real core::pack::interaction_graph::RotamerDots::sasa_
mutableprivate

Definition at line 244 of file RotamerDots.hh.

Referenced by copy(), get_sasa(), operator!=(), and zero().

bool core::pack::interaction_graph::RotamerDots::sasa_arrays_initialized_ = false
staticprivate

Definition at line 243 of file RotamerDots.hh.

Referenced by dot_coord(), initialize_sasa_arrays(), and RotamerDots().

bool core::pack::interaction_graph::RotamerDots::sasa_is_current_
mutableprivate

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