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.
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
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:
setup_for_packing() is called for all energy methods
rotamers are built
setup_for_packing_with_rotsets() is called for all energy methods
prepare_rotamers_for_packing() is called for all energy methods
The energy methods are asked to score all rotamers and rotamer pairs
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>