Rosetta
|
#include <Ramachandran2B.hh>
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< Real > | ram_energ_ |
ObjexxFCL::FArray1D< Real > | ram_entropy_ |
ObjexxFCL::FArray4D< Real > | ram_energ_left_ |
ObjexxFCL::FArray2D< Real > | ram_entropy_left_ |
ObjexxFCL::FArray4D< Real > | ram_energ_right_ |
ObjexxFCL::FArray2D< Real > | ram_entropy_right_ |
Real const | rama_score_limit_ |
ObjexxFCL::FArray4D< Real > | left_ram_probabil_ |
ObjexxFCL::FArray4D< Real > | right_ram_probabil_ |
ObjexxFCL::FArray2D< utility::vector1< Real > > | left_cdf_ |
ObjexxFCL::FArray3D< utility::vector1< Real > > | left_cdf_by_torsion_bin_ |
ObjexxFCL::FArray3D< Size > | n_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< Size > | n_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_ |
core::scoring::Ramachandran2B::Ramachandran2B | ( | ) |
References read_rama().
|
overridedefault |
|
private |
References binw_, n_phi_, n_psi_, and core::scoring::rg.
Referenced by random_phipsi_from_rama_by_torsion_bin_left(), random_phipsi_from_rama_by_torsion_bin_right(), random_phipsi_from_rama_left(), and random_phipsi_from_rama_right().
void core::scoring::Ramachandran2B::eval_rama_score_all | ( | pose::Pose & | pose, |
ScoreFunction const & | scorefxn | ||
) | const |
evaluate rama score for each (protein) residue and store that score in the pose.energies() object
References core::conformation::Residue::aa(), core::pose::Pose::energies(), eval_rama_score_residue(), core::scoring::ScoreFunction::has_zero_weight(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_terminus(), core::conformation::Residue::name(), core::scoring::Energies::onebody_energies(), core::scoring::rama, core::pose::Pose::residue(), core::pose::Pose::size(), and core::scoring::T().
Real core::scoring::Ramachandran2B::eval_rama_score_residue | ( | AA const | res_aa, |
Real const | phi, | ||
Real const | psi | ||
) | const |
References core::scoring::rama.
Referenced by core::energy_methods::RamachandranEnergy2B::eval_dof_derivative(), eval_rama_score_all(), eval_rama_score_residue(), and RamaE().
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 |
References IdealizeRamaEnergy(), n_phi_, ram_energ_, ram_entropy_, and core::scoring::rama.
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 |
void core::scoring::Ramachandran2B::eval_rama_score_residue | ( | conformation::Residue const & | res, |
Real & | rama, | ||
Real & | drama_dphi, | ||
Real & | drama_dpsi | ||
) | const |
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 |
References eval_rama_score_residue().
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().
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 |
References n_valid_left_pp_bins_by_ppo_torbin_, core::conformation::ppo_torbin_A, core::conformation::ppo_torbin_B, core::conformation::ppo_torbin_E, core::conformation::ppo_torbin_G, and core::conformation::ppo_torbin_X.
Referenced by protocols::loops::loop_closure::kinematic_closure::NeighborDependentTabooSamplingKinematicPerturber::get_entries_per_torsion_bin().
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 |
References n_valid_right_pp_bins_by_ppo_torbin_, core::conformation::ppo_torbin_A, core::conformation::ppo_torbin_B, core::conformation::ppo_torbin_E, core::conformation::ppo_torbin_G, and core::conformation::ppo_torbin_X.
Referenced by protocols::loops::loop_closure::kinematic_closure::NeighborDependentTabooSamplingKinematicPerturber::get_entries_per_torsion_bin().
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 |
References binw_, n_phi_, core::scoring::rama, and rama_score_limit_.
Referenced by eval_rama_score_residue(), RamaE_Lower(), and RamaE_Upper().
|
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().
|
private |
References init_rama_sampling_table(), left_cdf_, left_cdf_by_torsion_bin_, left_ram_probabil_, n_valid_left_pp_bins_by_ppo_torbin_, n_valid_right_pp_bins_by_ppo_torbin_, core::conformation::ppo_torbin_A, core::conformation::ppo_torbin_B, core::conformation::ppo_torbin_E, core::conformation::ppo_torbin_G, core::conformation::ppo_torbin_X, right_cdf_, right_cdf_by_torsion_bin_, and right_ram_probabil_.
Referenced by read_rama().
utility::vector1< Real > const & core::scoring::Ramachandran2B::left_cdf | ( | core::chemical::AA | aa_left, |
core::chemical::AA | aa_center | ||
) | const |
References left_cdf_.
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 |
References left_cdf_by_torsion_bin_.
Real core::scoring::Ramachandran2B::minimum_sampling_probability | ( | ) | const |
References rama_sampling_thold_.
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_.
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_.
Real core::scoring::Ramachandran2B::RamaE | ( | conformation::Residue const & | rsd | ) | const |
Real core::scoring::Ramachandran2B::RamaE | ( | conformation::Residue const & | rsd, |
Real & | drama_dphi, | ||
Real & | drama_dpsi | ||
) | const |
References core::conformation::Residue::aa(), core::chemical::ResidueTypeBase::has_variant_type(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_terminus(), core::chemical::LOWER_TERMINUS_VARIANT, core::conformation::Residue::mainchain_torsion(), core::scoring::polymeric_termini_incomplete(), RamaE(), core::conformation::Residue::type(), and core::chemical::UPPER_TERMINUS_VARIANT.
Real core::scoring::Ramachandran2B::RamaE | ( | Real | phi, |
Real | psi, | ||
chemical::AA const & | rsd, | ||
Real & | drama_dphi, | ||
Real & | drama_dpsi | ||
) | const |
References eval_rama_score_residue().
Real core::scoring::Ramachandran2B::RamaE_Lower | ( | conformation::Residue const & | rsd, |
chemical::AA const & | neighbor | ||
) | const |
Real core::scoring::Ramachandran2B::RamaE_Lower | ( | conformation::Residue const & | rsd, |
chemical::AA const & | neighbor, | ||
Real & | drama_dphi, | ||
Real & | drama_dpsi | ||
) | const |
References core::conformation::Residue::aa(), core::chemical::ResidueTypeBase::has_variant_type(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_terminus(), core::chemical::LOWER_TERMINUS_VARIANT, core::conformation::Residue::mainchain_torsion(), core::scoring::polymeric_termini_incomplete(), RamaE_Lower(), core::conformation::Residue::type(), and core::chemical::UPPER_TERMINUS_VARIANT.
Real core::scoring::Ramachandran2B::RamaE_Lower | ( | Real | phi, |
Real | psi, | ||
chemical::AA const & | rsd, | ||
chemical::AA const & | neighbor | ||
) | const |
References RamaE_Lower().
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 |
References IdealizeRamaEnergy(), n_phi_, ram_energ_left_, ram_entropy_left_, and core::scoring::rama.
Real core::scoring::Ramachandran2B::RamaE_Upper | ( | conformation::Residue const & | rsd, |
chemical::AA const & | neighbor | ||
) | const |
Real core::scoring::Ramachandran2B::RamaE_Upper | ( | conformation::Residue const & | rsd, |
chemical::AA const & | neighbor, | ||
Real & | drama_dphi, | ||
Real & | drama_dpsi | ||
) | const |
References core::conformation::Residue::aa(), core::chemical::ResidueTypeBase::has_variant_type(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_terminus(), core::chemical::LOWER_TERMINUS_VARIANT, core::conformation::Residue::mainchain_torsion(), core::scoring::polymeric_termini_incomplete(), RamaE_Upper(), core::conformation::Residue::type(), and core::chemical::UPPER_TERMINUS_VARIANT.
Real core::scoring::Ramachandran2B::RamaE_Upper | ( | Real | phi, |
Real | psi, | ||
chemical::AA const & | rsd, | ||
chemical::AA const & | neighbor | ||
) | const |
References RamaE_Upper().
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 |
References IdealizeRamaEnergy(), n_phi_, ram_energ_right_, ram_entropy_right_, and core::scoring::rama.
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
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
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().
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 |
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().
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().
|
private |
References initialize_rama_sampling_tables(), left_ram_probabil_, n_aa_, nullaa, ram_energ_, ram_energ_left_, ram_energ_right_, ram_entropy_, ram_entropy_left_, ram_entropy_right_, right_ram_probabil_, and core::scoring::T().
Referenced by Ramachandran2B().
utility::vector1< Real > const & core::scoring::Ramachandran2B::right_cdf | ( | core::chemical::AA | aa_center, |
core::chemical::AA | aa_right | ||
) | const |
References right_cdf_.
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 |
References right_cdf_by_torsion_bin_.
void core::scoring::Ramachandran2B::write_rama_score_all | ( | Pose const & | pose | ) | const |
|
staticprivate |
|
private |
Referenced by initialize_rama_sampling_tables(), left_cdf(), and random_phipsi_from_rama_left().
|
private |
|
private |
Referenced by initialize_rama_sampling_tables(), rama_bin_probability_left(), and read_rama().
|
staticprivate |
Referenced by init_rama_sampling_table(), and read_rama().
|
staticprivate |
|
staticprivate |
Referenced by draw_random_phi_psi_from_cdf(), init_rama_sampling_table(), and n_psi_bins().
|
private |
Referenced by get_entries_per_torsion_bin_left(), and initialize_rama_sampling_tables().
|
private |
Referenced by get_entries_per_torsion_bin_right(), and initialize_rama_sampling_tables().
|
staticprivate |
Referenced by read_rama().
|
private |
Referenced by eval_rama_score_residue(), and read_rama().
|
private |
Referenced by RamaE_Lower(), and read_rama().
|
private |
Referenced by RamaE_Upper(), and read_rama().
|
private |
Referenced by eval_rama_score_residue(), and read_rama().
|
private |
Referenced by RamaE_Lower(), and read_rama().
|
private |
Referenced by RamaE_Upper(), and read_rama().
|
staticprivate |
Referenced by init_rama_sampling_table(), and minimum_sampling_probability().
|
private |
Referenced by IdealizeRamaEnergy().
|
private |
Referenced by initialize_rama_sampling_tables(), random_phipsi_from_rama_right(), and right_cdf().
|
private |
|
private |
Referenced by initialize_rama_sampling_tables(), rama_bin_probability_right(), and read_rama().