voids_penalty_energy

Bindings for core::pack::guidance_scoreterms::voids_penalty_energy namespace

class pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy

Bases: WholeStructureEnergy, ResidueArrayAnnealableEnergy

VoidsPenaltyEnergy (“voids_penalty” score term), an EnergyMethod intended for packing, which penalizes solutions in which the total volume to fill differs greatly from the total volume of the current set of rotamers.

assign(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, : pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy) pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::operator=(const class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy &) –> class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy &

atomic_interaction_cutoff(self: pyrosetta.rosetta.core.scoring.methods.WholeStructureEnergy) float

how far apart must two heavy atoms be to have a zero interaction energy?

If hydrogen atoms interact at the same range as heavy atoms, then this distance should build-in a 2 * max-bound-h-distance-cutoff buffer. There is an improper mixing here between run-time aquired chemical knowledge (max-bound-h-distance-cutoff) and compile time aquired scoring knowledge (max atom cutoff); this could be resolved by adding a boolean uses_hydrogen_interaction_distance() to the SRTBEnergy class along with a method of the ChemicalManager max_bound_h_distance_cutoff().

This method allows the WholeStructureEnergy class to define which edges should be included in the EnergyGraph so that during the finalize() method the Energy class can iterate across the EnergyGraph. This iteration occurrs in the SecondaryStructureEnergy class, where the edges must span 12 angstroms between the centroids. Arguably, the SecondaryStructureEnergy class could use the TwelveANeighborGraph (a context graph) and not require that the EnergyGraph span such long distances.

C++: core::scoring::methods::WholeStructureEnergy::atomic_interaction_cutoff() const –> double

atomistic_energy(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, atmno: int, rsd: pyrosetta.rosetta.core.conformation.Residue, pose: core::pose::Pose, scorefxn: core::scoring::ScoreFunction, emap: core::scoring::EMapVector) None
Evaluate the (one body) energy associated with a particular atom

This may be a “self” energy, or it may be the single atom contribution from a whole structure term. NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_energies()

This is return-by-reference in the EnergyMap - Implementations should accumulate, not replace.

C++: core::scoring::methods::EnergyMethod::atomistic_energy(unsigned long, const class core::conformation::Residue &, const class core::pose::Pose &, const class core::scoring::ScoreFunction &, class core::scoring::EMapVector &) const –> void

atomistic_pair_energy(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, atmno1: int, rsd1: pyrosetta.rosetta.core.conformation.Residue, atomno2: int, rsd2: pyrosetta.rosetta.core.conformation.Residue, pose: core::pose::Pose, scorefxn: core::scoring::ScoreFunction, emap: core::scoring::EMapVector) None
Evaluate the energy for a particular pair of atoms

This function may be fed the same residue with different atom numbers NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_pairwise_energies()

This is return-by-reference in the EnergyMap - Implementations should accumulate, not replace.

C++: core::scoring::methods::EnergyMethod::atomistic_pair_energy(unsigned long, const class core::conformation::Residue &, unsigned long, const class core::conformation::Residue &, const class core::pose::Pose &, const class core::scoring::ScoreFunction &, class core::scoring::EMapVector &) const –> void

calculate_energy(*args, **kwargs)

Overloaded function.

  1. calculate_energy(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, resvect: pyrosetta.rosetta.utility.vector1_std_shared_ptr_const_core_conformation_Residue_t, rotamer_ids: pyrosetta.rosetta.utility.vector1_unsigned_long) -> float

  2. calculate_energy(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, resvect: pyrosetta.rosetta.utility.vector1_std_shared_ptr_const_core_conformation_Residue_t, rotamer_ids: pyrosetta.rosetta.utility.vector1_unsigned_long, substitution_position: int) -> float

Calculate the total energy given a vector of const owning pointers to residues.

Called directly by the ResidueArrayAnnealingEvaluator during packer runs.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::calculate_energy(const class utility::vector1<class std::shared_ptr<const class core::conformation::Residue>, class std::allocator<class std::shared_ptr<const class core::conformation::Residue> > > &, const class utility::vector1<unsigned long, class std::allocator<unsigned long> > &, const unsigned long) const –> double

clean_up_residuearrayannealableenergy_after_packing(self: pyrosetta.rosetta.core.scoring.annealing.ResidueArrayAnnealableEnergy, pose: core::pose::Pose) None
Allows the ResidueArrayAnnealableEnergy to clean up cached data, either within the EnergyMethod or in the pose, after

