Rosetta
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid Class Reference

A 3D boolean array used for identifying core voxels in the VoidsPenaltyEnergy. More...

#include <VoidsPenaltyVoxelGrid.hh>

Inheritance diagram for core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid:
Inheritance graph
[legend]

Public Member Functions

 VoidsPenaltyVoxelGrid ()
 Default constructor. More...
 
 ~VoidsPenaltyVoxelGrid () override
 Default destructor. More...
 
 VoidsPenaltyVoxelGrid (VoidsPenaltyVoxelGrid const &src)
 Copy constructor. More...
 
VoidsPenaltyVoxelGridOP clone () const
 Clone operator: copy this object and return an owning pointer to the copy. More...
 
void set_voxel_size_and_padding (core::Real const &size_in, core::Real const &padding_in)
 Sets the voxel size and padding. More...
 
void set_cone_parameters (core::Real const &cone_dotproduct_cutoff_in, core::Real const cone_distance_cutoff_in, core::Size const containing_cones_cutoff_in)
 Set the cone dotproduct cutoff and the cone distance cutoff. @detals The cone dotproduct cutoff is the cutoff value for the dot product of a cone vector and a cone base-test point vector below which we declare the test point not to be within the cone. Effectively, this is the cone width. Lower values make broader cones. Default 0.1. Can range from 1.0 (infinitely thin cone) to -1.0 (full spherical volume), with 0.0 represeting all points on one side of the plane perpendicular to the cone vector. The cone distance cutoff is the distance from the cone base that a test point must lie within to be in the cone. This is automatically converted to (and stored as) the square of the distance by this function for efficient comparison operations. the containing cones cutoff is the minimum number of cones that must contain a given voxel in order for that voxel to be considered to be "buried". More...
 
void reset ()
 Reset this object. More...
 
void set_up_voxel_grid_and_compute_burial (core::pose::Pose const &pose)
 Set up voxel grid from a pose and determine which voxels are buried. More...
 
void prune_voxels_for_fixed_residues (core::pose::Pose const &pose, core::pack::rotamer_set::RotamerSets const &rotsets, core::conformation::symmetry::SymmetryInfoCOP symminfo, core::conformation::symmetry::SymmetricConformationCOP symmconf)
 Remove voxels from voxel grid for positions that cannot repack. More...
 
void compute_volumes_of_buried_rotamers (core::pose::Pose const &pose, core::pack::rotamer_set::RotamerSets const &rotsets, utility::vector1< std::map< core::conformation::ResidueCOP, core::Real > > &rotamer_volume_maps, core::conformation::symmetry::SymmetryInfoCOP symminfo, core::conformation::symmetry::SymmetricConformationCOP symmconf)
 Given a rotamer set and a place to store rotamer volume information, computes volumes of buried parts of rotamers. More...
 
core::Real compute_total_volume_of_current_residues (core::pose::Pose const &pose) const
 Given a pose, compute the total volume of its buried residues. More...
 
core::Real compute_volume_of_this_buried_rotamer (core::conformation::ResidueCOP rot, numeric::MathNTensor< bool, 3 > &untouched_voxels, core::Size &untouched_voxel_count) const
 Given a rotamer, compute the volume of the buried atoms. More...
 
void get_rotamer_bounding_box (core::conformation::ResidueCOP rot, utility::fixedsizearray1< core::Size, 3 > &bounding_box_start, utility::fixedsizearray1< core::Size, 3 > &bounding_box_end) const
 Given a rotamer, determine the bounding box (in voxel grid indices) of that rotamer. More...
 
bool atom_overlaps_voxel (utility::fixedsizearray1< core::Size, 3 > const &voxel_index, numeric::xyzVector< core::Real > const &atom_xyz, core::Real const atomic_radius) const
 Given a voxel index, the coordinates of an atom centre, and an atom radius, determine whether the atom overlaps the voxel. Returns true if it does and false otherwise. More...
 
