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::RamaPrePro Class Reference

#include <RamaPrePro.hh>

Inheritance diagram for core::scoring::RamaPrePro:
Inheritance graph
[legend]

Public Types

typedef pose::Pose Pose
 
typedef chemical::AA AA
 

Public Member Functions

 RamaPrePro ()
 
 ~RamaPrePro () override=default
 
Real eval_rpp_rama_score (core::conformation::Conformation const &conf, core::chemical::ResidueTypeCOP res1, core::chemical::ResidueTypeCOP res2, utility::vector1< core::Real > const &mainchain_torsions) const
 Evaluate the rama score for this residue (res1) given the identity of the next (res_aa2). More...
 
void eval_rpp_rama_derivatives (core::conformation::Conformation const &conf, core::chemical::ResidueTypeCOP res1, core::chemical::ResidueTypeCOP res2, utility::vector1< core::Real > const &mainchain_torsions, utility::vector1< core::Real > &gradient) const
 Evaluate the rama score for this residue (res1) given the identity of the next (res_aa2). More...
 
void eval_rpp_rama_score (AA const res_aa1, core::chemical::ResidueTypeCOP res2, Real const phi, Real const psi, Real &score_rama, Real &denergy_dphi, Real &denergy_dpsi, bool const return_derivs) const
 Evaluate the rama score for this residue (res_aa1) given the identity of the next (res_aa2). More...
 
void random_mainchain_torsions (core::conformation::Conformation const &conf, core::chemical::ResidueTypeCOP res1, core::chemical::ResidueTypeCOP res2, utility::vector1< core::Real > &torsions) const
 Given the current residue (res1) and the next one (res2), randomly draw mainchain torsion values for the current residue, biased by the Ramachandran probabilities for its type. More...
 
utility::vector1< core::Size >
const & 
get_mainchain_torsions_covered (core::conformation::Conformation const &conf, core::chemical::ResidueTypeCOP res1, core::chemical::ResidueTypeCOP res2) const
 Get a const reference to the vector of mainchain torsions indices that the mainchain potential for a given noncanonical ResidueType covers. More...
 
void random_mainchain_torsions (core::chemical::AA const res_aa1, core::chemical::ResidueTypeCOP res2, utility::vector1< core::Real > &torsions) const
 Given the current residue (res1) and the next one (res2), randomly draw mainchain torsion values for the current residue, biased by the Ramachandran probabilities for its type. More...
 
bool is_N_substituted (core::chemical::ResidueTypeCOP restype) const
 Returns true if this aa is aa_pro or aa_dpr, false otherwise. More...
 

Private Member Functions

void read_canonical_rpp_tables ()
 Ensure that the RamaPrePro scoring tables for the 20 canonical amino acids are set up, and that we are storing pointers to them in a map of AA enum -> MainchainScoreTableCOP. More...
 
utility::vector1< core::Realinvert_vector (utility::vector1< core::Real > const &input_vect) const
 Return the input vector multiplied by -1. More...
 

Private Attributes

std::map< core::chemical::AA,
core::chemical::mainchain_potential::MainchainScoreTableCOP
canonical_score_tables_
 Owning pointers to the MainchainScoreTables for the canonical amino acids. More...
 
std::map< core::chemical::AA,
core::chemical::mainchain_potential::MainchainScoreTableCOP
canonical_prepro_score_tables_
 Owning pointers to the MainchainScoreTables for the canonical amino acids, pre-proline versions. More...
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::scoring::RamaPrePro::RamaPrePro ( )
core::scoring::RamaPrePro::~RamaPrePro ( )
overridedefault

Member Function Documentation

void core::scoring::RamaPrePro::eval_rpp_rama_derivatives ( core::conformation::Conformation const &  conf,
core::chemical::ResidueTypeCOP  res1,
core::chemical::ResidueTypeCOP  res2,
utility::vector1< core::Real > const &  input_mainchain_torsions,
utility::vector1< core::Real > &  gradient 
) const

Evaluate the rama score for this residue (res1) given the identity of the next (res_aa2).

Evaluate the rama score for this residue (res1) given the identity of the next (res2).

This version works for noncanonical or canonical residues with any number of mainchain torsions. If the next residue's identity is pro or d-pro, a different score table is used.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

This version works for noncanonical or canonical residues with any number of mainchain torsions. If the next residue's identity is pro or d-pro, a different score table is used.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).
some maintenece by Jack Maguire, jackm.nosp@m.agui.nosp@m.re144.nosp@m.4@gm.nosp@m.ail.c.nosp@m.om.

