Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::methods::ProQ_Energy Class Reference

#include <ProQ_Energy.hh>

Inheritance diagram for core::scoring::methods::ProQ_Energy:
Inheritance graph
[legend]

Public Types

typedef WholeStructureEnergy parent
 
- Public Types inherited from core::scoring::methods::WholeStructureEnergy
typedef EnergyMethod parent
 
- Public Types inherited from core::scoring::methods::EnergyMethod
typedef utility::VirtualBase parent
 

Public Member Functions

 ProQ_Energy ()
 c-tor More...
 
 ProQ_Energy (ProQ_Energy const &src)
 
EnergyMethodOP clone () const override
 clone More...
 
void setup_for_scoring (pose::Pose &pose, ScoreFunction const &scorefxn) const override
 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. More...
 
void finalize_total_energy (pose::Pose &pose, ScoreFunction const &scorefxn, EnergyMap &totals) const override
 called by the ScoreFunction at the end of energy evaluation. The derived class has the opportunity to accumulate a score into the pose's total_energy EnergyMap. WholeStructure energies operate within this method; any method using a NeighborList during minimization would also operate within this function call. More...
 
core::Size version () const override
 Return the version of the energy method. More...
 
Distance atomic_interaction_cutoff () const override
 ProQ_Energy distance cutoff. More...
 
void indicate_required_context_graphs (utility::vector1< bool > &) const override
 Indicate in the context-graphs-required list which context-graphs this energy method requires that the Pose maintain when doing neighbor evaluation. Context graphs are allowed. More...
 
- Public Member Functions inherited from core::scoring::methods::WholeStructureEnergy
 WholeStructureEnergy (EnergyMethodCreatorOP)
 Constructor with EnergyMethodCreator to list the ScoreTypes computed by this WholeStructureEnergy. More...
 
 ~WholeStructureEnergy () override
 
EnergyMethodType method_type () const override
 Return one of the 7 kinds of energy methods that exist: e.g. context-dependent-one-body vs whole-structure. More...
 
- Public Member Functions inherited from core::scoring::methods::EnergyMethod
 EnergyMethod (EnergyMethodCreatorOP creator)
 Constructor with EnergyMethodCreator, which lists the score types that this energy method is responsible for. More...
 
virtual void setup_for_packing (pose::Pose &, utility::vector1< bool > const &, utility::vector1< bool > const &) const
 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. More...
 
virtual void setup_for_packing_with_rotsets (pose::Pose &pose, pack_basic::RotamerSetsBaseOP const &rotsets, ScoreFunction const &sfxn) const
 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. More...
 
virtual void prepare_rotamers_for_packing (pose::Pose const &, conformation::RotamerSetBase &) const
 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. More...
 
virtual void update_residue_for_packing (pose::Pose &, Size resid) const
 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. More...
 
virtual bool requires_a_setup_for_scoring_for_residue_opportunity_during_regular_scoring (pose::Pose const &pose) const
 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. More...
 
virtual void setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, basic::datacache::BasicDataCache &residue_data_cache) const
 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.) More...
 
virtual void setup_for_minimizing (pose::Pose &, ScoreFunction const &, kinematics::MinimizerMapBase const &) const
 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. More...
 
virtual void finalize_after_minimizing (pose::Pose &pose) const
 Called after minimization, allowing a derived class to do some teardown steps. More...
 
virtual void setup_for_derivatives (pose::Pose &pose, ScoreFunction const &sfxn) const
 Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. More...
 
virtual void finalize_after_derivatives (pose::Pose &, ScoreFunction const &) const
 called at the end of derivatives evaluation More...
 
virtual bool minimize_in_whole_structure_context (pose::Pose const &) const
 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. More...
 
virtual bool defines_high_order_terms (pose::Pose const &) const
 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". More...
 
virtual void eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &domain_map, ScoreFunction const &sfxn, EnergyMap const &emap, Vector &F1, Vector &F2) const
 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. More...
 
ScoreTypes const & score_types () const
 Returns the score types that this energy method computes. More...
 
virtual void show_additional_info (std::ostream &, pose::Pose &, bool) const
 show additional information of the energy method More...
 
virtual bool energy_method_provides_citation_info () const
 Does this energy method provide information about how to cite it? More...
 
virtual utility::vector1
< basic::citation_manager::CitationCollectionCOP > 
provide_citation_info () const
 Provide the citation. More...
 
