![]() |
Rosetta Core
2014.16.56682
|
#include <Ramachandran.hh>
Public Types | |
| typedef pose::Pose | Pose |
| typedef chemical::AA | AA |
Public Member Functions | |
| Ramachandran () | |
| Ramachandran (std::string const &rama_map_filename, bool use_bicubic_interpolation) | |
| virtual | ~Ramachandran () |
| bool | is_canonical_d_aminoacid (AA const res_aa) const |
| Returns true if passed a core::chemical::AA corresponding to a D-amino acid, and false otherwise. More... | |
| AA | get_l_equivalent (AA const d_aa) const |
| When passed a d-amino acid, returns the l-equivalent. Returns aa_unk otherwise. More... | |
| Real | eval_rama_score_residue (conformation::Residue const &res) const |
| 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, 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 | eval_rama_score_residue (bool use_bicubic_interpolation, bool rama_not_squared, AA const res_aa, Real const phi, Real const psi, Real &rama, Real &drama_dphi, Real &drama_dpsi) const |
| void | eval_rama_score_residue_nonstandard_connection (core::pose::Pose const &mypose, conformation::Residue const &res, Real &rama, Real &drama_dphi, Real &drama_dpsi) const |
| Function to evaluate the rama score for residues whose connection partners are not necessarily adjacent in linear sequence (e.g. for backbone-cyclized peptides). Note that this assumes that rama is being used only for scoring alpha-amino acids (L- or D-). More... | |
| void | random_phipsi_from_rama (AA const res_aa, Real &phi, Real &psi) const |
| void | uniform_phipsi_from_allowed_rama (AA const res_aa, Real &phi, Real &psi) const |
| Return a phi/psi pair picked uniformly from the regions of rama space with nonzero weight. Sampling with this method will not give a rama distribution; it will give a flat distribution in only the allowed regions of rama space. More... | |
| bool | phipsi_in_allowed_rama (AA const res_aa, Real phi, Real psi) const |
| Return true if the given phi/psi pair is in the allowed space sampled by uniform_phipsi_from_allowed_rama. More... | |
| bool | phipsi_in_forbidden_rama (AA const res_aa, Real phi, Real psi) const |
| Return false if the given phi/psi pair is in the allowed space sampled by uniform_phipsi_from_allowed_rama. More... | |
| void | random_phipsi_from_rama_by_torsion_bin (AA const res_aa, Real &phi, Real &psi, char const torsion_bin) const |
| functions for torsion-bin specific but otherwise random phi/psi angles More... | |
| core::Size | get_torsion_bin_index (char torsion_bin) const |
| void | init_rama_sampling_tables_by_torsion_bin () const |
| void | get_entries_per_torsion_bin (AA const res_aa, std::map< char, 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 |
| void | eval_procheck_rama (Pose const &a_pose, Real &favorable, Real &allowed, Real &generous) const |
| bool | is_normally_connected (conformation::Residue const &res) const |
| Function to do a quick check that the upper connection is seqpos+1 and the lower connection is seqpos-1. Returns true if this is so, false otherwise. More... | |
Private Member Functions | |
| void | read_rama (std::string const &rama_map_filename, bool use_bicubic_interpolation) |
| void | read_rama_map_file (utility::io::izstream *iunit) |
| void | init_rama_sampling_table (char const torsion_bin) const |
| void | init_uniform_sampling_table () const |
Private Attributes | |
| utility::vector1 < numeric::interpolation::spline::BicubicSpline > | rama_energy_splines_ |
| utility::vector1 < utility::vector1 < utility::vector1< Real > > > | rama_sampling_table_ |
| utility::vector1 < utility::vector1 < utility::vector1 < utility::vector1< Real > > > > | rama_sampling_table_by_torsion_bin_ |
| utility::vector1 < utility::vector1 < utility::vector1< Real > > > | uniform_sampling_table_ |
| Table containing a uniform distribution of allowed torsion bins. More... | |
Static Private Attributes | |
| static bool | rama_initialized_ |
| static ObjexxFCL::FArray4D< Real > | ram_probabil_ |
| static ObjexxFCL::FArray4D_int | ram_counts_ |
| static ObjexxFCL::FArray4D< Real > | ram_energ_ |
| static int const | n_phi_ = 36 |
| static int const | n_psi_ = 36 |
| static Real const | binw_ |
| static Real const | rama_sampling_thold_ |
| static Real const | rama_sampling_factor_ |
| static int const | n_aa_ = 20 |
| static ObjexxFCL::FArray2D< Real > | ram_entropy_ |
| core::scoring::Ramachandran::Ramachandran | ( | ) |
References option.
| core::scoring::Ramachandran::Ramachandran | ( | std::string const & | rama_map_filename, |
| bool | use_bicubic_interpolation | ||
| ) |
|
virtual |
| void core::scoring::Ramachandran::eval_procheck_rama | ( | Pose const & | a_pose, |
| Real & | favorable, | ||
| Real & | allowed, | ||
| Real & | generous | ||
| ) | const |
| void core::scoring::Ramachandran::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::pose::Pose::energies(), core::scoring::ScoreFunction::has_zero_weight(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_terminus(), core::conformation::Residue::is_virtual_residue(), core::scoring::rama, core::pose::Pose::residue(), and core::pose::Pose::total_residue().
| Real core::scoring::Ramachandran::eval_rama_score_residue | ( | conformation::Residue const & | res | ) | const |
| Real core::scoring::Ramachandran::eval_rama_score_residue | ( | AA const | res_aa, |
| Real const | phi, | ||
| Real const | psi | ||
| ) | const |
References core::scoring::rama.
| void core::scoring::Ramachandran::eval_rama_score_residue | ( | conformation::Residue const & | res, |
| Real & | rama, | ||
| Real & | drama_dphi, | ||
| Real & | drama_dpsi | ||
| ) | const |
References core::conformation::Residue::aa(), core::chemical::aa_unk, core::conformation::Residue::backbone_aa(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_terminus(), core::conformation::Residue::is_virtual_residue(), core::conformation::Residue::mainchain_torsion(), and nonnegative_principal_angle_degrees().
| void core::scoring::Ramachandran::eval_rama_score_residue | ( | AA const | res_aa, |
| Real const | phi, | ||
| Real const | psi, | ||
| Real & | rama, | ||
| Real & | drama_dphi, | ||
| Real & | drama_dpsi | ||
| ) | const |
References option.
| void core::scoring::Ramachandran::eval_rama_score_residue | ( | bool | use_bicubic_interpolation, |
| bool | rama_not_squared, | ||
| AA const | res_aa, | ||
| Real const | phi, | ||
| Real const | psi, | ||
| Real & | rama, | ||
| Real & | drama_dphi, | ||
| Real & | drama_dpsi | ||
| ) | const |
References bilinearly_interpolated(), core::scoring::rama, and ss_type.
| void core::scoring::Ramachandran::eval_rama_score_residue_nonstandard_connection | ( | core::pose::Pose const & | mypose, |
| conformation::Residue const & | res, | ||
| Real & | rama, | ||
| Real & | drama_dphi, | ||
| Real & | drama_dpsi | ||
| ) | const |
Function to evaluate the rama score for residues whose connection partners are not necessarily adjacent in linear sequence (e.g. for backbone-cyclized peptides). Note that this assumes that rama is being used only for scoring alpha-amino acids (L- or D-).
References core::conformation::Residue::aa(), core::chemical::aa_unk, core::conformation::Residue::backbone_aa(), core::conformation::Residue::connection_incomplete(), numeric::dihedral_degrees(), numeric::nonnegative_principal_angle_degrees(), basic::options::option, basic::options::OptionKeys::score::rama_score_nonstandard_connections, core::pose::Pose::residue(), core::conformation::Residue::residue_connect_atom_index(), core::conformation::Residue::residue_connection_conn_id(), core::conformation::Residue::residue_connection_partner(), and core::conformation::Residue::xyz().
Referenced by core::scoring::methods::RamachandranEnergy::eval_dof_derivative(), core::scoring::methods::RamachandranEnergy::eval_residue_dof_derivative(), and core::scoring::methods::RamachandranEnergy::residue_energy().
| void core::scoring::Ramachandran::get_entries_per_torsion_bin | ( | AA const | res_aa, |
| std::map< char, core::Size > & | tb_frequencies | ||
| ) | const |
| core::chemical::AA core::scoring::Ramachandran::get_l_equivalent | ( | AA const | d_aa | ) | const |
When passed a d-amino acid, returns the l-equivalent. Returns aa_unk otherwise.
References core::chemical::get_L_equivalent().
| core::Size core::scoring::Ramachandran::get_torsion_bin_index | ( | char | torsion_bin | ) | const |
|
private |
Initialize the table holding the sample-able torsion space for each residue with each torsion given indices proportionate to its probability
References core::conformation::get_torsion_bin(), j, core::io::serialization::size(), ss_type, and torsion().
| void core::scoring::Ramachandran::init_rama_sampling_tables_by_torsion_bin | ( | ) | const |
|
private |
Returns true if passed a core::chemical::AA corresponding to a D-amino acid, and false otherwise.
References core::chemical::is_canonical_D_aa().
| bool core::scoring::Ramachandran::is_normally_connected | ( | conformation::Residue const & | res | ) | const |
Function to do a quick check that the upper connection is seqpos+1 and the lower connection is seqpos-1. Returns true if this is so, false otherwise.
References core::conformation::Residue::connection_incomplete(), basic::options::option, basic::options::OptionKeys::score::rama_score_nonstandard_connections, core::conformation::Residue::residue_connection_partner(), and core::conformation::Residue::seqpos().
Referenced by core::scoring::methods::RamachandranEnergy::eval_dof_derivative(), core::scoring::methods::RamachandranEnergy::eval_residue_dof_derivative(), and core::scoring::methods::RamachandranEnergy::residue_energy().
| bool core::scoring::Ramachandran::phipsi_in_allowed_rama | ( | AA const | res_aa, |
| Real | phi, | ||
| Real | psi | ||
| ) | const |
Return true if the given phi/psi pair is in the allowed space sampled by uniform_phipsi_from_allowed_rama.
References numeric::nonnegative_principal_angle_degrees().
| bool core::scoring::Ramachandran::phipsi_in_forbidden_rama | ( | AA const | res_aa, |
| Real | phi, | ||
| Real | psi | ||
| ) | const |
Return false if the given phi/psi pair is in the allowed space sampled by uniform_phipsi_from_allowed_rama.
| void core::scoring::Ramachandran::random_phipsi_from_rama | ( | AA const | res_aa, |
| Real & | phi, | ||
| Real & | psi | ||
| ) | const |
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 numeric::random::random_range(), and numeric::random::uniform().
| void core::scoring::Ramachandran::random_phipsi_from_rama_by_torsion_bin | ( | AA const | res_aa, |
| Real & | phi, | ||
| Real & | psi, | ||
| char const | torsion_bin | ||
| ) | const |
functions 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 numeric::random::random_range(), and numeric::random::uniform().
|
private |
|
private |
| void core::scoring::Ramachandran::uniform_phipsi_from_allowed_rama | ( | AA const | res_aa, |
| Real & | phi, | ||
| Real & | psi | ||
| ) | const |
Return a phi/psi pair picked uniformly from the regions of rama space with nonzero weight. Sampling with this method will not give a rama distribution; it will give a flat distribution in only the allowed regions of rama space.
References numeric::random::random_range(), random_range(), uniform(), and numeric::random::uniform().
| void core::scoring::Ramachandran::write_rama_score_all | ( | Pose const & | pose | ) | const |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
staticprivate |
|
staticprivate |
|
mutableprivate |
|
mutableprivate |
|
staticprivate |
|
mutableprivate |
Table containing a uniform distribution of allowed torsion bins.
The indices are: table[amino acid][list][torsion]. The amino acid index comes from the AA enum and probably just goes from 1-20. The list index is what should be randomly chosen to produce uniform sampling. The torsion indices of 1 and 2 give the phi and psi bins, respectively.
1.8.7