a packer run.

Base class version does nothing; may be overridden by derived classes.

C++: core::scoring::annealing::ResidueArrayAnnealableEnergy::clean_up_residuearrayannealableenergy_after_packing(class core::pose::Pose &) –> void

clone(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy) pyrosetta.rosetta.core.scoring.methods.EnergyMethod
Clone: create a copy of this object, and return an owning pointer

to the copy.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::clone() const –> class std::shared_ptr<class core::scoring::methods::EnergyMethod>

commit_considered_substitution(self: pyrosetta.rosetta.core.scoring.annealing.ResidueArrayAnnealableEnergy) None

What to do when a substitution that was considered is accepted.

Vikram K. Mulligan (vmullig.edu).

C++: core::scoring::annealing::ResidueArrayAnnealableEnergy::commit_considered_substitution() –> void

defines_high_order_terms(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose) bool
Should this EnergyMethod have score and derivative evaluation

evaluated both in the context of the whole Pose and in the context of residue or residue-pairs? This covers scoring terms like env-smooth wherein the CBeta’s get derivatives for increasing the neighbor counts for surrounding residues, and terms like constraints, which are definable on arbitrary number of residues (e.g. more than 2); both of these terms could be used in RTMin, and both should use the residue and residue-pair evaluation scheme with the MinimizationGraph for the majority of the work they do. (Now, high-order constraints (3-body or above) will not be properly evaluated within RTMin.). The default implementation returns “false”.

C++: core::scoring::methods::EnergyMethod::defines_high_order_terms(const class core::pose::Pose &) const –> bool

disabled_except_during_packing(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy) bool

Get whether this term is disabled except during packing.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::disabled_except_during_packing() const –> bool

eval_atom_derivative(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, id: pyrosetta.rosetta.core.id.AtomID, pose: core::pose::Pose, domain_map: pyrosetta.rosetta.ObjexxFCL.FArray1D_int_t, sfxn: core::scoring::ScoreFunction, emap: core::scoring::EMapVector, F1: pyrosetta.rosetta.numeric.xyzVector_double_t, F2: pyrosetta.rosetta.numeric.xyzVector_double_t) None
Evaluate the XYZ derivative for an atom in the pose.

Called during the atomtree derivative calculation, atom_tree_minimize.cc, through the ScoreFunction::eval_atom_derivative intermediary. F1 and F2 should not zeroed, rather, this class should accumulate its contribution from this atom’s XYZ derivative

The derivative scheme is based on that of Abe, Braun, Noguti and Go (1984) “Rapid Calculation of First and Second Derivatives of Conformational Energy with Respect to Dihedral Angles for Proteins. General Recurrent Equations” Computers & Chemistry 8(4) pp. 239-247. F1 and F2 correspond roughly to Fa and Ga, respectively, of equations 7a & 7b in that paper.

C++: core::scoring::methods::EnergyMethod::eval_atom_derivative(const class core::id::AtomID &, const class core::pose::Pose &, const class ObjexxFCL::FArray1D<int> &, const class core::scoring::ScoreFunction &, const class core::scoring::EMapVector &, class numeric::xyzVector<double> &, class numeric::xyzVector<double> &) const –> void

finalize_after_derivatives(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose, : core::scoring::ScoreFunction) None

called at the end of derivatives evaluation

C++: core::scoring::methods::EnergyMethod::finalize_after_derivatives(class core::pose::Pose &, const class core::scoring::ScoreFunction &) const –> void

finalize_after_minimizing(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, pose: pyrosetta.rosetta.core.pose.Pose) None

Called after minimization.

Re-enables the score term after minimization.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::finalize_after_minimizing(class core::pose::Pose &) const –> void

finalize_total_energy(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, pose: pyrosetta.rosetta.core.pose.Pose, : pyrosetta.rosetta.core.scoring.ScoreFunction, totals: pyrosetta.rosetta.core.scoring.EMapVector) None

Actually calculate the total energy

Called by the scoring machinery.

