Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::scoring::Ramachandran2B Class Reference

#include <Ramachandran2B.hh>

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

Public Types

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

Public Member Functions

 Ramachandran2B ()
 
 ~Ramachandran2B () override
 
Real eval_rama_score_residue (AA const res_aa, Real const phi, Real const psi) const
 
void eval_rama_score_residue (conformation::Residue const &res, chemical::AA const left_aa, chemical::AA const right_aa, Real &rama, Real &drama_dphi, Real &drama_dpsi) const
 
Real eval_rama_score_residue (Real phi, Real psi, chemical::AA const res, chemical::AA const left_aa, chemical::AA const right_aa) const
 
Real eval_rama_score_residue (Real phi, Real psi, chemical::AA const res, chemical::AA const left_aa, chemical::AA const right_aa, Real &drama_dphi, Real &drama_dpsi) const
 
Real RamaE_Lower (conformation::Residue const &rsd, chemical::AA const &neighbor) const
 
Real RamaE_Lower (conformation::Residue const &rsd, chemical::AA const &neighbor, Real &drama_dphi, Real &drama_dpsi) const
 
Real RamaE_Lower (Real phi, Real psi, chemical::AA const &rsd, chemical::AA const &neighbor) const
 
Real RamaE_Lower (Real phi, Real psi, chemical::AA const &rsd, chemical::AA const &neighbor, Real &drama_dphi, Real &drama_dpsi) const
 
Real RamaE_Upper (conformation::Residue const &rsd, chemical::AA const &neighbor) const
 
Real RamaE_Upper (conformation::Residue const &rsd, chemical::AA const &neighbor, Real &drama_dphi, Real &drama_dpsi) const
 
Real RamaE_Upper (Real phi, Real psi, chemical::AA const &rsd, chemical::AA const &neighbor) const
 
Real RamaE_Upper (Real phi, Real psi, chemical::AA const &rsd, chemical::AA const &neighbor, Real &drama_dphi, Real &drama_dpsi) const
 
Real RamaE (conformation::Residue const &rsd) const
 
Real RamaE (conformation::Residue const &rsd, Real &drama_dphi, Real &drama_dpsi) const
 
Real RamaE (Real phi, Real psi, chemical::AA const &rsd, Real &drama_dphi, Real &drama_dpsi) const
 
void eval_rama_score_residue (conformation::Residue const &res, Real &rama, Real &drama_dphi, Real &drama_dpsi) const
 
void eval_rama_score_residue (AA const res_aa, Real const phi, Real const psi, Real &rama, Real &drama_dphi, Real &drama_dpsi) const
 
void IdealizeRamaEnergy (Real const phi, Real const psi, Real &rama, Real &drama_dphi, Real &drama_dpsi, Real const entropy, ObjexxFCL::FArray2A< Real > const &rama_for_res) const
 
void random_phipsi_from_rama_left (AA const left_aa, AA const pos_aa, Real &phi, Real &psi) const
 pick a phi/psi pair chosen from the rama2b distribution so that the most commonly observed phi/psi pairs are chosen at higher probability than the least commonly observed pairs; use the phi/psi distribution for the central aa (the pos aa) based on its "left" (n-terminal) neighbor's amino acid type. More...
 
void random_phipsi_from_rama_right (AA const pos_aa, AA const right_aa, Real &phi, Real &psi) const
 pick a phi/psi pair chosen from the rama2b distribution so that the most commonly observed phi/psi pairs are chosen at higher probability than the least commonly observed pairs; use the phi/psi distribution for the central aa (the pos aa) based on its "right" (c-terminal) neighbor's amino acid type. More...
 
void random_phipsi_from_rama_by_torsion_bin_left (AA const left_aa, AA const pos_aa, Real &phi, Real &psi, conformation::ppo_torsion_bin const torsion_bin) const
 function for torsion-bin specific but otherwise random phi/psi angles More...
 
void random_phipsi_from_rama_by_torsion_bin_right (AA const pos_aa, AA const right_aa, Real &phi, Real &psi, conformation::ppo_torsion_bin const torsion_bin) const
 