virtual bool energy_method_is_unpublished () const
 Does this energy method indicate that it is unpublished (and, by extension, that the author should be included in publications resulting from it)? More...
 
virtual utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const
 Provide a list of authors and their e-mail addresses, as strings. More...
 

Private Member Functions

void initialize ()
 
void output_local_prediction (pose::Pose &pose, ObjexxFCL::FArray1D< Real > &proq, std::string name) const
 
void calculate_feature_vector (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &feature_vector) const
 
void calculate_feature_vector_proq2 (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &feature_vector) const
 
Size read_profiles_and_entropy (std::string profile, std::string mtxfile)
 
void read_zpred (std::string zpredfile)
 
void read_mpSA (std::string mpSAfile)
 
void read_acc (std::string accfile)
 
void read_ss2 (std::string ss2file)
 
void atom_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, Size index, int windowsize=21) const
 
void res_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, Size index, int windowsize=21) const
 
void surf_feature (pose::Pose &pose, utility::vector1< Real > &rsd_sasa_rel, ObjexxFCL::FArray2D< Real > &vec, Size index, int windowsize=21) const
 
void gss_sc_feature (pose::Pose &pose, dssp::Dssp &ss, ObjexxFCL::FArray2D< Real > &vec, Size index) const
 
void grsa_sc_feature (pose::Pose &pose, utility::vector1< Real > &rsd_sasa_rel, ObjexxFCL::FArray2D< Real > &vec, Size index) const
 
void stride_feature (pose::Pose &pose, dssp::Dssp &ss, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=11) const
 
void ss_feature (pose::Pose &pose, dssp::Dssp &ss, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=1) const
 
void ss_sc_feature (pose::Pose &pose, dssp::Dssp &ss, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=21) const
 
void topology_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index) const
 
void zpred_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index) const
 
void z_feature (pose::Pose &pose, ObjexxFCL::FArray1D< Real > &Z, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index) const
 
void entropy_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=11) const
 
void profile_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=3) const
 
void rsa_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, utility::vector1< Real > &rsd_sasa_rel, int const pos, Size index, int windowsize=1) const
 
void prsa_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=1) const
 
void rsa_sc_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, utility::vector1< Real > &rsd_sasa_rel, int const pos, Size index, int windowsize=21) const
 
void termini_feature (pose::Pose &pose, ObjexxFCL::FArray2D< Real > &vec, int const pos, Size index, int windowsize=23) const
 
Real crd (pose::Pose &pose, Size i, Size j) const
 
int res6 (conformation::Residue const &rsd) const
 
int res6 (char const aa) const
 
int atom13 (conformation::Residue const &rsd, Size atom_i) const
 
int atom13_0 (conformation::Residue const &rsd, Size atom_i) const
 
char profile_index_to_aa (int i) const
 
void sum_profile (Size k, ObjexxFCL::FArray1D< Real > &vec) const
 
void calculateZ (pose::Pose &pose, ObjexxFCL::FArray1D< Real > &Z) const
 

Private Attributes

ProQPotential const & potential_
 
MembraneTopology topology_
 
ObjexxFCL::FArray2D< Realprob_profile_
 
ObjexxFCL::FArray2D< Realscaled_logodds_profile_
 
ObjexxFCL::FArray1D< Realentropy_
 
Size nres_
 
ObjexxFCL::FArray2D< Realss_pred_
 
ObjexxFCL::FArray1D< char > ss1_
 
ObjexxFCL::FArray1D< Realz_pred_
 
ObjexxFCL::FArray1D< Realrsa_pred_
 
ObjexxFCL::FArray1D< char > rsa_class_pred_
 
bool all_inputs_ProQM_
 
bool all_inputs_ProQ2_
 

Additional Inherited Members

- Protected Member Functions inherited from core::scoring::methods::EnergyMethod
void set_score_types (EnergyMethodCreatorOP creator)
 Override the entirety of the score types list if they were initialized incorrectly in a parent's constructor. More...
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::scoring::methods::ProQ_Energy::ProQ_Energy ( )

c-tor

References initialize().

core::scoring::methods::ProQ_Energy::ProQ_Energy ( ProQ_Energy const &  src)

Member Function Documentation

int core::scoring::methods::ProQ_Energy::atom13 ( conformation::Residue const &  rsd,
Size  atom_i 
) const
private

References atom13_0().

Referenced by atom_feature().