core::pose::PoseOP visualize_voxel_grid (bool const only_buried_voxels) const
 Only for debugging! This function returns a pose with a grid of copper atoms representing the voxels. More...
 
numeric::xyzVector< core::Realget_voxel_coordinates (core::Size const index_x, core::Size const index_y, core::Size const index_z) const
 Given the indices of a voxel (keeping in mind that indices are ZERO-based), get the 3D coordinates. More...
 
bool get_indices_of_voxel_from_coordinates (numeric::xyzVector< core::Real > point, utility::fixedsizearray1< core::Size, 3 > &output_indices) const
 Given a point in 3D space, determine which voxel it lies in and return the indices of that voxel. More...
 
core::Real total_buried_volume () const
 Get the total buried volume (including volume that cannot be reached by any rotamer), in cubic Angstroms. More...
 
core::Real reachable_buried_volume () const
 Get the buried volume EXCLUDING volume that cannot be reached by any rotamer, in cubic Angstroms. More...
 

Private Member Functions

void compute_bounding_box (core::pose::Pose const &pose, core::Real const &padding, numeric::xyzVector< core::Real > &lower_left_coords, numeric::xyzVector< core::Real > &upper_right_coords) const
 Given a pose, find the lower-left and upper-right corners of the bounding volume, with padding. More...
 
void resize_voxel_grid (numeric::xyzVector< core::Real > const &lower_left_coords, numeric::xyzVector< core::Real > &upper_right_coords, core::Real const &voxel_size, utility::fixedsizearray1< core::Size, 3 > &voxel_data_dimensions, numeric::MathNTensor< bool, 3 > &voxel_data) const
 Given lower-left, upper-right, and voxel size data, resize the voxel grid appropriately. More...
 
void compute_burial (core::pose::Pose const &pose, utility::fixedsizearray1< core::Size, 3 > const &voxel_data_dimensions, numeric::MathNTensor< bool, 3 > &voxel_data, core::Size &buried_volume) const
 Given a pose and a voxel grid that is already set up for the pose, compute whether each point is buried or not. More...
 
bool is_buried (numeric::xyzVector< core::Real > const &coords, utility::vector1< numeric::xyzVector< core::Real > > const &conevects, utility::vector1< numeric::xyzVector< core::Real > > const &conebases, utility::vector1< bool > const &skip_list) const
 Given a pose and a point in space, determine whether the point is buried by the side-chain cones method. More...
 
core::Size get_current_res_symmetric (core::Size const index_in, core::conformation::symmetry::SymmetryInfoCOP symminfo) const
 Given a residue index, get (a) the same residue index back in the asymmetric case, (b) the same residue index back in the symmetric case if this residue is independent, and (c) the residue index on which this residue depends in the symmetric case if this residue is dependent. More...
 

Private Attributes

core::Real voxel_size_
 The length, width, or height of a voxel, in Angstroms. More...
 
core::Real half_voxel_size_
 The voxel size divided by 2. Cached to avoid repeated computation. More...
 
core::Real voxel_volume_
 The volume of a voxel, in cubic Angstroms. Cached to avoid repeated computation. More...
 
core::Real padding_
 The padding around the pose for the voxel grid. More...
 
numeric::xyzVector< core::Reallower_left_coords_
 The x, y, and z coordinates of the lower-left corner of the volume considered. More...
 
numeric::xyzVector< core::Realupper_right_coords_
 The x, y, and z coordinates of the upper-right corner of the volume considered. More...
 
numeric::MathNTensor< bool, 3 > voxel_data_
 The actual volumetric data. More...
 
utility::fixedsizearray1< core::Size, 3 > voxel_data_dimensions_
 The dimensions, in cells, of the voxel data. More...
 
core::Size total_buried_volume_
 The total buried volume (including volume that cannot be reached by any rotamer). More...
 
core::Size reachable_buried_volume_
 The buried volume EXCLUDING volume that cannot be reached by any rotamer. More...
 
bool pose_setup_complete_
 Has this object been set up from a pose (i.e. has the voxel grid been initialized and the buried volume computed)? More...
 