References core::chemical::aa_gly, eval_rpp_rama_score(), core::scoring::ScoringManager::get_rama_prepro_mainchain_torsion_potential(), invert_vector(), core::chemical::is_canonical_D_aa(), core::chemical::is_canonical_L_aa_or_gly(), is_N_substituted(), and core::conformation::Conformation::residue_type_set_for_conf().

Referenced by core::scoring::methods::RamaPreProEnergy::eval_intraresidue_dof_derivative().

Real core::scoring::RamaPrePro::eval_rpp_rama_score ( core::conformation::Conformation const &  conf,
core::chemical::ResidueTypeCOP  res1,
core::chemical::ResidueTypeCOP  res2,
utility::vector1< core::Real > const &  input_mainchain_torsions 
) const

Evaluate the rama score for this residue (res1) given the identity of the next (res_aa2).

Evaluate the rama score for this residue (res1) given the identity of the next (res2).

This version works for noncanonical or canonical residues with any number of mainchain torsions. If the next residue's identity is pro or d-pro, a different score table is used.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References core::chemical::aa_gly, core::scoring::ScoringManager::get_rama_prepro_mainchain_torsion_potential(), invert_vector(), core::chemical::is_canonical_D_aa(), core::chemical::is_canonical_L_aa_or_gly(), is_N_substituted(), and core::conformation::Conformation::residue_type_set_for_conf().

Referenced by protocols::generalized_kinematic_closure::filter::GeneralizedKICfilter::apply_rama_prepro_check(), eval_rpp_rama_derivatives(), protocols::stepwise::modeler::protein::StepWiseProteinBackboneSampler::rama_energy(), and core::scoring::methods::RamaPreProEnergy::residue_pair_energy().

void core::scoring::RamaPrePro::eval_rpp_rama_score ( AA const  res_aa1,
core::chemical::ResidueTypeCOP  res2,
Real const  phi,
Real const  psi,
Real score_rama,
Real denergy_dphi,
Real denergy_dpsi,
bool const  return_derivs 
) const

Evaluate the rama score for this residue (res_aa1) given the identity of the next (res_aa2).

Evaluate the rama score for this residue (res_aa1) given the identity of the next (res2).

This version only works for canonical L-amino acids, canonical D-amino acids, or glycine. If the next residue's identity is pro or d-pro, a different score table is used. Note: if return_derivs is true, the gradient vector is populated only. If it is false, then only the score_rama value is populated.

Author
Rewritten by Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References core::chemical::aa_gly, canonical_prepro_score_tables_, canonical_score_tables_, core::chemical::get_L_equivalent(), core::chemical::is_canonical_D_aa(), core::chemical::is_canonical_L_aa_or_gly(), is_N_substituted(), and core::chemical::num_canonical_aas.

utility::vector1< core::Size > const & core::scoring::RamaPrePro::get_mainchain_torsions_covered ( core::conformation::Conformation const &  conf,
core::chemical::ResidueTypeCOP  res1,
core::chemical::ResidueTypeCOP  res2 
) const

Get a const reference to the vector of mainchain torsions indices that the mainchain potential for a given noncanonical ResidueType covers.

For example, for an oligourea, this would return {1, 2, 3}, since the Rama maps for oligoureas cover phi, theta, and psi (mainchain torsions 1, 2, and 3, respectively), but not mu or omega (mainchain torsions 4 and 5).

Parameters
[in]confThe current conformation, for reference.
[in]res1The current residue, for which we're drawing mainchain torsions.
[in]res2The next residue, used to determine whether to use pre-proline tables or not.

References core::chemical::aa_unk, core::scoring::ScoringManager::get_rama_prepro_mainchain_torsion_potential(), is_N_substituted(), and core::conformation::Conformation::residue_type_set_for_conf().

Referenced by protocols::cyclic_peptide_predict::SimpleCycpepPredictApplication::set_mainchain_torsions().

utility::vector1< core::Real > core::scoring::RamaPrePro::invert_vector ( utility::vector1< core::Real > const &  input_vect) const
private

Return the input vector multiplied by -1.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

Referenced by eval_rpp_rama_derivatives(), and eval_rpp_rama_score().

bool core::scoring::RamaPrePro::is_N_substituted ( core::chemical::ResidueTypeCOP  restype) const

Returns true if this aa is aa_pro or aa_dpr, false otherwise.