int core::scoring::methods::ProQ_Energy::atom13_0 ( conformation::Residue const &  rsd,
Size  atom_i 
) const
private
void core::scoring::methods::ProQ_Energy::atom_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
Size  index,
int  windowsize = 21 
) const
private
Distance core::scoring::methods::ProQ_Energy::atomic_interaction_cutoff ( ) const
overridevirtual

ProQ_Energy distance cutoff.

Reimplemented from core::scoring::methods::WholeStructureEnergy.

void core::scoring::methods::ProQ_Energy::calculate_feature_vector ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  feature_vector 
) const
private
void core::scoring::methods::ProQ_Energy::calculate_feature_vector_proq2 ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  feature_vector 
) const
private
void core::scoring::methods::ProQ_Energy::calculateZ ( pose::Pose pose,
ObjexxFCL::FArray1D< Real > &  Z 
) const
private
EnergyMethodOP core::scoring::methods::ProQ_Energy::clone ( ) const
overridevirtual
Real core::scoring::methods::ProQ_Energy::crd ( pose::Pose pose,
Size  i,
Size  j 
) const
private
void core::scoring::methods::ProQ_Energy::entropy_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 11 
) const
private
void core::scoring::methods::ProQ_Energy::finalize_total_energy ( pose::Pose pose,
ScoreFunction const &  sfxn,
EnergyMap total_energy 
) const
overridevirtual

called by the ScoreFunction at the end of energy evaluation. The derived class has the opportunity to accumulate a score into the pose's total_energy EnergyMap. WholeStructure energies operate within this method; any method using a NeighborList during minimization would also operate within this function call.

called at the end of energy evaluation

Reimplemented from core::scoring::methods::EnergyMethod.

References all_inputs_ProQ2_, all_inputs_ProQM_, calculate_feature_vector(), calculate_feature_vector_proq2(), entropy_, core::scoring::ScoreFunction::get_weight(), nres_, core::scoring::ProQPotential::num_features_proq2(), core::scoring::ProQPotential::num_features_proqm(), output_local_prediction(), potential_, core::scoring::ProQ, core::scoring::ProQM, core::scoring::ProQPotential::score(), core::pose::Pose::size(), and core::scoring::methods::TR().

void core::scoring::methods::ProQ_Energy::grsa_sc_feature ( pose::Pose pose,
utility::vector1< Real > &  rsd_sasa_rel,
ObjexxFCL::FArray2D< Real > &  vec,
Size  index 
) const
private

References nres_, and rsa_class_pred_.

Referenced by calculate_feature_vector_proq2().

void core::scoring::methods::ProQ_Energy::gss_sc_feature ( pose::Pose pose,
dssp::Dssp ss,
ObjexxFCL::FArray2D< Real > &  vec,
Size  index 
) const
private
void core::scoring::methods::ProQ_Energy::indicate_required_context_graphs ( utility::vector1< bool > &  context_graphs_required) const
inlineoverridevirtual

Indicate in the context-graphs-required list which context-graphs this energy method requires that the Pose maintain when doing neighbor evaluation. Context graphs are allowed.

Implements core::scoring::methods::EnergyMethod.

void core::scoring::methods::ProQ_Energy::initialize ( )
private
void core::scoring::methods::ProQ_Energy::output_local_prediction ( pose::Pose pose,
ObjexxFCL::FArray1D< Real > &  proq,
std::string  name 
) const
private
void core::scoring::methods::ProQ_Energy::profile_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 3 
) const
private

References nres_, and scaled_logodds_profile_.

Referenced by calculate_feature_vector().

char core::scoring::methods::ProQ_Energy::profile_index_to_aa ( int  i) const
private
void core::scoring::methods::ProQ_Energy::prsa_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 1 
) const
private

References nres_, and rsa_pred_.

Referenced by calculate_feature_vector().

void core::scoring::methods::ProQ_Energy::read_acc ( std::string  accfile)
private

References nres_, and rsa_class_pred_.

Referenced by initialize().

void core::scoring::methods::ProQ_Energy::read_mpSA ( std::string  mpSAfile)
private

References nres_, rsa_class_pred_, and rsa_pred_.

Referenced by initialize().

Size core::scoring::methods::ProQ_Energy::read_profiles_and_entropy ( std::string  profile,
std::string  mtxfile 
)
private
void core::scoring::methods::ProQ_Energy::read_ss2 ( std::string  ss2file)
private