bool non_packable_volume_pruned_
 Has the prune_voxels_for_fixed_residues() function been called? More...
 
bool rotamer_setup_complete_
 Has this object been used to set up rotmers? More...
 
core::Real cone_dotproduct_cutoff_
 The cutoff value for the dot product of a cone vector and a cone base-test point vector below which we declare the test point not to be within the cone. Effectively, this is the cone width. Lower values make broader cones. Default 0.1. Can range from 1.0 (infinitely thin cone) to -1.0 (full spherical volume), with 0.0 represeting all points on one side of the plane perpendicular to the cone vector. More...
 
core::Real cone_distance_cutoff_sq_
 The square of the cutoff value for the distance from the cone base at which we are considered no longer to be within the cone. Defaults to 64.0 (for a cutoff distance of 8.0). More...
 
core::Size containing_cones_cutoff_
 The minimum number of cones that must contain a particular voxel for that voxel to be considered "buried". More...
 

Friends

class ::VoidsPenaltyVoxelGridTests
 
class ::VoidsPenaltyVoxelGridTests_rotamer_setup
 
class ::VoidsPenaltyVoxelGridTests_rotamer_setup_2
 

Detailed Description

A 3D boolean array used for identifying core voxels in the VoidsPenaltyEnergy.

Constructor & Destructor Documentation

◆ VoidsPenaltyVoxelGrid() [1/2]

core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::VoidsPenaltyVoxelGrid ( )

Default constructor.

◆ ~VoidsPenaltyVoxelGrid()

core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::~VoidsPenaltyVoxelGrid ( )
override

Default destructor.

◆ VoidsPenaltyVoxelGrid() [2/2]

core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::VoidsPenaltyVoxelGrid ( VoidsPenaltyVoxelGrid const &  src)

Copy constructor.

Member Function Documentation

◆ atom_overlaps_voxel()

bool core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::atom_overlaps_voxel ( utility::fixedsizearray1< core::Size, 3 > const &  voxel_index,
numeric::xyzVector< core::Real > const &  atom_xyz,
core::Real const  atomic_radius 
) const

Given a voxel index, the coordinates of an atom centre, and an atom radius, determine whether the atom overlaps the voxel. Returns true if it does and false otherwise.

Requires that set_up_voxel_grid_and_compute_burial() was called first.

Note
This works in three steps. First, we determine whether the bonuding box of the atom and the voxel overlap, and return false if they don't. Next, we determine whether the atom centre is in the voxel, and return true if it is. Finally, we determine whether the voxel centre to atom centre distance is less than the atomic radius, and return true if and only if it is.
This works in three steps. First, we determine whether the bonuding box of the atom and the voxel overlap, and return false if they don't. Next, we determine whether the atom centre is in the voxel, and return true if it is. Finally, we determine whether the voxel centre to atom centre distance is less than the atomic radius, and return true if and only if it is.

References get_voxel_coordinates(), half_voxel_size_, and pose_setup_complete_.

Referenced by compute_volume_of_this_buried_rotamer().

◆ clone()

VoidsPenaltyVoxelGridOP core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::clone ( ) const

Clone operator: copy this object and return an owning pointer to the copy.

◆ compute_bounding_box()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_bounding_box ( core::pose::Pose const &  pose,
core::Real const &  padding,
numeric::xyzVector< core::Real > &  lower_left_coords,
numeric::xyzVector< core::Real > &  upper_right_coords 
) const
private

◆ compute_burial()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_burial ( core::pose::Pose const &  pose,
utility::fixedsizearray1< core::Size, 3 > const &  voxel_data_dimensions,
numeric::MathNTensor< bool, 3 > &  voxel_data,
core::Size buried_volume 
) const
private

◆ compute_total_volume_of_current_residues()

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_total_volume_of_current_residues ( core::pose::Pose const &  pose) const