VoidsPenaltyEnergy::finalize_total_energy() can return a slightly different energy than was computed during packing. This is because reachable volume cannot be computed (since we don’t have a rotamer set), so total buried volume is used in the calculation. This will also be a whole-pose calculation, and won’t just focus on the designable region (since there’s no “designable region” when this function is called).

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::finalize_total_energy(class core::pose::Pose &, const class core::scoring::ScoreFunction &, class core::scoring::EMapVector &) const –> void

has_atomistic_energies(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod) bool
Does this EnergyMethod have a non-trivial implementation of the (one body) atomistic energy method?

Note that this may return false even if the score term theoretically could support atomistic energies. And even if this function returns true, it’s not necessarily the case that all atoms will get assigned an energy, or that the sum over all atoms (or atom pairs) will result in the same energy as the residue-level approach. The atomistic functions are intended for supplemental informational purposes only. The residue-level energies are the main interface for EnergyMethods.

C++: core::scoring::methods::EnergyMethod::has_atomistic_energies() const –> bool

has_atomistic_pairwise_energies(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod) bool
Does this EnergyMethod have a non-trivial implementation of the pairwise atomistic energy method?

NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here.

C++: core::scoring::methods::EnergyMethod::has_atomistic_pairwise_energies() const –> bool

indicate_required_context_graphs(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, context_graphs_required: pyrosetta.rosetta.utility.vector1_bool) None
VoidsPenaltyEnergy is context-independent and thus indicates that no context graphs need to be maintained by

class Energies.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::indicate_required_context_graphs(class utility::vector1<bool, class std::allocator<bool> > &) const –> void

method_type(self: pyrosetta.rosetta.core.scoring.methods.WholeStructureEnergy) pyrosetta.rosetta.core.scoring.methods.EnergyMethodType

C++: core::scoring::methods::WholeStructureEnergy::method_type() const –> enum core::scoring::methods::EnergyMethodType

minimize_in_whole_structure_context(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose) bool
Should this EnergyMethod have score and derivative evaluation

evaluated only in the context of the whole Pose, or can it be included in a decomposed manner for a residue or a set of residue-pairs that are not part of the Pose that’s serving as their context? The default method implemented in the base class returns true in order to grandfather in EnergyMethods that have not had their derivatives changed to take advantage of the new derivative-evaluation machinery. Methods that return “true” will not have their residue-energy(-ext) / residue-pair-energy(-ext) methods invoked by the ScoreFunction during its traversal of the MinimizationGraph, and instead will be asked to perform all their work during finalize_total_energies(). Similarly, they will be expected to perform all their work during eval_atom_deriv() instead of during the ScoreFunction’s traversal of the MinimizationGraph for derivative evaluation. IMPORTANT: Methods that return “true” cannot be included in RTMin.

C++: core::scoring::methods::EnergyMethod::minimize_in_whole_structure_context(const class core::pose::Pose &) const –> bool

prepare_rotamers_for_packing(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose, : pyrosetta.rosetta.core.conformation.RotamerSetBase) None
If an energy method needs to cache data in a packing::RotamerSet object before

rotamer energies are calculated, it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing.

C++: core::scoring::methods::EnergyMethod::prepare_rotamers_for_packing(const class core::pose::Pose &, class core::conformation::RotamerSetBase &) const –> void

provide_citation_info(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, : pyrosetta.rosetta.basic.citation_manager.CitationCollectionList) None

Provide the citation.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::provide_citation_info(class basic::citation_manager::CitationCollectionList &) const –> void

report(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy) None

Get a summary of all loaded data.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::report() const –> void

requires_a_setup_for_scoring_for_residue_opportunity_during_regular_scoring(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, pose: core::pose::Pose) bool
Does this EnergyMethod require the opportunity to examine the residue before (regular) scoring begins? Not

all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. The default implmentation of this function returns false

C++: core::scoring::methods::EnergyMethod::requires_a_setup_for_scoring_for_residue_opportunity_during_regular_scoring(const class core::pose::Pose &) const –> bool

score_types(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod) pyrosetta.rosetta.utility.vector1_core_scoring_ScoreType

Returns the score types that this energy method computes.

C++: core::scoring::methods::EnergyMethod::score_types() const –> const class utility::vector1<enum core::scoring::ScoreType, class std::allocator<enum core::scoring::ScoreType> > &

set_disabled_except_during_packing(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, setting: bool) None

Set whether this term is disabled except during packing.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::set_disabled_except_during_packing(const bool) –> void

