![]() |
Rosetta Core
2014.35
|
Classes | |
class | MinDebug |
class | SymAtomTreeMinimizer |
High-level atom tree minimizer class. More... | |
class | SymAtomTreeMultifunc |
Atom tree multifunction class. More... | |
class | SymMinimizerMap |
Atom tree multifunction class. More... | |
Functions | |
void | atom_tree_dfunc (pose::Pose &pose, SymMinimizerMap &symm_min_map, scoring::ScoreFunction const &scorefxn, Multivec const &vars, Multivec &dE_dvars) |
void | atom_tree_get_atompairE_deriv (pose::Pose &pose, SymMinimizerMap &symm_min_map, scoring::ScoreFunction const &scorefxn) |
void | numerical_derivative_check (SymMinimizerMap const &min_map, Multifunc const &func, Multivec const &start_vars, Multivec const &dE_dvars, bool const verbose) |
bool | DOF_Node_sorter (DOF_NodeCOP a, DOF_NodeCOP b) |
Stolen from MinimizerMap.cc. More... | |
Variables | |
static basic::Tracer | TR ("core.optimization.symmetry.sym_atom_tree_minimize") |
bool | debug_inaccurateG = false |
bool | check_score_components = false |
bool | check_score_components_verbose = false |
bool | check_rama = false |
bool | check_hbonds = false |
typedef utility::pointer::owning_ptr< AtomTreeMinimizer const > core::optimization::symmetry::SymAtomTreeMinimizerCOP |
typedef utility::pointer::owning_ptr< AtomTreeMinimizer > core::optimization::symmetry::SymAtomTreeMinimizerOP |
typedef utility::pointer::owning_ptr< SymMinimizerMap const > core::optimization::symmetry::SymMinimizerMapCOP |
typedef utility::pointer::owning_ptr< SymMinimizerMap > core::optimization::symmetry::SymMinimizerMapOP |
void core::optimization::symmetry::atom_tree_dfunc | ( | pose::Pose & | pose, |
SymMinimizerMap & | symm_min_map, | ||
scoring::ScoreFunction const & | scorefxn, | ||
Multivec const & | vars, | ||
Multivec & | dE_dvars | ||
) |
car multiple neighborlists: car cendist centroid distances in current structure, cutoff for vdw car dis2_tether centroid distances in tether structure, cutoff for tether
db computes the derivative of E with respect to each db of the torsion angles. Using the chain rule, we have db db dE/d phi = dE/dr * dr/dphi db db dr/dphi = Eab x (V-Vb) . (V' - V)/|V-V'| db db (the first cross product is the displacement of V upon a rotation dphi db around the unit vector Eab, Vb is the coordinates of the second atom in db the bond) db car dE/dR = 2r (for vdw at least) db since | V-V'| = r, db db dE/ dphi = 2 Eab x (V-Vb) . (V' - V) db db note that Eab and Vb are different for each torsion angle, but V' db and V are the same. rearranging: db db = - 2 Eab X Vb . (V' - V) - 2 Eab . (V' x V). db db now we need the averages over all Vi of the difference and the db crossproduct of V and V'.
car below, Eab x Vb is 'vec' car Eab is 'unit' car (V'-V) is 'f2' car 'F2tot' = f2*dE_dR (cumulative) car (V' X V) is 'f1' ('F1_xxxE' is cumulative for potential xxx) car eval_dE_dR actually returns dE_dR/r
car if two atoms are fixed relatively in cartesian space, then dr/dphi = 0 car and there is no contribution to the derivative
References core::optimization::symmetry::SymMinimizerMap::asymmetric_dof(), core::kinematics::AtomTree::atom(), core::optimization::DOF_Node::atom_id(), core::pose::Pose::atom_tree(), atom_tree_get_atompairE_deriv(), core::optimization::symmetry::SymMinimizerMap::begin(), core::pose::Pose::conformation(), core::optimization::symmetry::SymMinimizerMap::copy_dofs_to_pose(), core::optimization::DOF_Node::dependent(), core::optimization::DOF_Node::dof_id(), core::optimization::symmetry::SymMinimizerMap::end(), core::scoring::ScoreFunction::eval_dof_derivative(), core::scoring::ScoreFunction::finalize_after_derivatives(), core::pose::initialize_dof_id_map(), core::conformation::symmetry::is_symmetric(), core::optimization::symmetry::SymMinimizerMap::link_torsion_vectors(), core::optimization::symmetry::SymMinimizerMap::nangles(), core::optimization::symmetry::SymMinimizerMap::new_sym_min(), runtime_assert, core::scoring::ScoreFunction::setup_for_derivatives(), core::optimization::DOF_Node::torsion_id(), core::optimization::symmetry::SymMinimizerMap::torsion_scale_factor(), core::optimization::torsional_derivative_from_cartesian_derivatives(), and core::optimization::symmetry::SymMinimizerMap::zero_torsion_vectors().
Referenced by core::optimization::symmetry::SymAtomTreeMultifunc::dfunc().
void core::optimization::symmetry::atom_tree_get_atompairE_deriv | ( | pose::Pose & | pose, |
SymMinimizerMap & | symm_min_map, | ||
scoring::ScoreFunction const & | scorefxn | ||
) |
References core::optimization::symmetry::SymMinimizerMap::atom_derivatives(), core::id::AtomID::atomno(), core::optimization::DOF_Node::atoms(), core::optimization::symmetry::SymMinimizerMap::begin(), core::pose::Pose::conformation(), core::optimization::symmetry::SymMinimizerMap::dependent_begin(), core::optimization::symmetry::SymMinimizerMap::dependent_end(), core::optimization::DOF_Node::dof_id(), core::optimization::symmetry::SymMinimizerMap::dof_node_from_id(), core::optimization::symmetry::SymMinimizerMap::domain_map(), core::kinematics::FoldTree::downstream_jump_residue(), core::optimization::symmetry::SymMinimizerMap::end(), core::pose::Pose::energies(), core::scoring::eval_atom_derivatives_for_minnode(), core::scoring::ScoreFunction::eval_npd_atom_derivative(), core::scoring::eval_weighted_atom_derivatives_for_minedge(), core::optimization::DOF_Node::F1(), core::optimization::DOF_Node::F2(), core::pose::Pose::fold_tree(), core::kinematics::FoldTree::get_jump_that_builds_residue(), core::conformation::symmetry::is_symmetric(), core::optimization::symmetry::SymMinimizerMap::new_sym_min(), core::pose::Pose::residue(), core::id::AtomID::rsd(), runtime_assert, scoring, core::pose::Pose::total_residue(), weights, and core::scoring::ScoreFunction::weights().
Referenced by atom_tree_dfunc().
bool core::optimization::symmetry::DOF_Node_sorter | ( | DOF_NodeCOP | a, |
DOF_NodeCOP | b | ||
) |
Stolen from MinimizerMap.cc.
Referenced by core::optimization::symmetry::SymMinimizerMap::SymMinimizerMap().
void core::optimization::symmetry::numerical_derivative_check | ( | SymMinimizerMap const & | min_map, |
Multifunc const & | func, | ||
Multivec const & | start_vars, | ||
Multivec const & | dE_dvars, | ||
bool const | verbose | ||
) |
References core::optimization::symmetry::MinDebug::abs_deriv_dev, core::id::DOF_ID::atomno(), core::optimization::DOF_Node::atomno(), core::optimization::DOF_Node::atoms(), core::optimization::symmetry::SymMinimizerMap::begin(), core::optimization::symmetry::MinDebug::best_abs_log_norm_ratio, core::optimization::symmetry::MinDebug::best_cos_theta, core::optimization::symmetry::MinDebug::best_norm_analytic, core::optimization::symmetry::MinDebug::best_norm_numeric, core::id::BOGUS_DOF_ID, core::optimization::DOF_Node::dependent(), dot(), core::optimization::symmetry::SymMinimizerMap::end(), core::chemical::element::F, core::chemical::element::I, core::optimization::symmetry::SymMinimizerMap::nangles(), core::optimization::symmetry::SymMinimizerMap::new_sym_min(), norm(), core::optimization::DOF_Node::parent(), core::optimization::symmetry::MinDebug::rel_deriv_dev, core::id::DOF_ID::rsd(), core::optimization::DOF_Node::rsd(), core::id::DOF_ID::type(), core::optimization::DOF_Node::type(), and vars.
Referenced by core::optimization::symmetry::SymAtomTreeMultifunc::dfunc().
bool core::optimization::symmetry::check_hbonds = false |
bool core::optimization::symmetry::check_rama = false |
bool core::optimization::symmetry::check_score_components = false |
bool core::optimization::symmetry::check_score_components_verbose = false |
bool core::optimization::symmetry::debug_inaccurateG = false |
|
static |