◆ compute_volume_of_this_buried_rotamer()

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volume_of_this_buried_rotamer ( core::conformation::ResidueCOP  rot,
numeric::MathNTensor< bool, 3 > &  untouched_voxels,
core::Size untouched_voxel_count 
) const

Given a rotamer, compute the volume of the buried atoms.

This is a bit approximate. The algorithm is as follows:

  • Deterine the bounding box of the residue.
  • Loop through every voxel in the bounding box.
  • Check whether any atom in the residue overlaps the voxel. If it does, add 1 voxel volume to the total volume.
  • Return the total volume.

References atom_overlaps_voxel(), get_rotamer_bounding_box(), rot(), voxel_data_, and voxel_volume_.

Referenced by compute_total_volume_of_current_residues(), compute_volumes_of_buried_rotamers(), and prune_voxels_for_fixed_residues().

◆ compute_volumes_of_buried_rotamers()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volumes_of_buried_rotamers ( core::pose::Pose const &  pose,
core::pack::rotamer_set::RotamerSets const &  rotsets,
utility::vector1< std::map< core::conformation::ResidueCOP, core::Real > > &  rotamer_volume_maps,
core::conformation::symmetry::SymmetryInfoCOP  symminfo,
core::conformation::symmetry::SymmetricConformationCOP  symmconf 
)

Given a rotamer set and a place to store rotamer volume information, computes volumes of buried parts of rotamers.

Requires that set_up_voxel_grid_and_compute_burial() was called first. Input is a RotamersSet object. Output is a vector of maps of ResidueOP to floats. The float values are the total volume of each rotamer that lies within the buried volume.

Note
If symminfo == nullptr, then we assume this is the asymmetric case (in which case symmconf can also be nullptr). Otherwise, we use the symmetry information to simplify the calculation, returning rotamer volumes multiplied by the number of symmetry copies ONLY for the independent positions.

Requires that set_up_voxel_grd_and_compute_burial was called first. Input is a RotamersSet object. Output is a vector of maps of ResidueOP to floats. The float values are the total volume of each rotamer that lies within the buried volume.

Note
If symminfo == nullptr, then we assume this is the asymmetric case (in which case symmconf can also be nullptr). Otherwise, we use the symmetry information to simplify the calculation, returning rotamer volumes multiplied by the number of symmetry copies ONLY for the independent positions.

References compute_volume_of_this_buried_rotamer(), core::pose::Pose::conformation(), core::pack::rotamer_set::RotamerSets::has_rotamer_set_for_residue(), non_packable_volume_pruned_, pose_setup_complete_, reachable_buried_volume_, core::conformation::Conformation::residue_cop(), core::pack::rotamer_set::RotamerSets::rotamer_set_for_residue(), rotamer_setup_complete_, total_buried_volume_, core::pack::rotamer_set::RotamerSets::total_residue(), and voxel_data_.

Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::set_up_residuearrayannealableenergy_for_packing().

◆ get_current_res_symmetric()

core::Size core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_current_res_symmetric ( core::Size const  index_in,
core::conformation::symmetry::SymmetryInfoCOP  symminfo 
) const
private

Given a residue index, get (a) the same residue index back in the asymmetric case, (b) the same residue index back in the symmetric case if this residue is independent, and (c) the residue index on which this residue depends in the symmetric case if this residue is dependent.

Referenced by prune_voxels_for_fixed_residues().

◆ get_indices_of_voxel_from_coordinates()

bool core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_indices_of_voxel_from_coordinates ( numeric::xyzVector< core::Real point,
utility::fixedsizearray1< core::Size, 3 > &  output_indices 
) const

Given a point in 3D space, determine which voxel it lies in and return the indices of that voxel.

Returns false if the point lies outside of the voxel grid. Returns true otherwise and sets output_indices to the indices of the voxel grid cell. If return value is false, the out-of-range indices are set to the values of the edge of the voxel grid (0 or voxel_data_dimensions_[n]-1, where n is 1, 2, or 3 for x, y, and z respectively), and all other indices are set appropriately.