void get_entries_per_torsion_bin_left (AA const left_aa, AA const pos_aa, std::map< conformation::ppo_torsion_bin, core::Size > &tb_frequencies) const
 
void get_entries_per_torsion_bin_right (AA const pos_aa, AA const right_aa, std::map< conformation::ppo_torsion_bin, core::Size > &tb_frequencies) const
 
void eval_rama_score_all (Pose &pose, ScoreFunction const &scorefxn) const
 evaluate rama score for each (protein) residue and store that score in the pose.energies() object More...
 
void write_rama_score_all (Pose const &pose) const
 
Size n_phi_bins () const
 
Size n_psi_bins () const
 
Real rama_bin_probability_left (core::chemical::AA aa_left, core::chemical::AA aa_center, Real phi, Real psi) const
 
Real rama_bin_probability_right (core::chemical::AA aa_center, core::chemical::AA aa_right, Real phi, Real psi) const
 
Real minimum_sampling_probability () const
 
utility::vector1< Real > const & left_cdf (core::chemical::AA aa_left, core::chemical::AA aa_center) const
 
utility::vector1< Real > const & right_cdf (core::chemical::AA aa_center, core::chemical::AA aa_right) const
 
utility::vector1< Real > const & left_cdf_for_torsion_bin (chemical::AA aa_left, chemical::AA aa_center, conformation::ppo_torsion_bin) const
 
utility::vector1< Real > const & right_cdf_for_torsion_bin (chemical::AA aa_center, chemical::AA aa_right, conformation::ppo_torsion_bin) const
 

Private Member Functions

void read_rama ()
 
void initialize_rama_sampling_tables ()
 
void init_rama_sampling_table (const conformation::ppo_torsion_bin torsion_bin, ObjexxFCL::FArray4D< Real > const &ram_probability, ObjexxFCL::FArray2D< utility::vector1< Real > > &cdf, ObjexxFCL::FArray3D< utility::vector1< Real > > &cdf_by_torsion_bin, ObjexxFCL::FArray3D< Size > &n_valid_pp_bins_by_ppo_torbin) const
 
void draw_random_phi_psi_from_cdf (utility::vector1< Real > const &cdf, Real &phi, Real &psi) const
 

Private Attributes

ObjexxFCL::FArray3D< Realram_energ_
 
ObjexxFCL::FArray1D< Realram_entropy_
 
ObjexxFCL::FArray4D< Realram_energ_left_
 
ObjexxFCL::FArray2D< Realram_entropy_left_
 
ObjexxFCL::FArray4D< Realram_energ_right_
 
ObjexxFCL::FArray2D< Realram_entropy_right_
 
Real const rama_score_limit_
 
ObjexxFCL::FArray4D< Realleft_ram_probabil_
 
ObjexxFCL::FArray4D< Realright_ram_probabil_
 
ObjexxFCL::FArray2D< utility::vector1< Real > > left_cdf_
 
ObjexxFCL::FArray3D< utility::vector1< Real > > left_cdf_by_torsion_bin_
 
ObjexxFCL::FArray3D< Sizen_valid_left_pp_bins_by_ppo_torbin_
 
ObjexxFCL::FArray2D< utility::vector1< Real > > right_cdf_
 
ObjexxFCL::FArray3D< utility::vector1< Real > > right_cdf_by_torsion_bin_
 
ObjexxFCL::FArray3D< Sizen_valid_right_pp_bins_by_ppo_torbin_
 

Static Private Attributes

static int const n_phi_ = 36
 
static int const n_psi_ = 36
 
static Real const binw_
 
static int const n_aa_ = 20
 
static int const nullaa = 21
 
static Real const rama_sampling_thold_
 

Member Typedef Documentation

◆ AA

◆ Pose

Constructor & Destructor Documentation

◆ Ramachandran2B()

core::scoring::Ramachandran2B::Ramachandran2B ( )

References read_rama().

◆ ~Ramachandran2B()