set_up_residuearrayannealableenergy_for_packing(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, pose: pyrosetta.rosetta.core.pose.Pose, rotamersets: pyrosetta.rosetta.core.pack.rotamer_set.RotamerSets, sfxn: pyrosetta.rosetta.core.scoring.ScoreFunction) None

Cache data from the pose in this EnergyMethod in anticipation of scoring.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::set_up_residuearrayannealableenergy_for_packing(class core::pose::Pose &, const class core::pack::rotamer_set::RotamerSets &, const class core::scoring::ScoreFunction &) –> void

setup_for_derivatives(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, pose: core::pose::Pose, sfxn: core::scoring::ScoreFunction) None
Called immediately before atom- and DOF-derivatives are calculated

allowing the derived class a chance to prepare for future calls.

C++: core::scoring::methods::EnergyMethod::setup_for_derivatives(class core::pose::Pose &, const class core::scoring::ScoreFunction &) const –> void

setup_for_minimizing(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy, pose: pyrosetta.rosetta.core.pose.Pose, sfxn: pyrosetta.rosetta.core.scoring.ScoreFunction, minmap: pyrosetta.rosetta.core.kinematics.MinimizerMapBase) None
Called at the beginning of atom tree minimization, this method

allows the derived class the opportunity to initialize pertinent data that will be used during minimization. During minimzation, the chemical structure of the pose is constant, so assumptions on the number of atoms per residue and their identities are safe so long as the pose’s Energies object’s “use_nblist()” method returns true.

This just disables this score term during minimization, in the case of the VoidsPenaltyEnergy.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::setup_for_minimizing(class core::pose::Pose &, const class core::scoring::ScoreFunction &, const class core::kinematics::MinimizerMapBase &) const –> void

setup_for_packing(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose, : pyrosetta.rosetta.utility.vector1_bool, : pyrosetta.rosetta.utility.vector1_bool) None
if an energy method needs to cache data in the Energies object,

before packing begins, then it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing.

C++: core::scoring::methods::EnergyMethod::setup_for_packing(class core::pose::Pose &, const class utility::vector1<bool, class std::allocator<bool> > &, const class utility::vector1<bool, class std::allocator<bool> > &) const –> void

setup_for_packing_with_rotsets(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, pose: core::pose::Pose, rotsets: core::pack_basic::RotamerSetsBase, sfxn: core::scoring::ScoreFunction) None
if an energy method needs to cache data in the Energies object,

before packing begins and requires access to the RotamerSets object, then it does so during this function. The default behavior is to do nothing.

The exact order of events when setting up for packing are as follows:
  1. setup_for_packing() is called for all energy methods

  2. rotamers are built

  3. setup_for_packing_with_rotsets() is called for all energy methods

  4. prepare_rotamers_for_packing() is called for all energy methods

  5. The energy methods are asked to score all rotamers and rotamer pairs

  6. Annealing

The pose is specifically non-const here so that energy methods can store data in it

: Used in ApproximateBuriedUnsatPenalty to pre-compute compatible rotamers

C++: core::scoring::methods::EnergyMethod::setup_for_packing_with_rotsets(class core::pose::Pose &, const class std::shared_ptr<class core::pack_basic::RotamerSetsBase> &, const class core::scoring::ScoreFunction &) const –> void

setup_for_scoring(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose, : core::scoring::ScoreFunction) None
if an energy method needs to cache something in the pose (e.g. in pose.energies()),

before scoring begins, it must do so in this method. All long range energy functions must initialize their LREnergyContainers before scoring begins. The default is to do nothing.

C++: core::scoring::methods::EnergyMethod::setup_for_scoring(class core::pose::Pose &, const class core::scoring::ScoreFunction &) const –> void

setup_for_scoring_for_residue(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, rsd: pyrosetta.rosetta.core.conformation.Residue, pose: core::pose::Pose, sfxn: core::scoring::ScoreFunction, residue_data_cache: pyrosetta.rosetta.basic.datacache.BasicDataCache) None
Do any setup work before scoring, caching any slow-to-compute data that will be used during

energy evaluation inside of the input Residue object’s data cache. (The Residue on the whole is given as a constant reference, but non-constant access to its data cache is granted.)