Note
The xyzVector is deliberately copied in instead of being passed by reference because I'd otherwise need to allocate a new xyzVector and copy values that I want to modify as part of the calculation.

References half_voxel_size_, lower_left_coords_, protocols::mean_field::max(), protocols::mean_field::min(), pose_setup_complete_, upper_right_coords_, voxel_data_dimensions_, and voxel_size_.

Referenced by get_rotamer_bounding_box().

◆ get_rotamer_bounding_box()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_rotamer_bounding_box ( core::conformation::ResidueCOP  rot,
utility::fixedsizearray1< core::Size, 3 > &  bounding_box_start,
utility::fixedsizearray1< core::Size, 3 > &  bounding_box_end 
) const

Given a rotamer, determine the bounding box (in voxel grid indices) of that rotamer.

Requires that set_up_voxel_grid_and_compute_burial() was called first.

Note
If a rotamer exceeds the bounding box of the overall voxel grid, the edge indices are returned. Outputs are bounding_box_start and bounding_box_end.

References get_indices_of_voxel_from_coordinates(), pose_setup_complete_, and rot().

Referenced by compute_volume_of_this_buried_rotamer().

◆ get_voxel_coordinates()

numeric::xyzVector< core::Real > core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_voxel_coordinates ( core::Size const  index_x,
core::Size const  index_y,
core::Size const  index_z 
) const

Given the indices of a voxel (keeping in mind that indices are ZERO-based), get the 3D coordinates.

Note: This returns the 3D coordinates of the CENTRE of the voxel.

References lower_left_coords_, pose_setup_complete_, voxel_data_dimensions_, and voxel_size_.

Referenced by atom_overlaps_voxel(), compute_burial(), and visualize_voxel_grid().

◆ is_buried()

bool core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::is_buried ( numeric::xyzVector< core::Real > const &  coords,
utility::vector1< numeric::xyzVector< core::Real > > const &  conevects,
utility::vector1< numeric::xyzVector< core::Real > > const &  conebases,
utility::vector1< bool > const &  skip_list 
) const
private

Given a pose and a point in space, determine whether the point is buried by the side-chain cones method.

References cone_distance_cutoff_sq_, cone_dotproduct_cutoff_, containing_cones_cutoff_, and protocols::simple_filters::coords().

Referenced by compute_burial().

◆ prune_voxels_for_fixed_residues()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::prune_voxels_for_fixed_residues ( core::pose::Pose const &  pose,
core::pack::rotamer_set::RotamerSets const &  rotsets,
core::conformation::symmetry::SymmetryInfoCOP  symminfo,
core::conformation::symmetry::SymmetricConformationCOP  symmconf 
)

◆ reachable_buried_volume()

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::reachable_buried_volume ( ) const

Get the buried volume EXCLUDING volume that cannot be reached by any rotamer, in cubic Angstroms.

References reachable_buried_volume_, rotamer_setup_complete_, and voxel_volume_.

Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::set_up_residuearrayannealableenergy_for_packing().

◆ reset()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::reset ( )

Reset this object.

Clears stored volumetric data. Does not clear settings, such as voxel size or cone dotproduct cutoff.

References lower_left_coords_, non_packable_volume_pruned_, pose_setup_complete_, reachable_buried_volume_, rotamer_setup_complete_, total_buried_volume_, upper_right_coords_, voxel_data_, and voxel_data_dimensions_.

Referenced by set_cone_parameters(), and set_voxel_size_and_padding().

◆ resize_voxel_grid()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::resize_voxel_grid ( numeric::xyzVector< core::Real > const &  lower_left_coords,
numeric::xyzVector< core::Real > &  upper_right_coords,
core::Real const &  voxel_size,
utility::fixedsizearray1< core::Size, 3 > &  voxel_data_dimensions,
numeric::MathNTensor< bool, 3 > &  voxel_data 
) const
private

Given lower-left, upper-right, and voxel size data, resize the voxel grid appropriately.