core::scoring::Ramachandran2B::~Ramachandran2B ( )
overridedefault

Member Function Documentation

◆ draw_random_phi_psi_from_cdf()

void core::scoring::Ramachandran2B::draw_random_phi_psi_from_cdf ( utility::vector1< Real > const &  cdf,
Real phi,
Real psi 
) const
private

◆ eval_rama_score_all()

void core::scoring::Ramachandran2B::eval_rama_score_all ( pose::Pose pose,
ScoreFunction const &  scorefxn 
) const

◆ eval_rama_score_residue() [1/6]

Real core::scoring::Ramachandran2B::eval_rama_score_residue ( AA const  res_aa,
Real const  phi,
Real const  psi 
) const

◆ eval_rama_score_residue() [2/6]

void core::scoring::Ramachandran2B::eval_rama_score_residue ( AA const  res_aa,
Real const  phi,
Real const  psi,
Real rama,
Real drama_dphi,
Real drama_dpsi 
) const

◆ eval_rama_score_residue() [3/6]

void core::scoring::Ramachandran2B::eval_rama_score_residue ( conformation::Residue const &  res,
chemical::AA const  left_aa,
chemical::AA const  right_aa,
Real rama,
Real drama_dphi,
Real drama_dpsi 
) const

◆ eval_rama_score_residue() [4/6]

void core::scoring::Ramachandran2B::eval_rama_score_residue ( conformation::Residue const &  res,
Real rama,
Real drama_dphi,
Real drama_dpsi 
) const

◆ eval_rama_score_residue() [5/6]

Real core::scoring::Ramachandran2B::eval_rama_score_residue ( Real  phi,
Real  psi,
chemical::AA const  res,
chemical::AA const  left_aa,
chemical::AA const  right_aa 
) const

◆ eval_rama_score_residue() [6/6]

Real core::scoring::Ramachandran2B::eval_rama_score_residue ( Real  phi,
Real  psi,
chemical::AA const  res,
chemical::AA const  left_aa,
chemical::AA const  right_aa,
Real drama_dphi,
Real drama_dpsi 
) const

References RamaE(), RamaE_Lower(), and RamaE_Upper().

◆ get_entries_per_torsion_bin_left()

void core::scoring::Ramachandran2B::get_entries_per_torsion_bin_left ( AA const  left_aa,
AA const  pos_aa,
std::map< conformation::ppo_torsion_bin, core::Size > &  tb_frequencies 
) const

◆ get_entries_per_torsion_bin_right()

void core::scoring::Ramachandran2B::get_entries_per_torsion_bin_right ( AA const  pos_aa,
AA const  right_aa,
std::map< conformation::ppo_torsion_bin, core::Size > &  tb_frequencies 
) const

◆ IdealizeRamaEnergy()

void core::scoring::Ramachandran2B::IdealizeRamaEnergy ( Real const  phi,
Real const  psi,
Real rama,
Real drama_dphi,
Real drama_dpsi,
Real const  entropy,
ObjexxFCL::FArray2A< Real > const &  rama_for_res 
) const

◆ init_rama_sampling_table()

void core::scoring::Ramachandran2B::init_rama_sampling_table ( const conformation::ppo_torsion_bin  torsion_bin,
ObjexxFCL::FArray4D< Real > const &  ram_probability,
ObjexxFCL::FArray2D< utility::vector1< Real > > &  cdf,
ObjexxFCL::FArray3D< utility::vector1< Real > > &  cdf_by_torsion_bin,
ObjexxFCL::FArray3D< Size > &  n_valid_pp_bins_by_ppo_torbin 
) const
private

Compute the cumulative distribution function for a particular phi/psi/omega torsion bin over all amino-acid pairs and store the result in the cdf (so long as torsion_bin is ppo_torbin_X) and the cdf_by_torsion_bin talbes, and store a count of the number of valid phi/psi bins in the n_valid_pp_bins_by_ppo_torbin table. A phi/psi bin is valid if its probability is greater than rama_sampling_thold_ and if it falls within the input torsion_bin (as answered by core::conformation::get_torsion_bin)

