![]() |
Rosetta
2021.16
|
#include <RDCMultiSet.hh>
Public Types | |
| enum | COMPUTATION_TYPE { SVD = 1, NLS = 2, NLSDA = 3, NLSR = 4, NLSDAR = 5 } |
| type of tensor and score calculation SVD = singular value decomposition (coupled with grid search) NLS = non-linear least squares fitting NLSDA = non-linear least squares fitting with known alignment magnitude NLSR = non-linear least squares fitting with known rhombicity NLSDAR = non-linear least squares fitting with known alignment magnitude and rhombicity More... | |
| typedef std::pair< Vector, Vector > | SpinPairCoordinates |
Public Member Functions | |
| RDCMultiSet (utility::vector1< std::string > const &filenames, std::string const &medium_label, pose::Pose const &pose) | |
| construct from data files set default values for RDCMultiSet weight and computation_type More... | |
| RDCMultiSet (utility::vector1< std::string > const &filenames, std::string const &medium_label, pose::Pose const &pose, Real const weight, std::string computation_type="SVD") | |
| constructor with full argument list More... | |
| RDCMultiSet (RDCMultiSet const &other) | |
| copy constructor More... | |
| RDCMultiSet & | operator= (RDCMultiSet const &rhs) |
| assignment operator More... | |
| ~RDCMultiSet () | |
| 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 update_matrix_A() is called More... | |
| void | update_matrix_A () |
| builds matrix_A from the spin coordinates and hands it over to the SVD solver More... | |
| void | update_single_rdc_weighting () |
| updates the array holding the single RDC weights that are used during score calculation needs to be called e.g. when the weighting scheme of one of the RDCSingleSets was changed More... | |
| Real | solve_tensor_and_compute_score_by_svd () |
| solves the RDC tensor using SVD and returns the weighted RDC score according to the single RDC weighting scheme and the weights of the individual experiments More... | |
| Real | solve_tensor_and_compute_score_by_nls () |
| solves the RDC tensor using NLS and returns the weighted RDC score according to the single RDC weighting scheme and the weights of the individual experiments More... | |
| Real | compute_rdc_values_and_score_from_tensor (RDCTensor const &tensor) |
| calculate RDC values from a given tensor, set values in the RDCSingle vector and return the RDC score More... | |
| Real | compute_rdc_values_and_score_from_tensor () |
| calculate RDC values and the RDC score from the dataset's current tensor More... | |
| void | set_atom_derivatives (pose::Pose const &pose) |
| sets the xyz derivative of the RDC RDCTensor must be determined before first call solve_tensor_and_compute_score_by_svd() or solve_tensor_and_compute_score_by_nls() before setting derivatives More... | |
| Real | get_weight () const |
| Size | get_total_number_rdc () const |
| Size | get_number_experiments () const |
| std::string | get_alignment_medium_label () const |
| utility::vector1 < RDCSingleSetOP > & | get_rdc_singleset_vec () |
| utility::vector1 < RDCSingleSetOP > const & | get_rdc_singleset_vec () const |
| ObjexxFCL::FArray2D< Real > const & | get_matrix_A () const |
| ObjexxFCL::FArray1D< Real > const & | get_rdc_values () const |
| ObjexxFCL::FArray1D< Real > const & | get_rdc_single_weights () const |
| RDCTensorCOP | get_tensor_const () const |
| RDCTensorOP | get_tensor () |
| COMPUTATION_TYPE | get_computation_type () const |
| NMR_VALUE_AVERAGING_TYPE | get_averaging_type () const |
| utility::vector1 < utility::vector1 < RDCMultiSet::SpinPairCoordinates > > const & | get_spin_coordinates () const |
| RDC_NORM_TYPE | get_normalization_type () const |
| bool | symmetric_rdc_calc () const |
| bool | correct_sign () const |
| bool | tensor_fixed () const |
| void | set_weight (Real weight) |
| void | set_tensor (RDCTensorOP const &tensor) |
| void | set_computation_type (std::string const &type) |
| void | set_averaging_type (std::string const &type) |
| void | fix_tensor () |
| void | unfix_tensor () |
| void | show (std::ostream &TR) const |
Private Member Functions | |
| RDCMultiSet () | |
| default constructor More... | |
| void | init_from_rdc_filedata (utility::vector1< std::string > const &filenames, pose::Pose const &pose) |
| utility function used in constructor to initialize RDCMultiSet object from data files. More... | |
| void | register_options () |
| register options More... | |
| void | init_from_cml () |
| void | convert_string_to_computation_type (std::string const &computation_type) |
| utility function to convert string to class computation type enum More... | |
| void | deep_copy_rdc_single_set_vec (utility::vector1< RDCSingleSetOP > const &other_vec) |
| void | fill_matrix_A_row (utility::fixedsizearray1< Real, 5 > &A_row, utility::vector1< SpinPairCoordinates > const &spin_coord, Real const &Dmax) |
| utility function to fill matrix_A that is used for SVD More... | |
| Real | basic_rdc_equation (utility::fixedsizearray1< Real, 2 > const &par, SpinPairCoordinates const &spin_coord, Real const &Dmax, Matrix const &rotM) |
| utility function that calculates one single RDC value given the input arguments Da, R, the spin coordinates, the maximal dipolar coupling constant and a rotation matrix More... | |
| Real | frdc (Real const *par, utility::vector1< SpinPairCoordinates > const &spin_coord, Real const &Dmax, Matrix const &rotM) |
| utility functions to calculate the RDC from different sets of input arguments arguments are a pointer to the parameters (Da, R), the coordinates of equivalent spins, the maximal dipolar coupling constant and a rotation matrix that must be previously constructed from the Euler angles. Fixed values of Da and R can be provided. More... | |
| Real | frdc_Da (Real const *par, Real const &Da, utility::vector1< SpinPairCoordinates > const &spin_coord, Real const &Dmax, Matrix const &rotM) |
| Real | frdc_R (Real const *par, Real const &R, utility::vector1< SpinPairCoordinates > const &spin_coord, Real const &Dmax, Matrix const &rotM) |
| Real | frdc_Da_R (Real const &Da, Real const &R, utility::vector1< SpinPairCoordinates > const &spin_coord, Real const &Dmax, Matrix const &rotM) |
Private Attributes | |
| std::string | alignment_medium_ |
| utility::vector1< RDCSingleSetOP > | rdc_singleset_vec_ |
| Real | weight_ |
| Size | total_number_rdc_ |
| Size | number_experiments_ |
| ObjexxFCL::FArray2D< Real > | matrix_A_ |
| ObjexxFCL::FArray1D< Real > | rdc_values_ |
| ObjexxFCL::FArray1D< Real > | rdc_single_weights_ |
| basic::svd::SVD_SolverOP | svd_solver_ |
| RDCTensorOP | tensor_ |
| COMPUTATION_TYPE | computation_type_ |
| utility::vector1 < utility::vector1 < SpinPairCoordinates > > | spin_coordinates_ |
| RDC_NORM_TYPE | norm_type_ |
| bool | symmetric_rdc_calc_ |
| bool | correct_sign_ |
| NMR_VALUE_AVERAGING_TYPE | ave_type_ |
| Size | nls_repeats_ |
| bool | fixed_tensor_ |
Friends | |
| void | rdc_erf (Real const *par, int m_dat, void const *data, Real *fvec, int *) |
| rdc error function used in the lmmin function More... | |
| typedef std::pair< Vector, Vector > core::scoring::nmr::rdc::RDCMultiSet::SpinPairCoordinates |
type of tensor and score calculation SVD = singular value decomposition (coupled with grid search) NLS = non-linear least squares fitting NLSDA = non-linear least squares fitting with known alignment magnitude NLSR = non-linear least squares fitting with known rhombicity NLSDAR = non-linear least squares fitting with known alignment magnitude and rhombicity
| Enumerator | |
|---|---|
| SVD | |
| NLS | |
| NLSDA | |
| NLSR | |
| NLSDAR | |
| core::scoring::nmr::rdc::RDCMultiSet::RDCMultiSet | ( | utility::vector1< std::string > const & | filenames, |
| std::string const & | medium_label, | ||
| pose::Pose const & | pose | ||
| ) |
construct from data files set default values for RDCMultiSet weight and computation_type
References init_from_cml(), init_from_rdc_filedata(), and register_options().
| core::scoring::nmr::rdc::RDCMultiSet::RDCMultiSet | ( | utility::vector1< std::string > const & | filenames, |
| std::string const & | medium_label, | ||
| pose::Pose const & | pose, | ||
| Real const | weight, | ||
| std::string | computation_type = "SVD" |
||
| ) |
constructor with full argument list
References convert_string_to_computation_type(), init_from_cml(), init_from_rdc_filedata(), and register_options().
| core::scoring::nmr::rdc::RDCMultiSet::RDCMultiSet | ( | RDCMultiSet const & | other | ) |
copy constructor
References deep_copy_rdc_single_set_vec(), and rdc_singleset_vec_.
| core::scoring::nmr::rdc::RDCMultiSet::~RDCMultiSet | ( | ) |
destructor
|
private |
default constructor
|
private |
utility function that calculates one single RDC value given the input arguments Da, R, the spin coordinates, the maximal dipolar coupling constant and a rotation matrix
References correct_sign_, norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, core::scoring::nmr::NORM_TYPE_NONE, core::scoring::rdc, core::scoring::nmr::rdc::rdc_D_max(), core::scoring::nmr::RDC_TYPE_CAHA, and core::scoring::nmr::RDC_TYPE_NH.
Referenced by frdc(), frdc_Da(), frdc_Da_R(), and frdc_R().
| Real core::scoring::nmr::rdc::RDCMultiSet::compute_rdc_values_and_score_from_tensor | ( | RDCTensor const & | tensor | ) |
calculate RDC values from a given tensor, set values in the RDCSingle vector and return the RDC score
References correct_sign_, fill_matrix_A_row(), frdc(), core::scoring::nmr::NMRTensor::get_alpha(), core::scoring::nmr::NMRTensor::get_beta(), core::scoring::nmr::rdc::RDCTensor::get_Da(), core::scoring::nmr::NMRTensor::get_euler_convention(), core::scoring::nmr::NMRTensor::get_gamma(), core::scoring::nmr::rdc::RDCTensor::get_R(), core::scoring::nmr::NMRTensor::get_T_xx(), core::scoring::nmr::NMRTensor::get_T_xy(), core::scoring::nmr::NMRTensor::get_T_xz(), core::scoring::nmr::NMRTensor::get_T_yy(), core::scoring::nmr::NMRTensor::get_T_yz(), core::scoring::nmr::rdc::RDCTensor::is_rdc_tensor_in_arbitrary_frame(), core::scoring::nmr::rdc::RDCTensor::is_rdc_tensor_in_pas(), norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, core::scoring::nmr::NORM_TYPE_NONE, number_experiments_, core::scoring::nmr::rdc::rdc_D_max(), core::scoring::nmr::rdc::rdc_scaling_factor_toCH(), core::scoring::nmr::rdc::rdc_scaling_factor_toNH(), rdc_single_weights_, rdc_singleset_vec_, rdc_values_, core::scoring::nmr::rotation_matrix_from_euler_angles(), spin_coordinates_, total_number_rdc_, and core::scoring::total_score.
| Real core::scoring::nmr::rdc::RDCMultiSet::compute_rdc_values_and_score_from_tensor | ( | ) |
|
private |
utility function to convert string to class computation type enum
References computation_type_, NLS, NLSDA, NLSDAR, NLSR, and SVD.
Referenced by RDCMultiSet(), and set_computation_type().
|
inline |
References correct_sign_.
|
private |
References rdc_singleset_vec_.
Referenced by operator=(), and RDCMultiSet().
|
private |
utility function to fill matrix_A that is used for SVD
References ave_type_, core::scoring::nmr::MEAN, norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, and core::scoring::nmr::NORM_TYPE_NONE.
Referenced by compute_rdc_values_and_score_from_tensor(), and update_matrix_A().
|
inline |
References fixed_tensor_.
|
private |
utility functions to calculate the RDC from different sets of input arguments arguments are a pointer to the parameters (Da, R), the coordinates of equivalent spins, the maximal dipolar coupling constant and a rotation matrix that must be previously constructed from the Euler angles. Fixed values of Da and R can be provided.
References ave_type_, basic_rdc_equation(), core::scoring::nmr::MEAN, and core::scoring::rdc.
Referenced by compute_rdc_values_and_score_from_tensor(), core::scoring::nmr::rdc::rdc_erf(), set_atom_derivatives(), and solve_tensor_and_compute_score_by_nls().
|
private |
References ave_type_, basic_rdc_equation(), core::scoring::nmr::MEAN, and core::scoring::rdc.
Referenced by core::scoring::nmr::rdc::rdc_erf().
|
private |
References ave_type_, basic_rdc_equation(), core::scoring::nmr::MEAN, and core::scoring::rdc.
Referenced by core::scoring::nmr::rdc::rdc_erf().
|
private |
References ave_type_, basic_rdc_equation(), core::scoring::nmr::MEAN, and core::scoring::rdc.
Referenced by core::scoring::nmr::rdc::rdc_erf().
|
inline |
References alignment_medium_.
|
inline |
References ave_type_.
|
inline |
References computation_type_.
|
inline |
References matrix_A_.
|
inline |
References norm_type_.
|
inline |
References number_experiments_.
|
inline |
References rdc_single_weights_.
|
inline |
References rdc_singleset_vec_.
|
inline |
References rdc_singleset_vec_.
|
inline |
References rdc_values_.
|
inline |
References spin_coordinates_.
|
inline |
References tensor_.
|
inline |
References tensor_.
|
inline |
References total_number_rdc_.
|
private |
References core::scoring::nmr::convert_string_to_normalization_type(), correct_sign_, nls_repeats_, norm_type_, and symmetric_rdc_calc_.
Referenced by RDCMultiSet().
|
private |
utility function used in constructor to initialize RDCMultiSet object from data files.
References core::scoring::nmr::CONST, core::pose::symmetry::is_symmetric(), core::conformation::symmetry::is_symmetric(), matrix_A_, norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, number_experiments_, core::scoring::nmr::OBSIG, core::scoring::nmr::rdc::rdc_scaling_factor_toCH(), core::scoring::nmr::rdc::rdc_scaling_factor_toNH(), rdc_single_weights_, rdc_singleset_vec_, rdc_values_, core::scoring::nmr::SIGMA, spin_coordinates_, symmetric_rdc_calc_, core::pose::symmetry::symmetry_info(), and total_number_rdc_.
Referenced by RDCMultiSet().
| RDCMultiSet & core::scoring::nmr::rdc::RDCMultiSet::operator= | ( | RDCMultiSet const & | rhs | ) |
assignment operator
References alignment_medium_, ave_type_, computation_type_, correct_sign_, deep_copy_rdc_single_set_vec(), fixed_tensor_, matrix_A_, nls_repeats_, norm_type_, number_experiments_, rdc_single_weights_, rdc_singleset_vec_, rdc_values_, spin_coordinates_, svd_solver_, symmetric_rdc_calc_, tensor_, total_number_rdc_, and weight_.
|
private |
register options
Referenced by RDCMultiSet().
| void core::scoring::nmr::rdc::RDCMultiSet::set_atom_derivatives | ( | pose::Pose const & | pose | ) |
sets the xyz derivative of the RDC RDCTensor must be determined before first call solve_tensor_and_compute_score_by_svd() or solve_tensor_and_compute_score_by_nls() before setting derivatives
References correct_sign_, frdc(), core::pose::symmetry::is_symmetric(), core::conformation::symmetry::is_symmetric(), matrix_A_, norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, core::scoring::nmr::NORM_TYPE_NONE, number_experiments_, protocols::hybridization::r2, core::scoring::nmr::rdc::rdc_D_max(), core::scoring::nmr::rdc::rdc_scaling_factor_toCH(), core::scoring::nmr::rdc::rdc_scaling_factor_toNH(), rdc_single_weights_, rdc_singleset_vec_, core::scoring::nmr::RDC_TYPE_CAHA, core::scoring::nmr::RDC_TYPE_NH, rdc_values_, core::scoring::nmr::rotation_matrix_from_euler_angles(), spin_coordinates_, symmetric_rdc_calc_, core::pose::symmetry::symmetry_info(), core::scoring::T(), tensor_, and update_matrix_A().
| void core::scoring::nmr::rdc::RDCMultiSet::set_averaging_type | ( | std::string const & | type | ) |
References ave_type_, and core::scoring::nmr::convert_string_to_averaging_type().
| void core::scoring::nmr::rdc::RDCMultiSet::set_computation_type | ( | std::string const & | type | ) |
References convert_string_to_computation_type().
|
inline |
References tensor_.
| void core::scoring::nmr::rdc::RDCMultiSet::show | ( | std::ostream & | TR | ) | const |
| Real core::scoring::nmr::rdc::RDCMultiSet::solve_tensor_and_compute_score_by_nls | ( | ) |
solves the RDC tensor using NLS and returns the weighted RDC score according to the single RDC weighting scheme and the weights of the individual experiments
References alignment_medium_, computation_type_, correct_sign_, frdc(), NLS, nls_repeats_, NLSDA, NLSDAR, NLSR, norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, core::scoring::nmr::NORM_TYPE_NONE, number_experiments_, core::scoring::nmr::rdc::rdc_D_max(), rdc_erf, core::scoring::nmr::rdc::rdc_scaling_factor_toCH(), core::scoring::nmr::rdc::rdc_scaling_factor_toNH(), rdc_single_weights_, rdc_singleset_vec_, core::scoring::nmr::RDC_TYPE_CAHA, core::scoring::nmr::RDC_TYPE_NH, rdc_values_, core::scoring::nmr::rotation_matrix_from_euler_angles(), spin_coordinates_, SVD, core::id::swap(), tensor_, total_number_rdc_, core::scoring::total_score, and core::scoring::nmr::rdc::TR().
| Real core::scoring::nmr::rdc::RDCMultiSet::solve_tensor_and_compute_score_by_svd | ( | ) |
solves the RDC tensor using SVD and returns the weighted RDC score according to the single RDC weighting scheme and the weights of the individual experiments
References alignment_medium_, matrix_A_, number_experiments_, rdc_single_weights_, rdc_singleset_vec_, rdc_values_, spin_coordinates_, svd_solver_, tensor_, total_number_rdc_, core::scoring::total_score, core::scoring::nmr::rdc::TR(), and update_matrix_A().
|
inline |
References symmetric_rdc_calc_.
|
inline |
References fixed_tensor_.
|
inline |
References fixed_tensor_.
| void core::scoring::nmr::rdc::RDCMultiSet::update_matrix_A | ( | ) |
builds matrix_A from the spin coordinates and hands it over to the SVD solver
References correct_sign_, fill_matrix_A_row(), matrix_A_, norm_type_, core::scoring::nmr::NORM_TYPE_CH, core::scoring::nmr::NORM_TYPE_NH, core::scoring::nmr::NORM_TYPE_NONE, number_experiments_, core::scoring::nmr::rdc::rdc_D_max(), core::scoring::nmr::rdc::rdc_scaling_factor_toCH(), core::scoring::nmr::rdc::rdc_scaling_factor_toNH(), rdc_singleset_vec_, rdc_values_, spin_coordinates_, svd_solver_, and total_number_rdc_.
Referenced by set_atom_derivatives(), and solve_tensor_and_compute_score_by_svd().
| void core::scoring::nmr::rdc::RDCMultiSet::update_single_rdc_weighting | ( | ) |
updates the array holding the single RDC weights that are used during score calculation needs to be called e.g. when the weighting scheme of one of the RDCSingleSets was changed
References core::scoring::nmr::CONST, number_experiments_, core::scoring::nmr::OBSIG, rdc_single_weights_, rdc_singleset_vec_, rdc_values_, core::scoring::nmr::SIGMA, spin_coordinates_, and total_number_rdc_.
| void core::scoring::nmr::rdc::RDCMultiSet::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 update_matrix_A() is called
References core::conformation::Residue::atom(), core::pose::symmetry::is_symmetric(), core::conformation::symmetry::is_symmetric(), number_experiments_, rdc_singleset_vec_, core::pose::Pose::residue(), spin_coordinates_, symmetric_rdc_calc_, core::pose::symmetry::symmetry_info(), and core::conformation::Atom::xyz().
rdc error function used in the lmmin function
Referenced by solve_tensor_and_compute_score_by_nls().
|
private |
|
private |
Referenced by fill_matrix_A_row(), frdc(), frdc_Da(), frdc_Da_R(), frdc_R(), get_averaging_type(), operator=(), and set_averaging_type().
|
private |
|
private |
|
private |
Referenced by fix_tensor(), operator=(), tensor_fixed(), and unfix_tensor().
|
private |
|
private |
Referenced by init_from_cml(), operator=(), and solve_tensor_and_compute_score_by_nls().
|
private |
Referenced by basic_rdc_equation(), compute_rdc_values_and_score_from_tensor(), fill_matrix_A_row(), get_normalization_type(), init_from_cml(), init_from_rdc_filedata(), operator=(), core::scoring::nmr::rdc::rdc_erf(), set_atom_derivatives(), solve_tensor_and_compute_score_by_nls(), and update_matrix_A().
|
private |
Referenced by compute_rdc_values_and_score_from_tensor(), get_number_experiments(), init_from_rdc_filedata(), operator=(), core::scoring::nmr::rdc::rdc_erf(), set_atom_derivatives(), show(), solve_tensor_and_compute_score_by_nls(), solve_tensor_and_compute_score_by_svd(), update_matrix_A(), update_single_rdc_weighting(), and update_spin_coordinates().
|
private |
|
private |
Referenced by compute_rdc_values_and_score_from_tensor(), deep_copy_rdc_single_set_vec(), get_rdc_singleset_vec(), init_from_rdc_filedata(), operator=(), core::scoring::nmr::rdc::rdc_erf(), RDCMultiSet(), set_atom_derivatives(), show(), solve_tensor_and_compute_score_by_nls(), solve_tensor_and_compute_score_by_svd(), update_matrix_A(), update_single_rdc_weighting(), and update_spin_coordinates().
|
private |
Referenced by compute_rdc_values_and_score_from_tensor(), get_rdc_values(), init_from_rdc_filedata(), operator=(), core::scoring::nmr::rdc::rdc_erf(), set_atom_derivatives(), solve_tensor_and_compute_score_by_nls(), solve_tensor_and_compute_score_by_svd(), update_matrix_A(), and update_single_rdc_weighting().
|
private |
Referenced by compute_rdc_values_and_score_from_tensor(), get_spin_coordinates(), init_from_rdc_filedata(), operator=(), core::scoring::nmr::rdc::rdc_erf(), set_atom_derivatives(), solve_tensor_and_compute_score_by_nls(), solve_tensor_and_compute_score_by_svd(), update_matrix_A(), update_single_rdc_weighting(), and update_spin_coordinates().
|
private |
Referenced by operator=(), solve_tensor_and_compute_score_by_svd(), and update_matrix_A().
|
private |
|
private |
|
private |
Referenced by compute_rdc_values_and_score_from_tensor(), get_total_number_rdc(), init_from_rdc_filedata(), operator=(), core::scoring::nmr::rdc::rdc_erf(), show(), solve_tensor_and_compute_score_by_nls(), solve_tensor_and_compute_score_by_svd(), update_matrix_A(), and update_single_rdc_weighting().
|
private |
Referenced by get_weight(), operator=(), and set_weight().
1.8.7