C++: core::scoring::methods::EnergyMethod::setup_for_scoring_for_residue(const class core::conformation::Residue &, const class core::pose::Pose &, const class core::scoring::ScoreFunction &, class basic::datacache::BasicDataCache &) const –> void

show_additional_info(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : pyrosetta.rosetta.std.ostream, : core::pose::Pose, : bool) None

show additional information of the energy method

C++: core::scoring::methods::EnergyMethod::show_additional_info(std::ostream &, class core::pose::Pose &, bool) const –> void

update_residue_for_packing(self: pyrosetta.rosetta.core.scoring.methods.EnergyMethod, : core::pose::Pose, resid: int) None
If the pose changes in the middle of a packing (as happens in rotamer trials) and if

an energy method needs to cache data in the pose that corresponds to its current state, then the method must update that data when this function is called. The packer must ensure this function gets called. The default behavior is to do nothing.

C++: core::scoring::methods::EnergyMethod::update_residue_for_packing(class core::pose::Pose &, unsigned long) const –> void

version(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergy) int

VoidsPenaltyEnergy is version 1.0 right now.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergy::version() const –> unsigned long

class pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergyCreator

Bases: EnergyMethodCreator

assign(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergyCreator, : pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergyCreator) pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergyCreator

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergyCreator::operator=(const class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergyCreator &) –> class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergyCreator &

create_energy_method(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergyCreator, options: pyrosetta.rosetta.core.scoring.methods.EnergyMethodOptions) pyrosetta.rosetta.core.scoring.methods.EnergyMethod

Instantiate a new VoidsPenaltyEnergy.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergyCreator::create_energy_method(const class core::scoring::methods::EnergyMethodOptions &) const –> class std::shared_ptr<class core::scoring::methods::EnergyMethod>

score_types_for_method(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyEnergyCreator) pyrosetta.rosetta.utility.vector1_core_scoring_ScoreType
Return the set of score types claimed by the EnergyMethod that

this EnergyMethodCreator creates in its create_energy_method() function.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyEnergyCreator::score_types_for_method() const –> class utility::vector1<enum core::scoring::ScoreType, class std::allocator<enum core::scoring::ScoreType> >

class pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid

Bases: pybind11_object

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

assign(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, : pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid) pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::operator=(const class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid &) –> class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid &

atom_overlaps_voxel(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, voxel_index: pyrosetta.rosetta.utility.fixedsizearray1_unsigned_long_3_t, atom_xyz: pyrosetta.rosetta.numeric.xyzVector_double_t, atomic_radius: float) bool
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.

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::atom_overlaps_voxel(const class utility::fixedsizearray1<unsigned long, 3> &, const class numeric::xyzVector<double> &, const double) const –> bool

clone(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid) pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid

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

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::clone() const –> class std::shared_ptr<class core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid>

compute_total_volume_of_current_residues(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, pose: pyrosetta.rosetta.core.pose.Pose) float

Given a pose, compute the total volume of its buried residues.

Requires that set_up_voxel_grid_and_compute_burial() was called first.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_total_volume_of_current_residues(const class core::pose::Pose &) const –> double

compute_volume_of_this_buried_rotamer(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, rot: pyrosetta.rosetta.core.conformation.Residue, untouched_voxels: pyrosetta.rosetta.numeric.MathNTensor_bool_3_t, untouched_voxel_count: int) float

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volume_of_this_buried_rotamer(class std::shared_ptr<const class core::conformation::Residue>, class numeric::MathNTensor<bool, 3> &, unsigned long &) const –> double

compute_volumes_of_buried_rotamers(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, pose: pyrosetta.rosetta.core.pose.Pose, rotsets: pyrosetta.rosetta.core.pack.rotamer_set.RotamerSets, rotamer_volume_maps: pyrosetta.rosetta.utility.vector1_std_map_std_shared_ptr_const_core_conformation_Residue_double_std_less_std_shared_ptr_const_core_conformation_Residue_std_allocator_std_pair_const_std_shared_ptr_const_core_conformation_Residue_double_t, symminfo: pyrosetta.rosetta.core.conformation.symmetry.SymmetryInfo, symmconf: pyrosetta.rosetta.core.conformation.symmetry.SymmetricConformation) None

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.

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volumes_of_buried_rotamers(const class core::pose::Pose &, const class core::pack::rotamer_set::RotamerSets &, class utility::vector1<class std::map<class std::shared_ptr<const class core::conformation::Residue>, double, struct std::less<class std::shared_ptr<const class core::conformation::Residue> >, class std::allocator<struct std::pair<const class std::shared_ptr<const class core::conformation::Residue>, double> > >, class std::allocator<class std::map<class std::shared_ptr<const class core::conformation::Residue>, double, struct std::less<class std::shared_ptr<const class core::conformation::Residue> >, class std::allocator<struct std::pair<const class std::shared_ptr<const class core::conformation::Residue>, double> > > > > &, class std::shared_ptr<const class core::conformation::symmetry::SymmetryInfo>, class std::shared_ptr<const class core::conformation::symmetry::SymmetricConformation>) –> void