References binw_, core::conformation::get_torsion_bin(), n_aa_, n_phi_, n_psi_, core::conformation::ppo_torbin_X, and rama_sampling_thold_.

Referenced by initialize_rama_sampling_tables().

◆ initialize_rama_sampling_tables()

void core::scoring::Ramachandran2B::initialize_rama_sampling_tables ( )
private

◆ left_cdf()

utility::vector1< Real > const & core::scoring::Ramachandran2B::left_cdf ( core::chemical::AA  aa_left,
core::chemical::AA  aa_center 
) const

References left_cdf_.

◆ left_cdf_for_torsion_bin()

utility::vector1< Real > const & core::scoring::Ramachandran2B::left_cdf_for_torsion_bin ( chemical::AA  aa_left,
chemical::AA  aa_center,
conformation::ppo_torsion_bin  torsion_bin 
) const

◆ minimum_sampling_probability()

Real core::scoring::Ramachandran2B::minimum_sampling_probability ( ) const

References rama_sampling_thold_.

◆ n_phi_bins()

Size core::scoring::Ramachandran2B::n_phi_bins ( ) const

References n_phi_.

◆ n_psi_bins()

Size core::scoring::Ramachandran2B::n_psi_bins ( ) const

References n_psi_.

◆ rama_bin_probability_left()

Real core::scoring::Ramachandran2B::rama_bin_probability_left ( core::chemical::AA  aa_left,
core::chemical::AA  aa_center,
Real  phi,
Real  psi 
) const

References binw_, and left_ram_probabil_.

◆ rama_bin_probability_right()

Real core::scoring::Ramachandran2B::rama_bin_probability_right ( core::chemical::AA  aa_center,
core::chemical::AA  aa_right,
Real  phi,
Real  psi 
) const

References binw_, and right_ram_probabil_.

◆ RamaE() [1/3]

Real core::scoring::Ramachandran2B::RamaE ( conformation::Residue const &  rsd) const

◆ RamaE() [2/3]

Real core::scoring::Ramachandran2B::RamaE ( conformation::Residue const &  rsd,
Real drama_dphi,
Real drama_dpsi 
) const

◆ RamaE() [3/3]

Real core::scoring::Ramachandran2B::RamaE ( Real  phi,
Real  psi,
chemical::AA const &  rsd,
Real drama_dphi,
Real drama_dpsi 
) const

◆ RamaE_Lower() [1/4]

Real core::scoring::Ramachandran2B::RamaE_Lower ( conformation::Residue const &  rsd,
chemical::AA const &  neighbor 
) const

◆ RamaE_Lower() [2/4]

Real core::scoring::Ramachandran2B::RamaE_Lower ( conformation::Residue const &  rsd,
chemical::AA const &  neighbor,
Real drama_dphi,
Real drama_dpsi 
) const

◆ RamaE_Lower() [3/4]

Real core::scoring::Ramachandran2B::RamaE_Lower ( Real  phi,
Real  psi,
chemical::AA const &  rsd,
chemical::AA const &  neighbor 
) const

References RamaE_Lower().

◆ RamaE_Lower() [4/4]

Real core::scoring::Ramachandran2B::RamaE_Lower ( Real  phi,
Real  psi,
chemical::AA const &  rsd,
chemical::AA const &  neighbor,
Real drama_dphi,
Real drama_dpsi 
) const

◆ RamaE_Upper() [1/4]

Real core::scoring::Ramachandran2B::RamaE_Upper ( conformation::Residue const &  rsd,
chemical::AA const &  neighbor 
) const

◆ RamaE_Upper() [2/4]

Real core::scoring::Ramachandran2B::RamaE_Upper ( conformation::Residue const &  rsd,
chemical::AA const &  neighbor,
Real drama_dphi,
Real drama_dpsi 
) const

◆ RamaE_Upper() [3/4]