Also returns true for an N-methyl amino acid, peptoid, or proline-like oligourea.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References protocols::cluster::calibur::aa, core::chemical::aa_dpr, core::chemical::aa_pro, and core::chemical::ou3_pro.

Referenced by eval_rpp_rama_derivatives(), eval_rpp_rama_score(), get_mainchain_torsions_covered(), and random_mainchain_torsions().

void core::scoring::RamaPrePro::random_mainchain_torsions ( core::conformation::Conformation const &  conf,
core::chemical::ResidueTypeCOP  res1,
core::chemical::ResidueTypeCOP  res2,
utility::vector1< core::Real > &  torsions 
) const

Given the current residue (res1) and the next one (res2), randomly draw mainchain torsion values for the current residue, biased by the Ramachandran probabilities for its type.

This version is general, usable for canonicals or noncanonicals.

Parameters
[in]confThe current conformation, for reference.
[in]res1The current residue, for which we're drawing mainchain torsions.
[in]res2The next residue, used to determine whether to use pre-proline tables or not.
[out]torsionsA vector of mainchain torsions for the current residue.
Note
If the mainchain potential is a function of fewer than all of the mainchain torsions, the vector returned will not have random values for the torsions that the mainchain potential is not a function of. Rather, these torsions will be set to 0. Use the RamaPrePro::get_mainchain_torsions_covered() function to get a vector of torsion indices that were randomized based on the mainchain potential CDF.
Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

This version is general, usable for canonicals or noncanonicals.

Parameters
[in]res1The current residue, for which we're drawing mainchain torsions.
[in]res2The next residue, used to determine whether to use pre-proline tables or not.
[out]torsionsA vector of mainchain torsions for the current residue.
Note
If the mainchain potential is a function of fewer than all of the mainchain torsions, the vector returned will not have random values for the torsions that the mainchain potential is not a function of. Rather, these torsions will be set to 0. Use the RamaPrePro::get_mainchain_torsions_covered() function to get a vector of torsion indices that were randomized based on the mainchain potential CDF.
Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References core::chemical::aa_gly, core::chemical::is_canonical_D_aa(), core::chemical::is_canonical_L_aa_or_gly(), is_N_substituted(), and core::conformation::Conformation::residue_type_set_for_conf().

Referenced by protocols::backbone_moves::RandomizeBBByRamaPrePro::apply(), and protocols::cyclic_peptide_predict::SimpleCycpepPredictApplication::set_mainchain_torsions().

void core::scoring::RamaPrePro::random_mainchain_torsions ( core::chemical::AA const  res_aa1,
core::chemical::ResidueTypeCOP  res2,
utility::vector1< core::Real > &  torsions 
) const

Given the current residue (res1) and the next one (res2), randomly draw mainchain torsion values for the current residue, biased by the Ramachandran probabilities for its type.

This version is for canonical residues only.

Parameters
[in]res_aa1The AA enum for a canonical residue type.
[in]res2The next residue, used to determine whether to use pre-proline tables or not.
[out]torsionsA vector of mainchain torsions for the current residue.
Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References canonical_prepro_score_tables_, canonical_score_tables_, core::chemical::get_L_equivalent(), core::chemical::is_canonical_D_aa(), is_N_substituted(), and core::chemical::num_canonical_aas.

void core::scoring::RamaPrePro::read_canonical_rpp_tables ( )
private

Ensure that the RamaPrePro scoring tables for the 20 canonical amino acids are set up, and that we are storing pointers to them in a map of AA enum -> MainchainScoreTableCOP.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References canonical_prepro_score_tables_, canonical_score_tables_, core::chemical::FA_STANDARD, core::chemical::first_l_aa, core::scoring::ScoringManager::get_rama_prepro_mainchain_torsion_potential(), and core::chemical::num_canonical_aas.

Referenced by RamaPrePro().

Member Data Documentation

std::map< core::chemical::AA, core::chemical::mainchain_potential::MainchainScoreTableCOP > core::scoring::RamaPrePro::canonical_prepro_score_tables_
private

Owning pointers to the MainchainScoreTables for the canonical amino acids, pre-proline versions.

Referenced by eval_rpp_rama_score(), random_mainchain_torsions(), and read_canonical_rpp_tables().

std::map< core::chemical::AA, core::chemical::mainchain_potential::MainchainScoreTableCOP > core::scoring::RamaPrePro::canonical_score_tables_
private

Owning pointers to the MainchainScoreTables for the canonical amino acids.

Referenced by eval_rpp_rama_score(), random_mainchain_torsions(), and read_canonical_rpp_tables().


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