get_indices_of_voxel_from_coordinates(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, point: pyrosetta.rosetta.numeric.xyzVector_double_t, output_indices: pyrosetta.rosetta.utility.fixedsizearray1_unsigned_long_3_t) bool

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.

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_indices_of_voxel_from_coordinates(class numeric::xyzVector<double>, class utility::fixedsizearray1<unsigned long, 3> &) const –> bool

get_rotamer_bounding_box(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, rot: pyrosetta.rosetta.core.conformation.Residue, bounding_box_start: pyrosetta.rosetta.utility.fixedsizearray1_unsigned_long_3_t, bounding_box_end: pyrosetta.rosetta.utility.fixedsizearray1_unsigned_long_3_t) None

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.

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_rotamer_bounding_box(class std::shared_ptr<const class core::conformation::Residue>, class utility::fixedsizearray1<unsigned long, 3> &, class utility::fixedsizearray1<unsigned long, 3> &) const –> void

get_voxel_coordinates(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, index_x: int, index_y: int, index_z: int) pyrosetta.rosetta.numeric.xyzVector_double_t

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::get_voxel_coordinates(const unsigned long, const unsigned long, const unsigned long) const –> class numeric::xyzVector<double>

prune_voxels_for_fixed_residues(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, pose: pyrosetta.rosetta.core.pose.Pose, rotsets: pyrosetta.rosetta.core.pack.rotamer_set.RotamerSets, symminfo: pyrosetta.rosetta.core.conformation.symmetry.SymmetryInfo, symmconf: pyrosetta.rosetta.core.conformation.symmetry.SymmetricConformation) None

Remove voxels from voxel grid for positions that cannot repack.

set_up_voxel_grid_and_compute_burial() must be called first.

If symminfo == nullptr, then we assume this is the asymmetric case. Otherwise, we use the symmetry information to aid the pruning.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::prune_voxels_for_fixed_residues(const class core::pose::Pose &, const class core::pack::rotamer_set::RotamerSets &, class std::shared_ptr<const class core::conformation::symmetry::SymmetryInfo>, class std::shared_ptr<const class core::conformation::symmetry::SymmetricConformation>) –> void

reachable_buried_volume(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid) float

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

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::reachable_buried_volume() const –> double

reset(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid) None

Reset this object.

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

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::reset() –> void

set_cone_parameters(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, cone_dotproduct_cutoff_in: float, cone_distance_cutoff_in: float, containing_cones_cutoff_in: int) None

Set the cone dotproduct cutoff and the cone distance cutoff.

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”.

Calls reset(), necessitating subsequent initialization from pose.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::set_cone_parameters(const double &, const double, const unsigned long) –> void

set_up_voxel_grid_and_compute_burial(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, pose: pyrosetta.rosetta.core.pose.Pose) None

Set up voxel grid from a pose and determine which voxels are buried.

This function must be called before compute_volumes_of_buried_rotamers().

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::set_up_voxel_grid_and_compute_burial(const class core::pose::Pose &) –> void

set_voxel_size_and_padding(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, size_in: float, padding_in: float) None

Sets the voxel size and padding.

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

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::set_voxel_size_and_padding(const double &, const double &) –> void

total_buried_volume(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid) float

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

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::total_buried_volume() const –> double

visualize_voxel_grid(self: pyrosetta.rosetta.core.pack.guidance_scoreterms.voids_penalty_energy.VoidsPenaltyVoxelGrid, only_buried_voxels: bool) pyrosetta.rosetta.core.pose.Pose

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.

C++: core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::visualize_voxel_grid(const bool) const –> class std::shared_ptr<class core::pose::Pose>