Rosetta
|
Multifunction class for fitting a simple (straight) helix to the Crick parameters. More...
#include <FitSimpleHelixMultiFunc.hh>
Public Member Functions | |
~FitSimpleHelixMultiFunc () override | |
Destructor. More... | |
FitSimpleHelixMultiFunc (core::pose::Pose const &pose, std::string const &atom_name, core::Size const first_res_index, core::Size const res_per_repeat, core::Size const start_index, core::Size const end_index, core::Size const minimization_mode, core::Real const &rms_offset) | |
Constructor. More... | |
core::Real | operator() (core::optimization::Multivec const &vars) const override |
Calculate function value (rms squared) More... | |
void | dfunc (core::optimization::Multivec const &vars, core::optimization::Multivec &dE_dvars) const override |
Calculate function value derivatives. More... | |
void | dump (core::optimization::Multivec const &vars, core::optimization::Multivec const &vars2) const override |
Error state reached – derivative does not match gradient. More... | |
![]() | |
~Multifunc () override=default | |
Destructor. More... | |
virtual bool | abort_min (Multivec const &) const |
Christophe added the following to allow premature end of minimization If you want to abort the minimizer under specific circonstances overload this function and return true if you want to stop, false if you want to continue. FOR THE MOMENT, ONLY IN DFPMIN! More... | |
Private Member Functions | |
void | vars_to_params (core::optimization::Multivec const &vars, core::Real &r1, core::Real &omega1, core::Real &dz1, core::Real &delta_omega1, core::Real &delta_z1) const |
Convert the vars Multivec to the Crick parameters. More... | |
void | params_derivs_to_vars (core::optimization::Multivec &deriv_vars, core::Real const &dE_dr1, core::Real const &dE_domega1, core::Real const &dE_ddz1, core::Real const &dE_ddelta_omega1, core::Real const &dE_ddelta_z1) const |
Convert the Crick parameter derivatives to the derivative Multivec. More... | |
Private Attributes | |
core::pose::Pose | pose_ |
A copy of the pose on which we'll be operating. X,Y,Z coordinates of relevant residues will be extracted from this. More... | |
std::string | atom_name_ |
The atoms that trace out the helix (e.g. "CA" or "N" or whatever) More... | |
core::Size | first_res_index_ |
The Rosetta-numbering index of the first residue in the helix that will be fit. More... | |
core::Size | residues_per_repeat_ |
The number of residues per repeating unit in the helix. More... | |
core::Size | start_index_ |
The first residue of the helix. More... | |
core::Size | end_index_ |
The last residue of the helix. More... | |
core::Size | minimization_mode_ |
The minimization mode. More... | |
core::Real | rms_offset_ |
The small offset used by the RMS code to avoid zero determinants. More... | |
Additional Inherited Members | |
![]() | |
typedef utility::VirtualBase | parent |
![]() | |
Multifunc () | |
Default constructor. More... | |
Multifunc (Multifunc const &) | |
Copy constructor. More... | |
Multifunc & | operator= (Multifunc const &) |
Copy assignment. More... | |
Multifunction class for fitting a simple (straight) helix to the Crick parameters.
|
overridedefault |
Destructor.
protocols::helical_bundle::FitSimpleHelixMultiFunc::FitSimpleHelixMultiFunc | ( | core::pose::Pose const & | pose, |
std::string const & | atom_name, | ||
core::Size const | first_res_index, | ||
core::Size const | res_per_repeat, | ||
core::Size const | start_index, | ||
core::Size const | end_index, | ||
core::Size const | minimization_mode, | ||
core::Real const & | rms_offset | ||
) |
Constructor.
References atom_name_, end_index_, first_res_index_, core::conformation::Residue::has(), minimization_mode_, pose_, core::pose::Pose::residue(), residues_per_repeat_, core::pose::Pose::size(), and start_index_.
|
overridevirtual |
Calculate function value derivatives.
Implements core::optimization::Multifunc.
References core::conformation::Residue::atom_index(), atom_name_, core::id::AtomID::BOGUS_ATOM_ID(), end_index_, first_res_index_, core::pose::initialize_atomid_map(), minimization_mode_, params_derivs_to_vars(), pose_, protocols::hybridization::r1, core::pose::Pose::residue(), residues_per_repeat_, rms_offset_, core::pose::Pose::set_xyz(), start_index_, core::scoring::superimpose_pose(), protocols::hybridization::t, protocols::helical_bundle::TR(), vars_to_params(), protocols::comparative_modeling::features::X, protocols::kinmatch::xyz(), core::conformation::Residue::xyz(), and core::chemical::element::Y.
|
overridevirtual |
Error state reached – derivative does not match gradient.
Useful debugging code that can be re-enabled by changing the boolean variables at the top of this function.
Reimplemented from core::optimization::Multifunc.
|
overridevirtual |
Calculate function value (rms squared)
Implements core::optimization::Multifunc.
References atom_name_, end_index_, first_res_index_, minimization_mode_, pose_, protocols::hybridization::r1, core::pose::Pose::residue(), residues_per_repeat_, core::scoring::rms, start_index_, protocols::hybridization::t, protocols::helical_bundle::TR(), vars_to_params(), protocols::kinmatch::xyz(), and core::conformation::Residue::xyz().
|
private |
Convert the Crick parameter derivatives to the derivative Multivec.
Referenced by dfunc().
|
private |
Convert the vars Multivec to the Crick parameters.
References protocols::hybridization::r1.
Referenced by dfunc(), and operator()().
|
private |
The atoms that trace out the helix (e.g. "CA" or "N" or whatever)
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().
|
private |
The last residue of the helix.
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().
|
private |
The Rosetta-numbering index of the first residue in the helix that will be fit.
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().
|
private |
The minimization mode.
If set to 0, the minimizer fits r1, omega1, and dz1, aligning the generated helix to the input pose at every step. If set to 1, the minimizer fits r1, delta-omega1, and delta-z, with no alignment (i.e. the input pose must already be aligned to an ideal helix).
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().
|
private |
A copy of the pose on which we'll be operating. X,Y,Z coordinates of relevant residues will be extracted from this.
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().
|
private |
The number of residues per repeating unit in the helix.
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().
|
private |
The small offset used by the RMS code to avoid zero determinants.
This may need to be increased slightly to avoid bad geometry.
Referenced by dfunc().
|
private |
The first residue of the helix.
Referenced by dfunc(), FitSimpleHelixMultiFunc(), and operator()().