This also updates upper_right_coords to be the centre of the maximum voxel (pushing it a little beyond the old bounding box).

References core::pack::guidance_scoreterms::voids_penalty_energy::TR(), and voxel_size_.

Referenced by set_up_voxel_grid_and_compute_burial().

◆ set_cone_parameters()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::set_cone_parameters ( core::Real const &  cone_dotproduct_cutoff_in,
core::Real const  cone_distance_cutoff_in,
core::Size const  containing_cones_cutoff_in 
)

Set the cone dotproduct cutoff and the cone distance cutoff. @detals The cone dotproduct cutoff is the cutoff value for the dot product of a cone vector and a cone base-test point vector below which we declare the test point not to be within the cone. Effectively, this is the cone width. Lower values make broader cones. Default 0.1. Can range from 1.0 (infinitely thin cone) to -1.0 (full spherical volume), with 0.0 represeting all points on one side of the plane perpendicular to the cone vector. The cone distance cutoff is the distance from the cone base that a test point must lie within to be in the cone. This is automatically converted to (and stored as) the square of the distance by this function for efficient comparison operations. the containing cones cutoff is the minimum number of cones that must contain a given voxel in order for that voxel to be considered to be "buried".

Set the cone dotproduct cutoff and the cone distance cutoff. @detals The cone dotproduct cutoff is the cutoff value for the dot product of a cone vector and a cone base-test point vector below which we declare the test point not to be within the cone. Effectively, this is the cone width. Lower values make broader cones. Default 0.1. Can range from 1.0 (infinitely thin cone) to -1.0 (full spherical volume), with 0.0 represeting all points on one side of the plane perpendicular to the cone vector. The cone distance cutoff is the distance from the cone base that a test point must lie within to be in the cone. This is automatically converted to (and stored as) the square of the distance by this function for efficient comparison operations.

Note
Calls reset(), necessitating subsequent initialization from pose.

References cone_distance_cutoff_sq_, cone_dotproduct_cutoff_, containing_cones_cutoff_, and reset().

Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::configure_voxel_grid().

◆ set_up_voxel_grid_and_compute_burial()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::set_up_voxel_grid_and_compute_burial ( core::pose::Pose const &  pose)

◆ set_voxel_size_and_padding()

void core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::set_voxel_size_and_padding ( core::Real const &  size_in,
core::Real const &  padding_in 
)

Sets the voxel size and padding.

Calls reset(), necessitating subsequent initialization from pose. Computes half_voxel_size_ and voxel_volume_.

References half_voxel_size_, padding_, reset(), voxel_size_, and voxel_volume_.

Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::configure_voxel_grid().

◆ total_buried_volume()

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::total_buried_volume ( ) const

Get the total buried volume (including volume that cannot be reached by any rotamer), in cubic Angstroms.

References pose_setup_complete_, total_buried_volume_, and voxel_volume_.

Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::finalize_total_energy().

◆ visualize_voxel_grid()

core::pose::PoseOP core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::visualize_voxel_grid ( bool const  only_buried_voxels) const

Only for debugging! This function returns a pose with a grid of copper atoms representing the voxels.

If only_buried_voxels is true, then the voxel grid only has copper atoms at the "true" positions; otherwise, the full grid is dumped to the pose.

References core::chemical::FULL_ATOM_t, get_voxel_coordinates(), pose_setup_complete_, voxel_data_, and voxel_data_dimensions_.

Friends And Related Function Documentation

◆ ::VoidsPenaltyVoxelGridTests

friend class ::VoidsPenaltyVoxelGridTests
friend

◆ ::VoidsPenaltyVoxelGridTests_rotamer_setup

friend class ::VoidsPenaltyVoxelGridTests_rotamer_setup
friend

◆ ::VoidsPenaltyVoxelGridTests_rotamer_setup_2

friend class ::VoidsPenaltyVoxelGridTests_rotamer_setup_2
friend

Member Data Documentation

◆ cone_distance_cutoff_sq_

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::cone_distance_cutoff_sq_
private