Real core::scoring::Ramachandran2B::RamaE_Upper ( Real  phi,
Real  psi,
chemical::AA const &  rsd,
chemical::AA const &  neighbor 
) const

References RamaE_Upper().

◆ RamaE_Upper() [4/4]

Real core::scoring::Ramachandran2B::RamaE_Upper ( Real  phi,
Real  psi,
chemical::AA const &  rsd,
chemical::AA const &  neighbor,
Real drama_dphi,
Real drama_dpsi 
) const

◆ random_phipsi_from_rama_by_torsion_bin_left()

void core::scoring::Ramachandran2B::random_phipsi_from_rama_by_torsion_bin_left ( AA const  left_aa,
AA const  pos_aa,
Real phi,
Real psi,
conformation::ppo_torsion_bin const  torsion_bin 
) const

function for torsion-bin specific but otherwise random phi/psi angles

Author
Amelie Stein

Sample phi/psi torsions with probabilities proportionate to their Ramachandran probabilities – this version performs lookup restricted to specified torsion bins based on random_phipsi_from_rama and has the same issue for parallel running

Author
Amelie Stein (ameli.nosp@m.e.st.nosp@m.ein@u.nosp@m.csf..nosp@m.edu)
Date
Fri May 11 15:52:01 PDT 2012

returns a random phi/psi combination within the given torsion bin – WARNING: this will only work for the torsion bins that are currently implemented

References draw_random_phi_psi_from_cdf(), and left_cdf_by_torsion_bin_.

Referenced by protocols::loops::loop_closure::kinematic_closure::NeighborDependentTabooSamplingKinematicPerturber::get_random_phi_psi_for_residue().

◆ random_phipsi_from_rama_by_torsion_bin_right()

void core::scoring::Ramachandran2B::random_phipsi_from_rama_by_torsion_bin_right ( AA const  pos_aa,
AA const  right_aa,
Real phi,
Real psi,
conformation::ppo_torsion_bin const  torsion_bin 
) const

◆ random_phipsi_from_rama_left()

void core::scoring::Ramachandran2B::random_phipsi_from_rama_left ( AA const  left_aa,
AA const  pos_aa,
Real phi,
Real psi 
) const

pick a phi/psi pair chosen from the rama2b distribution so that the most commonly observed phi/psi pairs are chosen at higher probability than the least commonly observed pairs; use the phi/psi distribution for the central aa (the pos aa) based on its "left" (n-terminal) neighbor's amino acid type.

Sample phi/psi torsions with probabilities proportionate to their Ramachandran probabilities Note – this function had previously required that the option loops::nonpivot_torsion_sampling be active. This function now performs a just-in-time check to initialize these tables the first time they are requested – To properly multi-thread this code, the function should nab a mutex so that no two threads try to execute the code at once.

References draw_random_phi_psi_from_cdf(), and left_cdf_.

Referenced by protocols::loops::loop_closure::kinematic_closure::NeighborDependentTorsionSamplingKinematicPerturber::perturb_chain().

◆ random_phipsi_from_rama_right()

void core::scoring::Ramachandran2B::random_phipsi_from_rama_right ( AA const  pos_aa,
AA const  right_aa,
Real phi,
Real psi 
) const

pick a phi/psi pair chosen from the rama2b distribution so that the most commonly observed phi/psi pairs are chosen at higher probability than the least commonly observed pairs; use the phi/psi distribution for the central aa (the pos aa) based on its "right" (c-terminal) neighbor's amino acid type.

Sample phi/psi torsions with probabilities proportionate to their Ramachandran probabilities Note – this function had previously required that the option loops::nonpivot_torsion_sampling be active. This function now performs a just-in-time check to initialize these tables the first time they are requested – To properly multi-thread this code, the function should nab a mutex so that no two threads try to execute the code at once.

References draw_random_phi_psi_from_cdf(), and right_cdf_.

Referenced by protocols::loops::loop_closure::kinematic_closure::NeighborDependentTorsionSamplingKinematicPerturber::perturb_chain().

◆ read_rama()