References nres_, ss1_, and ss_pred_.

Referenced by initialize().

void core::scoring::methods::ProQ_Energy::read_zpred ( std::string  zpredfile)
private

References nres_, and z_pred_.

Referenced by initialize().

int core::scoring::methods::ProQ_Energy::res6 ( conformation::Residue const &  rsd) const
private
int core::scoring::methods::ProQ_Energy::res6 ( char const  aa) const
private
void core::scoring::methods::ProQ_Energy::res_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
Size  index,
int  windowsize = 21 
) const
private
void core::scoring::methods::ProQ_Energy::rsa_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
utility::vector1< Real > &  rsd_sasa_rel,
int const  pos,
Size  index,
int  windowsize = 1 
) const
private
void core::scoring::methods::ProQ_Energy::rsa_sc_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
utility::vector1< Real > &  rsd_sasa_rel,
int const  pos,
Size  index,
int  windowsize = 21 
) const
private
void core::scoring::methods::ProQ_Energy::setup_for_scoring ( pose::Pose ,
ScoreFunction const &   
) const
overridevirtual

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.

Reimplemented from core::scoring::methods::EnergyMethod.

References potential_, core::scoring::ProQPotential::setup_for_scoring(), and core::pose::Pose::update_residue_neighbors().

void core::scoring::methods::ProQ_Energy::ss_feature ( pose::Pose pose,
dssp::Dssp ss,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 1 
) const
private
void core::scoring::methods::ProQ_Energy::ss_sc_feature ( pose::Pose pose,
dssp::Dssp ss,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 21 
) const
private
void core::scoring::methods::ProQ_Energy::stride_feature ( pose::Pose pose,
dssp::Dssp ss,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 11 
) const
private
void core::scoring::methods::ProQ_Energy::sum_profile ( Size  k,
ObjexxFCL::FArray1D< Real > &  vec 
) const
private
void core::scoring::methods::ProQ_Energy::surf_feature ( pose::Pose pose,
utility::vector1< Real > &  rsd_sasa_rel,
ObjexxFCL::FArray2D< Real > &  vec,
Size  index,
int  windowsize = 21 
) const
private
void core::scoring::methods::ProQ_Energy::termini_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index,
int  windowsize = 23 
) const
private
void core::scoring::methods::ProQ_Energy::topology_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index 
) const
private
core::Size core::scoring::methods::ProQ_Energy::version ( ) const
overridevirtual

Return the version of the energy method.

Implements core::scoring::methods::EnergyMethod.

void core::scoring::methods::ProQ_Energy::z_feature ( pose::Pose pose,
ObjexxFCL::FArray1D< Real > &  Z,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index 
) const
private

References nres_.

Referenced by calculate_feature_vector().

void core::scoring::methods::ProQ_Energy::zpred_feature ( pose::Pose pose,
ObjexxFCL::FArray2D< Real > &  vec,
int const  pos,
Size  index 
) const
private

References nres_, and z_pred_.

Referenced by calculate_feature_vector().

Member Data Documentation

bool core::scoring::methods::ProQ_Energy::all_inputs_ProQ2_
private
bool core::scoring::methods::ProQ_Energy::all_inputs_ProQM_
private
ObjexxFCL::FArray1D< Real > core::scoring::methods::ProQ_Energy::entropy_
private
Size core::scoring::methods::ProQ_Energy::nres_
private
ProQPotential const& core::scoring::methods::ProQ_Energy::potential_
private
ObjexxFCL::FArray2D< Real > core::scoring::methods::ProQ_Energy::prob_profile_
private
ObjexxFCL::FArray1D< char > core::scoring::methods::ProQ_Energy::rsa_class_pred_
private
ObjexxFCL::FArray1D< Real > core::scoring::methods::ProQ_Energy::rsa_pred_
private
ObjexxFCL::FArray2D< Real > core::scoring::methods::ProQ_Energy::scaled_logodds_profile_
private
ObjexxFCL::FArray1D< char > core::scoring::methods::ProQ_Energy::ss1_
private
ObjexxFCL::FArray2D< Real > core::scoring::methods::ProQ_Energy::ss_pred_
private

Referenced by ProQ_Energy(), read_ss2(), and ss_feature().

MembraneTopology core::scoring::methods::ProQ_Energy::topology_
private
ObjexxFCL::FArray1D< Real > core::scoring::methods::ProQ_Energy::z_pred_
private

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