The square of the cutoff value for the distance from the cone base at which we are considered no longer to be within the cone. Defaults to 64.0 (for a cutoff distance of 8.0).

Referenced by is_buried(), and set_cone_parameters().

◆ cone_dotproduct_cutoff_

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::cone_dotproduct_cutoff_
private

The cutoff value for the dot product of a cone vector and a cone base-test point vector below which we declare the test point not to be within the cone. Effectively, this is the cone width. Lower values make broader cones. Default 0.1. Can range from 1.0 (infinitely thin cone) to -1.0 (full spherical volume), with 0.0 represeting all points on one side of the plane perpendicular to the cone vector.

Referenced by is_buried(), and set_cone_parameters().

◆ containing_cones_cutoff_

core::Size core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::containing_cones_cutoff_
private

The minimum number of cones that must contain a particular voxel for that voxel to be considered "buried".

Defaults to 6.

Referenced by is_buried(), and set_cone_parameters().

◆ half_voxel_size_

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::half_voxel_size_
private

The voxel size divided by 2. Cached to avoid repeated computation.

Referenced by atom_overlaps_voxel(), get_indices_of_voxel_from_coordinates(), and set_voxel_size_and_padding().

◆ lower_left_coords_

numeric::xyzVector< core::Real > core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::lower_left_coords_
private

The x, y, and z coordinates of the lower-left corner of the volume considered.

Referenced by get_indices_of_voxel_from_coordinates(), get_voxel_coordinates(), reset(), and set_up_voxel_grid_and_compute_burial().

◆ non_packable_volume_pruned_

bool core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::non_packable_volume_pruned_
private

Has the prune_voxels_for_fixed_residues() function been called?

This must precede rotamer setup.

Referenced by compute_volumes_of_buried_rotamers(), prune_voxels_for_fixed_residues(), and reset().

◆ padding_

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::padding_
private

The padding around the pose for the voxel grid.

Referenced by set_up_voxel_grid_and_compute_burial(), and set_voxel_size_and_padding().

◆ pose_setup_complete_

bool core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::pose_setup_complete_
private

◆ reachable_buried_volume_

core::Size core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::reachable_buried_volume_
private

The buried volume EXCLUDING volume that cannot be reached by any rotamer.

Referenced by compute_volumes_of_buried_rotamers(), reachable_buried_volume(), and reset().

◆ rotamer_setup_complete_

bool core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::rotamer_setup_complete_
private

Has this object been used to set up rotmers?

This step must follow setup from pose, and can only be performed once.

Referenced by compute_volumes_of_buried_rotamers(), reachable_buried_volume(), reset(), and set_up_voxel_grid_and_compute_burial().

◆ total_buried_volume_

core::Size core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::total_buried_volume_
private

◆ upper_right_coords_

numeric::xyzVector< core::Real > core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::upper_right_coords_
private

The x, y, and z coordinates of the upper-right corner of the volume considered.

Referenced by get_indices_of_voxel_from_coordinates(), reset(), and set_up_voxel_grid_and_compute_burial().

◆ voxel_data_

numeric::MathNTensor< bool, 3 > core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::voxel_data_
private

◆ voxel_data_dimensions_

utility::fixedsizearray1< core::Size, 3 > core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::voxel_data_dimensions_
private

◆ voxel_size_

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::voxel_size_
private

The length, width, or height of a voxel, in Angstroms.

Defaults to 0.5 A. Smaller is not necessarily better.

Referenced by get_indices_of_voxel_from_coordinates(), get_voxel_coordinates(), resize_voxel_grid(), set_up_voxel_grid_and_compute_burial(), and set_voxel_size_and_padding().

◆ voxel_volume_

core::Real core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::voxel_volume_
private

The volume of a voxel, in cubic Angstroms. Cached to avoid repeated computation.

Referenced by compute_volume_of_this_buried_rotamer(), reachable_buried_volume(), set_voxel_size_and_padding(), and total_buried_volume().


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