void core::scoring::Ramachandran2B::read_rama ( )
private

◆ right_cdf()

utility::vector1< Real > const & core::scoring::Ramachandran2B::right_cdf ( core::chemical::AA  aa_center,
core::chemical::AA  aa_right 
) const

References right_cdf_.

◆ right_cdf_for_torsion_bin()

utility::vector1< Real > const & core::scoring::Ramachandran2B::right_cdf_for_torsion_bin ( chemical::AA  aa_center,
chemical::AA  aa_right,
conformation::ppo_torsion_bin  torsion_bin 
) const

◆ write_rama_score_all()

void core::scoring::Ramachandran2B::write_rama_score_all ( Pose const &  pose) const

Member Data Documentation

◆ binw_

Real const core::scoring::Ramachandran2B::binw_
staticprivate

◆ left_cdf_

ObjexxFCL::FArray2D< utility::vector1< Real > > core::scoring::Ramachandran2B::left_cdf_
private

◆ left_cdf_by_torsion_bin_

ObjexxFCL::FArray3D< utility::vector1< Real > > core::scoring::Ramachandran2B::left_cdf_by_torsion_bin_
private

◆ left_ram_probabil_

ObjexxFCL::FArray4D< Real > core::scoring::Ramachandran2B::left_ram_probabil_
private

◆ n_aa_

int const core::scoring::Ramachandran2B::n_aa_ = 20
staticprivate

◆ n_phi_

int const core::scoring::Ramachandran2B::n_phi_ = 36
staticprivate

◆ n_psi_

int const core::scoring::Ramachandran2B::n_psi_ = 36
staticprivate

◆ n_valid_left_pp_bins_by_ppo_torbin_

ObjexxFCL::FArray3D< Size > core::scoring::Ramachandran2B::n_valid_left_pp_bins_by_ppo_torbin_
private

◆ n_valid_right_pp_bins_by_ppo_torbin_

ObjexxFCL::FArray3D< Size > core::scoring::Ramachandran2B::n_valid_right_pp_bins_by_ppo_torbin_
private

◆ nullaa

int const core::scoring::Ramachandran2B::nullaa = 21
staticprivate

Referenced by read_rama().

◆ ram_energ_

ObjexxFCL::FArray3D< Real > core::scoring::Ramachandran2B::ram_energ_
private

◆ ram_energ_left_

ObjexxFCL::FArray4D< Real > core::scoring::Ramachandran2B::ram_energ_left_
private

Referenced by RamaE_Lower(), and read_rama().

◆ ram_energ_right_

ObjexxFCL::FArray4D< Real > core::scoring::Ramachandran2B::ram_energ_right_
private

Referenced by RamaE_Upper(), and read_rama().

◆ ram_entropy_

ObjexxFCL::FArray1D< Real > core::scoring::Ramachandran2B::ram_entropy_
private

◆ ram_entropy_left_

ObjexxFCL::FArray2D< Real > core::scoring::Ramachandran2B::ram_entropy_left_
private

Referenced by RamaE_Lower(), and read_rama().

◆ ram_entropy_right_

ObjexxFCL::FArray2D< Real > core::scoring::Ramachandran2B::ram_entropy_right_
private

Referenced by RamaE_Upper(), and read_rama().

◆ rama_sampling_thold_

Real const core::scoring::Ramachandran2B::rama_sampling_thold_
staticprivate

◆ rama_score_limit_

Real const core::scoring::Ramachandran2B::rama_score_limit_
private

Referenced by IdealizeRamaEnergy().

◆ right_cdf_

ObjexxFCL::FArray2D< utility::vector1< Real > > core::scoring::Ramachandran2B::right_cdf_
private

◆ right_cdf_by_torsion_bin_

ObjexxFCL::FArray3D< utility::vector1< Real > > core::scoring::Ramachandran2B::right_cdf_by_torsion_bin_
private

◆ right_ram_probabil_

ObjexxFCL::FArray4D< Real > core::scoring::Ramachandran2B::right_ram_probabil_
private

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