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

#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< Realram_probabil_
 
static ObjexxFCL::FArray4D_int ram_counts_
 
static ObjexxFCL::FArray4D< Realram_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< Realram_entropy_
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::scoring::Ramachandran::Ramachandran ( )

References option.

core::scoring::Ramachandran::Ramachandran ( std::string const &  rama_map_filename,
bool  use_bicubic_interpolation 
)
core::scoring::Ramachandran::~Ramachandran ( )
virtual

Member Function Documentation

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
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
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
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
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.

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

References core::chemical::get_L_equivalent().

core::Size core::scoring::Ramachandran::get_torsion_bin_index ( char  torsion_bin) const
void core::scoring::Ramachandran::init_rama_sampling_table ( char const  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
void core::scoring::Ramachandran::init_uniform_sampling_table ( ) const
private

References j, and torsion().

bool core::scoring::Ramachandran::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.

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

References core::chemical::is_canonical_D_aa().

bool core::scoring::Ramachandran::is_normally_connected ( conformation::Residue const &  res) const
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

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 numeric::random::random_range(), and numeric::random::uniform().

void core::scoring::Ramachandran::read_rama ( std::string const &  rama_map_filename,
bool  use_bicubic_interpolation 
)
private
void core::scoring::Ramachandran::read_rama_map_file ( utility::io::izstream iunit)
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

Member Data Documentation

Real const core::scoring::R::binw_
staticprivate
int const core::scoring::Ramachandran::n_aa_ = 20
staticprivate
int const core::scoring::Ramachandran::n_phi_ = 36
staticprivate
int const core::scoring::Ramachandran::n_psi_ = 36
staticprivate
ObjexxFCL::FArray4D_int core::scoring::R::ram_counts_
staticprivate
ObjexxFCL::FArray4D< Real > core::scoring::R::ram_energ_
staticprivate
ObjexxFCL::FArray2D< Real > core::scoring::R::ram_entropy_
staticprivate
ObjexxFCL::FArray4D< Real > core::scoring::R::ram_probabil_
staticprivate
utility::vector1< numeric::interpolation::spline::BicubicSpline > core::scoring::Ramachandran::rama_energy_splines_
private
bool core::scoring::R::rama_initialized_
staticprivate
Real const core::scoring::R::rama_sampling_factor_
staticprivate
utility::vector1< utility::vector1< utility::vector1< Real > > > core::scoring::Ramachandran::rama_sampling_table_
mutableprivate
utility::vector1< utility::vector1< utility::vector1< utility::vector1< Real > > > > core::scoring::Ramachandran::rama_sampling_table_by_torsion_bin_
mutableprivate
Real const core::scoring::R::rama_sampling_thold_
staticprivate
utility::vector1< utility::vector1< utility::vector1< Real > > > core::scoring::Ramachandran::uniform_sampling_table_
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.


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