Rosetta
|
#include <PREMultiSet.hh>
Public Types | |
typedef utility::vector1< Vector > | CoordVector |
typedef utility::vector1< std::pair< Real, Vector > > | WeightCoordVector |
typedef utility::fixedsizearray1< Real, 6 > | Vec6 |
typedef utility::vector1< utility::vector1< utility::vector1< Real > > > | RealVector3D |
typedef core::io::nmr::ParaIon | ParaIon |
typedef core::io::nmr::ParaIonOP | ParaIonOP |
typedef core::io::nmr::ParaIonCOP | ParaIonCOP |
Public Member Functions | |
PREMultiSet (utility::vector1< PRESingleSetOP > const &pre_singleset_vec, pose::Pose const &pose, Size const spinlabel_site, std::string const &iontype, Real const weight=1.0) | |
construct PREMultiSet from vector of single datasets, the position of the spinlabel site, the type of paramagnetic ion and the dataset's weight. A default NMRSpinlabel object is created. More... | |
PREMultiSet (utility::vector1< PRESingleSetOP > const &pre_singleset_vec, pose::Pose const &pose, Size const spinlabel_site, std::string const &iontype, NMRSpinlabelOP spinlabel_ptr, Real const weight=1.0) | |
construct PREMultiSet from vector of single datasets, the position of the spinlabel site, the type of paramagnetic ion, an NMRSpinlabel object and the dataset's weight. More... | |
PREMultiSet (utility::vector1< PRESingleSetOP > const &pre_singleset_vec, pose::Pose const &pose, Size const spinlabel_site, std::string const &iontype, NMRGridSearchOP gridsearch_ptr, Real const weight=1.0) | |
construct PREMultiSet from vector of single datasets, the position of the spinlabel site, the type of paramagnetic ion, an NMRGridSearch object and the dataset's weight. More... | |
PREMultiSet (PREMultiSet const &other) | |
copy constructor More... | |
PREMultiSet & | operator= (PREMultiSet const &rhs) |
assignment operator More... | |
~PREMultiSet () | |
destructor More... | |
void | update_spin_coordinates (pose::Pose const &pose) |
updates the spin coordinates every time the pose is changed make sure that this function is called before you call compute_pre_score() More... | |
Real | compute_pre_score_from_point_vector (WeightCoordVector const &points) |
calculates the PRE from a vector of spinlabel atom coordinates using the modified Solomon-Bloembergen (SBMF) equation and returns the weighted PRE score according to the single PRE value weighting scheme More... | |
Real | compute_pre_score_from_single_point (Vector &point, bool opt_sl_pos=false) |
calculates the PRE from a single spinlabel atom position using the simplified Solomon-Bloembergen (SB) equation and returns the weighted PRE score according to the single PRE value weighting scheme More... | |
Real | find_para_ion_position_and_compute_pre_score (pose::Pose const &pose, WeightCoordVector &spinlabel_counts_coords) |
determines the paraion/radical atom position of the spinlabel using a gridsearch or the dummy spinlabel rotamer ensemble and calculates the PRE score using the modified Solomon-Bloembergen (SBMF) or simplified Solomon-Bloembergen (SB) equation More... | |
void | set_atom_derivatives (pose::Pose &pose, WeightCoordVector const &spinlabel_counts_coords) |
calculates and sets the xyz derivative of the PRE single PREs must be calculated in beforehand that's why make sure to call any of the three functions first: compute_pre_score_from_point_vector(), compute_pre_from_single_point() or find_para_ion_position_and_compute_pre_score() More... | |
utility::vector1< PRESingleSetOP > & | get_pre_singleset_vec () |
utility::vector1< PRESingleSetOP > const & | get_pre_singleset_vec () const |
Size | get_total_number_pre () const |
Size | get_number_experiments () const |
Real | get_weight () const |
utility::vector1< Real > const & | get_pre_values () const |
utility::vector1< Real > const & | get_pre_single_weights () const |
ParaIonCOP | get_ion_type () const |
Size | get_spinlabel_site_rsd () const |
NMRSpinlabelOP | get_spinlabel () |
NMRGridSearchOP | get_gridsearch_iterator () |
utility::vector1< utility::vector1< CoordVector > > const & | get_spin_coordinates () const |
NMR_VALUE_AVERAGING_TYPE | get_averaging_type () const |
Real | get_protein_mass () const |
Real | get_temperature () const |
Real | get_tau_r () const |
Real | get_tau_c () const |
Real | get_tau_t () const |
bool | symmetric_pre_calc () const |
Real | get_tau_c_min () const |
Real | get_tau_c_max () const |
bool | optimize_paraion_position () const |
void | set_weight (Real weight) |
void | set_averaging_type (std::string const &type) |
void | set_spinlabel (NMRSpinlabelOP spinlabel_ptr) |
void | set_gridsearch_iterator (NMRGridSearchOP gridsearch_ptr) |
void | set_protein_mass (Real mass) |
void | set_temperature (Real temperature) |
void | set_tau_c (Real tau_c) |
void | set_tau_t (Real tau_t) |
void | set_tau_r (Real tau_r) |
void | set_tau_c_limits (Real tau_c_min, Real tau_c_max) |
void | show (std::ostream &TR) const |
Private Member Functions | |
PREMultiSet () | |
default constructor More... | |
void | deep_copy_pre_singleset_vec (utility::vector1< PRESingleSetOP > const &other_vec) |
void | init_from_pre_singleset_vec (utility::vector1< PRESingleSetOP > const &pre_singleset_vec, pose::Pose const &pose) |
utility function to initialize PREMultiSet More... | |
void | set_exp_default_conditions () |
set protein mass, temperature and correlation times to default values during initialization protein mass = 15kDa, temperature = 298 K More... | |
void | set_default_spinlabel () |
creates MTSL spinlabel as default More... | |
void | register_options () |
register options More... | |
void | init_from_cml () |
void | create_para_ion_from_string (std::string const &iontype) |
Real | calc_theoretical_tau_r () const |
calculate rotational correlation time (in sec) of the protein using the Stokes-Einstein equation and the protein mass (in kDa == kg/mol) More... | |
Real | calc_tau_c () const |
calculate sum of rotational correlation and electron relaxation time i.e. the total correlation time (in sec) More... | |
Real | calc_omega_E (Real const &field_strength) const |
calculate electron spin frequency at given field strength in rad/s More... | |
void | update_r6_S2_values (WeightCoordVector const &spinlabel_counts_coords) |
computes r6 and S2 vectors from given spinlabel atom coordinates and and current spin coordinates More... | |
void | resize_r6_S2_values () |
check if dimensionality of r6 and S2 vectors is consistent with averaging type and resize vectors if not. More... | |
Real | compute_pre_score_from_current_data (bool use_sb=false) |
computes the PRE score using the current r6 and S2 vectors and correlation times @params use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel) More... | |
Real | PRE_DD_prefactor (Real const &gamma_I, Real const &gJ, Real const &S, PRE_RATE_TYPE const &rate_type) const |
calculate the constant prefactor of the dipolar part of the PRE @params gamma_I: gyromagnetic ratio of the nuclear spin (must be provided in rad/(s*T), dimension is 10^6) gJ: electron Lande factor S: total spin quantum number More... | |
Real | PRE_Curie_prefactor (Real const &gamma_I, Real const &gJ, Real const &S, Real const &B0, Real const &T, PRE_RATE_TYPE const &rate_type) const |
calculate the constant prefactor of the Curie part of the PRE @params gamma_I: gyromagnetic ratio of the nuclear spin (must be provided in rad/(s*T), dimension is 10^6) gJ: electron Lande factor S: total spin quantum number B0: magnetic field strength (in Tesla) T: temperature (in Kelvin) More... | |
void | calc_r6_S2 (WeightCoordVector const &spinlabel_counts_coords, CoordVector const &eq_spins_coords, Real &one_over_r6, Real &S2) const |
calculate the ensemble averaged distance <r^-6> and generalized order parameter S2 for a given spinlabel atom - nuclear spin connection vector as used in the SBMF equation @params spinlabel_counts_coords: vector of weights and para ion xyz coordinates of N distinct spinlabel conformers eq_spins_coords: vector of xyz coordinates of nuclear spin(s) that give rise to the observed PRE one_over_r6: averaged distance <r^-6> as return value S2: generalized order parameter S2 as return value More... | |
Real | J_SB (Real const &omega_I, Real const &tau_c, Real const &one_over_r6) const |
spectral density function for the simplified Solomon-Bloembergen (SB) equation More... | |
Real | J_SBMF (Real const &omega_I, Real const &tau_c, Real const &tau_t, Real const &one_over_r6, Real const &S2) const |
spectral density function for the modified Solomon-Bloembergen (SBMF) equation More... | |
Real | R1_Para (Vec6 const ¶ms, Real const &one_over_r6, Real const &S2, Real const &scaling=1.0, bool use_sb=false) const |
calculate the R1 paramagnetic relaxation rate from the dipolar and Curie contribution @params: params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel) More... | |
Real | R2_Para (Vec6 const ¶ms, Real const &one_over_r6, Real const &S2, Real const &scaling=1.0, bool use_sb=false) const |
calculate the R2 paramagnetic relaxation rate from the dipolar and Curie contribution @params: params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel) More... | |
void | calc_dr6_dS2_dXYZ (WeightCoordVector const &spinlabel_counts_coords, CoordVector const &eq_spins_coords, Vector &dr6_dXYZ, Vector &dS2_dXYZ) const |
calculate the xyz derivative of the ensemble averaged distance <r^-6> and the generalized order parameter S2 for a given spinlabel atom - nuclear spin connection vector @params spinlabel_counts_coords: vector of weights and para ion xyz coordinates of N distinct spinlabel conformers eq_spins_coords: vector of xyz coordinates of nuclear spin(s) that give rise to the observed PRE dr6_dXYZ: xyz derivative of <r^-6> as return value dS2_dXYZ: xyz derivative of S2 as return value More... | |
Vector | dJ_dXYZ_SB (Real const &omega_I, Real const &tau_c, Vector const &dr6_dXYZ) const |
xyz derivative of the spectral density function for the simplified Solomon-Bloembergen (SB) equation @params omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) tau_c: correlation time (must be provided in s, typical dimension is 10^-9) dr6_dXYZ: xyz derivative of <r^-6> More... | |
Vector | dJ_dXYZ_SBMF (Real const &omega_I, Real const &tau_c, Real const &tau_t, Real const &one_over_r6, Real const &S2, Vector const &dr6_dXYZ, Vector const &dS2_dXYZ) const |
xyz derivative of the spectral density function for the modified Solomon-Bloembergen (SBMF) equation @params omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) tau_c: correlation time (must be provided in s, typical dimension is 10^-9) tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2 More... | |
Vector | dR1_dXYZ (Vec6 const ¶ms, Real const &one_over_r6, Real const &S2, Vector const &dr6_dXYZ, Vector const &dS2_dXYZ, Real const &scaling=1.0, bool use_sb=false) const |
calculate the xyz derivative of the R1 paramagnetic relaxation rate @params params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2 scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel) More... | |
Vector | dR2_dXYZ (Vec6 const ¶ms, Real const &one_over_r6, Real const &S2, Vector const &dr6_dXYZ, Vector const &dS2_dXYZ, Real const &scaling=1.0, bool use_sb=false) const |
calculate the xyz derivative of the R2 paramagnetic relaxation rate @params params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2 scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel) More... | |
Private Attributes | |
utility::vector1< PRESingleSetOP > | pre_singleset_vec_ |
Size | total_number_pres_ |
Size | number_experiments_ |
Real | weight_ |
utility::vector1< Real > | pre_values_ |
utility::vector1< Real > | pre_single_weights_ |
RealVector3D | one_over_r6_values_ |
RealVector3D | s2_values_ |
ParaIonOP | ion_type_ |
Size | spinlabel_site_rsd_ |
NMRSpinlabelOP | spinlabel_ |
NMRGridSearchOP | gridsearch_iterator_ |
utility::vector1< utility::vector1< CoordVector > > | spin_coordinates_ |
Real | protein_mass_ |
Real | temperature_ |
Real | tau_r_ |
Real | tau_c_ |
Real | tau_t_ |
bool | symmetric_pre_calc_ |
NMR_VALUE_AVERAGING_TYPE | ave_type_ |
Size | nls_repeats_ |
Real | tau_c_min_ |
Real | tau_c_max_ |
bool | opt_para_ion_pos_ |
Friends | |
void | pre_erf_opt_tau (Real const *par, int m_dat, void const *data, Real *fvec, int *) |
pre error function used in the lmmin function to optimize tau More... | |
void | pre_erf_opt_tau_xyz (Real const *par, int m_dat, void const *data, Real *fvec, int *) |
pre error function used in the lmmin function to optimize tau and the para ion position More... | |
typedef utility::vector1< Vector > core::scoring::nmr::pre::PREMultiSet::CoordVector |
typedef utility::vector1< utility::vector1< utility::vector1< Real > > > core::scoring::nmr::pre::PREMultiSet::RealVector3D |
typedef utility::fixedsizearray1< Real, 6 > core::scoring::nmr::pre::PREMultiSet::Vec6 |
typedef utility::vector1< std::pair< Real, Vector > > core::scoring::nmr::pre::PREMultiSet::WeightCoordVector |
core::scoring::nmr::pre::PREMultiSet::PREMultiSet | ( | utility::vector1< PRESingleSetOP > const & | pre_singleset_vec, |
pose::Pose const & | pose, | ||
Size const | spinlabel_site, | ||
std::string const & | iontype, | ||
Real const | weight = 1.0 |
||
) |
construct PREMultiSet from vector of single datasets, the position of the spinlabel site, the type of paramagnetic ion and the dataset's weight. A default NMRSpinlabel object is created.
References create_para_ion_from_string(), init_from_cml(), init_from_pre_singleset_vec(), register_options(), set_default_spinlabel(), and set_exp_default_conditions().
core::scoring::nmr::pre::PREMultiSet::PREMultiSet | ( | utility::vector1< PRESingleSetOP > const & | pre_singleset_vec, |
pose::Pose const & | pose, | ||
Size const | spinlabel_site, | ||
std::string const & | iontype, | ||
NMRSpinlabelOP | spinlabel_ptr, | ||
Real const | weight = 1.0 |
||
) |
construct PREMultiSet from vector of single datasets, the position of the spinlabel site, the type of paramagnetic ion, an NMRSpinlabel object and the dataset's weight.
References create_para_ion_from_string(), init_from_cml(), init_from_pre_singleset_vec(), register_options(), and set_exp_default_conditions().
core::scoring::nmr::pre::PREMultiSet::PREMultiSet | ( | utility::vector1< PRESingleSetOP > const & | pre_singleset_vec, |
pose::Pose const & | pose, | ||
Size const | spinlabel_site, | ||
std::string const & | iontype, | ||
NMRGridSearchOP | gridsearch_ptr, | ||
Real const | weight = 1.0 |
||
) |
construct PREMultiSet from vector of single datasets, the position of the spinlabel site, the type of paramagnetic ion, an NMRGridSearch object and the dataset's weight.
References create_para_ion_from_string(), init_from_cml(), init_from_pre_singleset_vec(), register_options(), and set_exp_default_conditions().
core::scoring::nmr::pre::PREMultiSet::PREMultiSet | ( | PREMultiSet const & | other | ) |
copy constructor
References deep_copy_pre_singleset_vec(), and pre_singleset_vec_.
core::scoring::nmr::pre::PREMultiSet::~PREMultiSet | ( | ) |
destructor
|
private |
default constructor
|
private |
calculate the xyz derivative of the ensemble averaged distance <r^-6> and the generalized order parameter S2 for a given spinlabel atom - nuclear spin connection vector @params spinlabel_counts_coords: vector of weights and para ion xyz coordinates of N distinct spinlabel conformers eq_spins_coords: vector of xyz coordinates of nuclear spin(s) that give rise to the observed PRE dr6_dXYZ: xyz derivative of <r^-6> as return value dS2_dXYZ: xyz derivative of S2 as return value
References core::pose::center_of_mass().
Referenced by set_atom_derivatives().
|
private |
calculate electron spin frequency at given field strength in rad/s
References ion_type_.
|
private |
calculate the ensemble averaged distance <r^-6> and generalized order parameter S2 for a given spinlabel atom - nuclear spin connection vector as used in the SBMF equation @params spinlabel_counts_coords: vector of weights and para ion xyz coordinates of N distinct spinlabel conformers eq_spins_coords: vector of xyz coordinates of nuclear spin(s) that give rise to the observed PRE one_over_r6: averaged distance <r^-6> as return value S2: generalized order parameter S2 as return value
References core::pose::center_of_mass().
Referenced by set_atom_derivatives(), and update_r6_S2_values().
|
private |
calculate sum of rotational correlation and electron relaxation time i.e. the total correlation time (in sec)
References ion_type_, and tau_r_.
Referenced by set_exp_default_conditions().
|
private |
calculate rotational correlation time (in sec) of the protein using the Stokes-Einstein equation and the protein mass (in kDa == kg/mol)
References core::enzymes::NA, protein_mass_, and temperature_.
Referenced by set_exp_default_conditions(), set_protein_mass(), and set_temperature().
|
private |
computes the PRE score using the current r6 and S2 vectors and correlation times @params use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel)
References ave_type_, ion_type_, core::scoring::nmr::MEAN, number_experiments_, one_over_r6_values_, PRE_Curie_prefactor(), PRE_DD_prefactor(), pre_single_weights_, pre_singleset_vec_, pre_values_, R1_Para(), core::scoring::nmr::R1_PARA, R2_Para(), core::scoring::nmr::R2_PARA, core::chemical::element::S, s2_values_, spin_coordinates_, core::scoring::nmr::SUM, tau_c_, tau_r_, tau_t_, temperature_, and core::scoring::total_score.
Referenced by compute_pre_score_from_point_vector(), and compute_pre_score_from_single_point().
Real core::scoring::nmr::pre::PREMultiSet::compute_pre_score_from_point_vector | ( | WeightCoordVector const & | points | ) |
calculates the PRE from a vector of spinlabel atom coordinates using the modified Solomon-Bloembergen (SBMF) equation and returns the weighted PRE score according to the single PRE value weighting scheme
performs NLS fitting of the correlation times (tau_r, tau_e and tau_i)
performs NLS fitting of the correlation times (tau_c and tau_t)
References compute_pre_score_from_current_data(), ion_type_, nls_repeats_, number_experiments_, pre_erf_opt_tau, pre_values_, set_tau_c(), set_tau_t(), spinlabel_, spinlabel_site_rsd_, tau_c_, tau_c_max_, tau_c_min_, tau_r_, tau_t_, core::scoring::total_score, core::scoring::nmr::pre::TR(), and update_r6_S2_values().
Referenced by compute_pre_score_from_single_point(), and find_para_ion_position_and_compute_pre_score().
Real core::scoring::nmr::pre::PREMultiSet::compute_pre_score_from_single_point | ( | Vector & | point, |
bool | opt_sl_pos = false |
||
) |
calculates the PRE from a single spinlabel atom position using the simplified Solomon-Bloembergen (SB) equation and returns the weighted PRE score according to the single PRE value weighting scheme
performs NLS fitting of the correlation times (tau_r and tau_e) by default optionally, the spinlabel (sl) point position can be optimized too.
performs NLS fitting of the correlation time (tau_c) by default optionally, the point position can be optimized too.
References compute_pre_score_from_current_data(), compute_pre_score_from_point_vector(), gridsearch_iterator_, ion_type_, nls_repeats_, number_experiments_, pre_erf_opt_tau_xyz, pre_values_, set_tau_c(), set_tau_t(), spinlabel_, spinlabel_site_rsd_, tau_c_, tau_c_max_, tau_c_min_, tau_r_, tau_t_, core::scoring::total_score, core::scoring::nmr::pre::TR(), and update_r6_S2_values().
Referenced by find_para_ion_position_and_compute_pre_score().
|
private |
References ion_type_.
Referenced by PREMultiSet().
|
private |
References pre_singleset_vec_.
Referenced by operator=(), and PREMultiSet().
|
private |
xyz derivative of the spectral density function for the simplified Solomon-Bloembergen (SB) equation @params omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) tau_c: correlation time (must be provided in s, typical dimension is 10^-9) dr6_dXYZ: xyz derivative of <r^-6>
Referenced by dR1_dXYZ(), and dR2_dXYZ().
|
private |
xyz derivative of the spectral density function for the modified Solomon-Bloembergen (SBMF) equation @params omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) tau_c: correlation time (must be provided in s, typical dimension is 10^-9) tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2
Referenced by dR1_dXYZ(), and dR2_dXYZ().
|
private |
calculate the xyz derivative of the R1 paramagnetic relaxation rate @params params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2 scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel)
calculate the xyz derivative of the R1 paramagnetic relaxation @params params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2 scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel)
References dJ_dXYZ_SB(), and dJ_dXYZ_SBMF().
Referenced by set_atom_derivatives().
|
private |
calculate the xyz derivative of the R2 paramagnetic relaxation rate @params params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter dr6_dXYZ: xyz derivative of <r^-6> dS2_dXYZ: xyz derivative of S2 scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel)
References dJ_dXYZ_SB(), and dJ_dXYZ_SBMF().
Referenced by set_atom_derivatives().
Real core::scoring::nmr::pre::PREMultiSet::find_para_ion_position_and_compute_pre_score | ( | pose::Pose const & | pose, |
WeightCoordVector & | spinlabel_counts_coords | ||
) |
determines the paraion/radical atom position of the spinlabel using a gridsearch or the dummy spinlabel rotamer ensemble and calculates the PRE score using the modified Solomon-Bloembergen (SBMF) or simplified Solomon-Bloembergen (SB) equation
determines the para ion/radical atom position of the spinlabel using a gridsearch or the dummy spinlabel conformer ensemble and calculates the PRE score using the modified Solomon-Bloembergen (SBMF) equation
References compute_pre_score_from_point_vector(), compute_pre_score_from_single_point(), core::scoring::nmr::NMRSpinlabel::DISTANCE, gridsearch_iterator_, protocols::mean_field::max(), opt_para_ion_pos_, spinlabel_, spinlabel_site_rsd_, core::scoring::total_score, core::scoring::nmr::pre::TR(), and update_spin_coordinates().
|
inline |
References ave_type_.
|
inline |
References gridsearch_iterator_.
|
inline |
References ion_type_.
|
inline |
References number_experiments_.
|
inline |
References pre_single_weights_.
|
inline |
References pre_singleset_vec_.
|
inline |
References pre_singleset_vec_.
|
inline |
References pre_values_.
|
inline |
References protein_mass_.
|
inline |
References spin_coordinates_.
|
inline |
References spinlabel_.
|
inline |
References spinlabel_site_rsd_.
|
inline |
References tau_c_max_.
|
inline |
References tau_c_min_.
|
inline |
References temperature_.
|
inline |
References total_number_pres_.
|
private |
References nls_repeats_, opt_para_ion_pos_, and symmetric_pre_calc_.
Referenced by PREMultiSet().
|
private |
utility function to initialize PREMultiSet
References ave_type_, core::scoring::nmr::CONST, core::conformation::symmetry::is_symmetric(), core::pose::symmetry::is_symmetric(), core::scoring::nmr::MEAN, number_experiments_, core::scoring::nmr::OBSIG, one_over_r6_values_, pre_single_weights_, pre_singleset_vec_, pre_values_, s2_values_, core::scoring::nmr::SIGMA, spin_coordinates_, core::scoring::nmr::SUM, symmetric_pre_calc_, core::pose::symmetry::symmetry_info(), and total_number_pres_.
Referenced by PREMultiSet().
|
private |
spectral density function for the simplified Solomon-Bloembergen (SB) equation
A detailed description can be found in: Iwahara J, Schwieters CD & Clore GM, 2004, JACS 126,5879-5896 @params omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) tau_c: correlation time (must be provided in s, typical dimension is 10^-9) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6)
|
private |
spectral density function for the modified Solomon-Bloembergen (SBMF) equation
A detailed description can be found in: Iwahara J, Schwieters CD & Clore GM, 2004, JACS 126,5879-5896 @params omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) tau_c: correlation time (must be provided in s, typical dimension is 10^-9) tau_t: total correlation time (must be provided in s) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter
PREMultiSet & core::scoring::nmr::pre::PREMultiSet::operator= | ( | PREMultiSet const & | rhs | ) |
assignment operator
References ave_type_, deep_copy_pre_singleset_vec(), gridsearch_iterator_, ion_type_, nls_repeats_, number_experiments_, one_over_r6_values_, opt_para_ion_pos_, pre_single_weights_, pre_singleset_vec_, pre_values_, protein_mass_, s2_values_, spin_coordinates_, spinlabel_, spinlabel_site_rsd_, symmetric_pre_calc_, tau_c_, tau_c_max_, tau_c_min_, tau_r_, tau_t_, temperature_, total_number_pres_, and weight_.
|
inline |
References opt_para_ion_pos_.
|
private |
calculate the constant prefactor of the Curie part of the PRE @params gamma_I: gyromagnetic ratio of the nuclear spin (must be provided in rad/(s*T), dimension is 10^6) gJ: electron Lande factor S: total spin quantum number B0: magnetic field strength (in Tesla) T: temperature (in Kelvin)
References core::chemical::element::C, core::scoring::nmr::R1_PARA, core::chemical::element::S, and core::scoring::T().
Referenced by compute_pre_score_from_current_data(), and set_atom_derivatives().
|
private |
calculate the constant prefactor of the dipolar part of the PRE @params gamma_I: gyromagnetic ratio of the nuclear spin (must be provided in rad/(s*T), dimension is 10^6) gJ: electron Lande factor S: total spin quantum number
References core::chemical::element::C, core::scoring::nmr::R1_PARA, and core::chemical::element::S.
Referenced by compute_pre_score_from_current_data(), and set_atom_derivatives().
|
private |
calculate the R1 paramagnetic relaxation rate from the dipolar and Curie contribution @params: params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel)
References J_SB(), and J_SBMF().
Referenced by compute_pre_score_from_current_data().
|
private |
calculate the R2 paramagnetic relaxation rate from the dipolar and Curie contribution @params: params[1] = prefac_dd: prefactor of dipolar part of PRE params[2] = prefac_curie prefactor of Curie part of PRE params[3] = omega_I: nuclear spin resonance frequency (must be provided in rad/s, dimension is 10^6) params[4] = tau_r: rotational correlation time (must be provided in s, typical dimension is 10^-9) params[5] = tau_c: correlation time (must be provided in s, typical dimension is 10^-9) params[6] = tau_t: total correlation time (must be provided in s, typical dimension is 10^-10) one_over_r6: ensemble averaged distance <r^-6> (must be provided in Ang.^-6) S2: generalized order parameter scaling: optional scaling factor use_sb: use only the simplified SB equation (e.g. if there is only one spinlabel)
References J_SB(), and J_SBMF().
Referenced by compute_pre_score_from_current_data().
|
private |
register options
Referenced by PREMultiSet().
|
private |
check if dimensionality of r6 and S2 vectors is consistent with averaging type and resize vectors if not.
References ave_type_, core::scoring::nmr::MEAN, number_experiments_, one_over_r6_values_, pre_singleset_vec_, s2_values_, spin_coordinates_, and core::scoring::nmr::SUM.
Referenced by set_averaging_type().
void core::scoring::nmr::pre::PREMultiSet::set_atom_derivatives | ( | pose::Pose & | pose, |
WeightCoordVector const & | spinlabel_counts_coords | ||
) |
calculates and sets the xyz derivative of the PRE single PREs must be calculated in beforehand that's why make sure to call any of the three functions first: compute_pre_score_from_point_vector(), compute_pre_from_single_point() or find_para_ion_position_and_compute_pre_score()
References core::scoring::nmr::apply_vector_transformation(), ave_type_, calc_dr6_dS2_dXYZ(), calc_r6_S2(), dR1_dXYZ(), dR2_dXYZ(), ion_type_, core::conformation::symmetry::is_symmetric(), core::pose::symmetry::is_symmetric(), core::scoring::nmr::MEAN, number_experiments_, PRE_Curie_prefactor(), PRE_DD_prefactor(), pre_single_weights_, pre_singleset_vec_, pre_values_, core::scoring::nmr::R1_PARA, core::scoring::nmr::R2_PARA, core::chemical::element::S, spin_coordinates_, spinlabel_, core::scoring::nmr::SUM, core::pose::symmetry::symmetry_info(), tau_c_, tau_r_, tau_t_, and temperature_.
void core::scoring::nmr::pre::PREMultiSet::set_averaging_type | ( | std::string const & | type | ) |
|
private |
|
private |
set protein mass, temperature and correlation times to default values during initialization protein mass = 15kDa, temperature = 298 K
set default values for tau_r_, tau_c_, tau_c_min_ and tau_c_max_
References calc_tau_c(), calc_theoretical_tau_r(), protein_mass_, tau_c_, tau_c_max_, tau_c_min_, tau_r_, tau_t_, and temperature_.
Referenced by PREMultiSet().
|
inline |
References gridsearch_iterator_.
|
inline |
References calc_theoretical_tau_r(), core::pose::mass(), protein_mass_, and set_tau_r().
|
inline |
References spinlabel_.
|
inline |
References tau_c_.
Referenced by compute_pre_score_from_point_vector(), and compute_pre_score_from_single_point().
|
inline |
References tau_c_max_, and tau_c_min_.
Referenced by set_tau_r().
|
inline |
References set_tau_c_limits(), and tau_r_.
Referenced by set_protein_mass(), and set_temperature().
|
inline |
References tau_t_.
Referenced by compute_pre_score_from_point_vector(), and compute_pre_score_from_single_point().
|
inline |
References calc_theoretical_tau_r(), set_tau_r(), and temperature_.
void core::scoring::nmr::pre::PREMultiSet::show | ( | std::ostream & | TR | ) | const |
|
inline |
References symmetric_pre_calc_.
|
private |
computes r6 and S2 vectors from given spinlabel atom coordinates and and current spin coordinates
References ave_type_, calc_r6_S2(), core::scoring::nmr::MEAN, number_experiments_, one_over_r6_values_, pre_singleset_vec_, s2_values_, spin_coordinates_, and core::scoring::nmr::SUM.
Referenced by compute_pre_score_from_point_vector(), and compute_pre_score_from_single_point().
void core::scoring::nmr::pre::PREMultiSet::update_spin_coordinates | ( | pose::Pose const & | pose | ) |
updates the spin coordinates every time the pose is changed make sure that this function is called before you call compute_pre_score()
updates the spin coordinates every time the pose is changed make sure that this function is called before you call compute_score()
References core::conformation::Residue::atom(), core::conformation::symmetry::is_symmetric(), core::pose::symmetry::is_symmetric(), number_experiments_, pre_singleset_vec_, core::pose::Pose::residue(), spin_coordinates_, symmetric_pre_calc_, core::pose::symmetry::symmetry_info(), and core::conformation::Atom::xyz().
Referenced by find_para_ion_position_and_compute_pre_score().
pre error function used in the lmmin function to optimize tau
Referenced by compute_pre_score_from_point_vector().
|
friend |
pre error function used in the lmmin function to optimize tau and the para ion position
Referenced by compute_pre_score_from_single_point().
|
private |
|
private |
|
private |
|
private |
Referenced by compute_pre_score_from_point_vector(), compute_pre_score_from_single_point(), init_from_cml(), and operator=().
|
private |
Referenced by compute_pre_score_from_current_data(), compute_pre_score_from_point_vector(), compute_pre_score_from_single_point(), get_number_experiments(), init_from_pre_singleset_vec(), operator=(), resize_r6_S2_values(), set_atom_derivatives(), show(), update_r6_S2_values(), and update_spin_coordinates().
|
private |
|
private |
Referenced by find_para_ion_position_and_compute_pre_score(), init_from_cml(), operator=(), and optimize_paraion_position().
|
private |
|
private |
|
private |
|
private |
Referenced by calc_theoretical_tau_r(), get_protein_mass(), operator=(), set_exp_default_conditions(), set_protein_mass(), and show().
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by init_from_cml(), init_from_pre_singleset_vec(), operator=(), symmetric_pre_calc(), and update_spin_coordinates().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by get_total_number_pre(), init_from_pre_singleset_vec(), operator=(), and show().
|
private |
Referenced by get_weight(), operator=(), and set_weight().