Rosetta
|
An Angular Constraint. More...
#include <AngleConstraint.hh>
Public Member Functions | |
AngleConstraint (AtomID const &a1, AtomID const &a2, AtomID const &a3, core::scoring::func::FuncOP func_in, ScoreType scotype=angle_constraint) | |
Constructor. More... | |
AngleConstraint (core::scoring::func::FuncOP func_in, ScoreType scoretype=angle_constraint) | |
Constructor without atom IDs – if you create an AngleConstraint with this constructor, you must never call its score( XYZFunc ) method! Dangerous and stupid! More... | |
std::string | type () const override |
Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class. More... | |
ConstraintOP | clone () const override |
Copies the data from this Constraint into a new object and returns an OP to the new object. Intended to be implemented by derived classes and used by pose.add_constraint. This function must return a deep copy of itself – meaning that if this Constraint holds pointers to other Constraints that it must invoke clone on those Constraints as well. If the Constraint holds a FuncOP, then the Func should also be cloned. More... | |
bool | operator== (Constraint const &other) const override |
possibility to compare constraint according to data and not just pointers More... | |
bool | same_type_as_me (Constraint const &other) const override |
Determine if the calling class has the same type as the input class, using dynamic casts. This is important in ensuring that two constraints are equal: both this and other must check that the other is the same as it. This is not an optional method and every class should implement it, regaurdless of whether a parent class implements it. More... | |
void | read_def (std::istream &data, pose::Pose const &pose, core::scoring::func::FuncFactory const &func_factory) override |
read in constraint defiinition More... | |
ConstraintOP | remapped_clone (pose::Pose const &src, pose::Pose const &dest, id::SequenceMappingCOP map=nullptr) const override |
Copies the data from this Constraint into a new object and returns an OP atoms are mapped to atoms with the same name in dest pose ( e.g. for switch from centroid to fullatom ) if a sequence_mapping is present it is used to map residue numbers .. nullptr = identity mapping to the new object. Intended to be implemented by derived classes. More... | |
Real | score (Vector const &xyz1, Vector const &xyz2, Vector const &xyz3) const |
compute score More... | |
void | score (core::scoring::func::XYZ_Func const &xyz, EnergyMap const &, EnergyMap &emap) const override |
compute score More... | |
virtual core::Real | score (conformation::Conformation const &) const |
Real | angle (Vector const &xyz1, Vector const &xyz2, Vector const &xyz3) const |
compute More... | |
core::Real | dist (core::scoring::func::XYZ_Func const &xyz) const override |
return the raw "distance" before that distance is handed to the FUNC object More... | |
void | setup_for_scoring (func::XYZ_Func const &, ScoreFunction const &) const override |
void | fill_f1_f2 (AtomID const &atom, core::scoring::func::XYZ_Func const &xyz, Vector &F1, Vector &F2, EnergyMap const &weights) const override |
compute atom deriv More... | |
Size | natoms () const override |
number of atoms — always 3 for angles More... | |
ConstraintOP | remap_resid (core::id::SequenceMapping const &seqmap) const override |
apply a resid remapping to this constraint, returns the remapped constraint Does this return an owning pointer to this constraint or a copy? Documentation would be nice. More... | |
AtomID const & | atom (Size const n) const override |
return AtomID for atom 1,2,3 More... | |
Size | show_violations (std::ostream &out, pose::Pose const &pose, Size verbose_level, core::Real threshold=1) const override |
output violation of constraint to out - returns 1 if violated ( i.e., func.show_violations() > 0 ) More... | |
void | show (std::ostream &out) const override |
This method is intended to show the value of the Constraint function evaluated over some reasonable range of values. For example, a constraint between pairs of atoms might show the values of the Constraint function between 4 and 12 angstroms. More... | |
void | show_def (std::ostream &out, pose::Pose const &pose) const override |
Prints the definition of a Constraint to the given std::ostream, using the given Pose, and the given func::FuncFactory. This method is intended to be overridden by derived classes if they'd like to use the ConstraintIO machinery. It's also not clear why this method takes a Pose, other than to be symmetric with read_def. More... | |
core::scoring::func::Func const & | get_func () const override |
Returns the func::Func object associated with this Constraint object. More... | |
Real | func (Real const theta) const |
evaluate func at theta More... | |
Real | dfunc (Real const theta) const |
evaluate dfunc at theta More... | |
void | p1_deriv (Vector const &p1, Vector const &p2, Vector const &p3, Vector &F1, Vector &F2) const |
void | p2_deriv (Vector const &p1, Vector const &p2, Vector const &p3, Vector &F1, Vector &F2) const |
AtomID const & | atom1 () const |
AtomID const & | atom2 () const |
AtomID const & | atom3 () const |
virtual void | score (core::scoring::func::XYZ_Func const &xyz_func, EnergyMap const &weights, EnergyMap &emap) const=0 |
Calculates a score for this constraint using XYZ_Func, and puts the UNWEIGHTED score into emap. Although the current set of weights currently is provided, Constraint objects should put unweighted scores into emap because the ScoreFunction will do the weighting itself. More... | |
virtual Real | score (pose::Pose const &pose) const |
Returns the unweighted score of this constraint computed over the given pose. More... | |
virtual Real | score (pose::Pose const &pose, EnergyMap const &weights) const |
Returns the weighted score of this constraint computed over the given pose. More... | |
virtual core::Real | dist (core::scoring::func::XYZ_Func const &) const=0 |
return the raw "distance" before that distance is handed to the FUNC object More... | |
virtual Real | dist (core::pose::Pose const &) const |
return the raw "distance" before that distance is handed to the FUNC object More... | |
![]() | |
Constraint (ScoreType const &t) | |
Constructor for Constraint class. More... | |
~Constraint () override | |
Virtual destructor. More... | |
virtual ConstraintOP | clone (func::FuncOP) const |
Clone the constraint, but where a new Func object is to be used instead. More... | |
virtual utility::vector1< core::Size > | residues () const |
Returns the pose numbers of the residues involved in this constraint, in no particular order. More... | |
virtual void | read_constraint (std::istream &, core::pose::Pose const &) |
This method is totally redundant with read_def YAY DON'T USE THIS ONE.. Most Constraint classes have not overloaded this one, but read_def ! OL. More... | |
ScoreType const & | score_type () const |
Returns the ScoreType that this Constraint object will use. More... | |
virtual void | read_data (std::istream &) |
initialize this Constraint from the given std::istream. It's amazing that there are three functions for doing this inside of Constraint.hh. SO WHAT IS THIS SUPPOSED TO DO ? not overloaded by e.g., AtomPairConstraint or CoordinateConstraint, More... | |
virtual Real | score (pose::Pose const &pose) const |
Returns the unweighted score of this constraint computed over the given pose. More... | |
virtual Real | score (pose::Pose const &pose, EnergyMap const &weights) const |
Returns the weighted score of this constraint computed over the given pose. More... | |
virtual Real | dist (core::pose::Pose const &) const |
return the raw "distance" before that distance is handed to the FUNC object More... | |
virtual void | setup_for_derivatives (core::scoring::func::XYZ_Func const &, ScoreFunction const &) const |
virtual void | steal_def (pose::Pose const &) |
take coordinates, distances, angles, etc from given pose More... | |
std::string | to_string () const |
Convenience function, returns the results of show() as a string. Not to be overriden by derived classes. More... | |
bool | operator!= (Constraint const &other) const |
Inequality operator to test whether two constraints are not functionally identical. More... | |
virtual core::Size | choose_effective_sequence_separation (core::kinematics::ShortestPathInFoldTree const &sp, numeric::random::RandomGenerator &) |
virtual core::Size | effective_sequence_separation (core::kinematics::ShortestPathInFoldTree const &) const |
Static Public Member Functions | |
static void | p1_theta_deriv (Vector const &p1, Vector const &p2, Vector const &p3, Vector &f1, Vector &f2) |
static void | helper (Vector const &M, Vector const &w, Vector &F1, Vector &F2) |
Protected Member Functions | |
AngleConstraint (AngleConstraint const &src) | |
Explicit copy constructor so that derived classes will recieve a deep copy of the Func this class contains. More... | |
func::FuncCOP | func () const |
const access to func More... | |
void | set_func (func::FuncOP f) |
set func More... | |
void | atom1 (AtomID newid) const |
void | atom2 (AtomID newid) const |
void | atom3 (AtomID newid) const |
Private Attributes | |
AtomID | atom1_ |
AtomID | atom2_ |
AtomID | atom3_ |
core::scoring::func::FuncOP | func_ |
Additional Inherited Members | |
![]() | |
typedef id::AtomID | AtomID |
An Angular Constraint.
core::scoring::constraints::AngleConstraint::AngleConstraint | ( | AtomID const & | a1, |
AtomID const & | a2, | ||
AtomID const & | a3, | ||
core::scoring::func::FuncOP | func_in, | ||
ScoreType | scotype = angle_constraint |
||
) |
Constructor.
Referenced by clone().
core::scoring::constraints::AngleConstraint::AngleConstraint | ( | core::scoring::func::FuncOP | func_in, |
ScoreType | scoretype = angle_constraint |
||
) |
Constructor without atom IDs – if you create an AngleConstraint with this constructor, you must never call its score( XYZFunc ) method! Dangerous and stupid!
|
protected |
Explicit copy constructor so that derived classes will recieve a deep copy of the Func this class contains.
Real core::scoring::constraints::AngleConstraint::angle | ( | Vector const & | xyz1, |
Vector const & | xyz2, | ||
Vector const & | xyz3 | ||
) | const |
compute
References core::scoring::constraints::TR().
Referenced by dist(), core::scoring::constraints::NamedAngleConstraint::dist(), and score().
|
overridevirtual |
return AtomID for atom 1,2,3
Implements core::scoring::constraints::Constraint.
References atom1_, atom2_, and atom3_.
Referenced by fill_f1_f2(), remapped_clone(), show(), and show_def().
|
inline |
|
protected |
References atom1_.
|
inline |
|
protected |
References atom2_.
|
inline |
|
protected |
References atom3_.
|
overridevirtual |
Copies the data from this Constraint into a new object and returns an OP to the new object. Intended to be implemented by derived classes and used by pose.add_constraint. This function must return a deep copy of itself – meaning that if this Constraint holds pointers to other Constraints that it must invoke clone on those Constraints as well. If the Constraint holds a FuncOP, then the Func should also be cloned.
Implements core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References AngleConstraint().
Real core::scoring::constraints::Constraint::dist |
return the raw "distance" before that distance is handed to the FUNC object
virtual core::Real core::scoring::constraints::Constraint::dist |
return the raw "distance" before that distance is handed to the FUNC object
|
overridevirtual |
return the raw "distance" before that distance is handed to the FUNC object
Implements core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References angle(), atom1_, atom2_, atom3_, and protocols::kinmatch::xyz().
|
overridevirtual |
compute atom deriv
Implements core::scoring::constraints::Constraint.
References atom(), atom1_, atom2_, atom3_, dfunc(), core::scoring::constraints::Constraint::score_type(), and protocols::kinmatch::xyz().
|
protected |
const access to func
References func_.
Referenced by core::scoring::constraints::NamedAngleConstraint::read_def(), core::scoring::constraints::NamedAngleConstraint::remap_resid(), core::scoring::constraints::NamedAngleConstraint::remapped_clone(), score(), and core::scoring::constraints::NamedAngleConstraint::show_def_nopose().
evaluate func at theta
Previously private member functions made public so that in the absence of atom_ids, these functions could still be called externally.
References func_.
|
inlineoverridevirtual |
Returns the func::Func object associated with this Constraint object.
Reimplemented from core::scoring::constraints::Constraint.
References func_.
|
static |
Referenced by p1_theta_deriv().
|
inlineoverridevirtual |
number of atoms — always 3 for angles
Implements core::scoring::constraints::Constraint.
Referenced by show(), and show_def().
|
overridevirtual |
possibility to compare constraint according to data and not just pointers
Implements core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References atom1_, atom2_, atom3_, func_, core::scoring::constraints::Constraint::same_type_as_me(), same_type_as_me(), and core::scoring::constraints::Constraint::score_type().
void core::scoring::constraints::AngleConstraint::p1_deriv | ( | Vector const & | p1, |
Vector const & | p2, | ||
Vector const & | p3, | ||
Vector & | F1, | ||
Vector & | F2 | ||
) | const |
References dfunc(), and p1_theta_deriv().
Referenced by core::energy_methods::LK_hack::calculate_derivatives_for_residue_pair().
|
static |
References helper(), protocols::mean_field::max(), and protocols::mean_field::min().
Referenced by p1_deriv(), and p2_deriv().
void core::scoring::constraints::AngleConstraint::p2_deriv | ( | Vector const & | p1, |
Vector const & | p2, | ||
Vector const & | p3, | ||
Vector & | F1, | ||
Vector & | F2 | ||
) | const |
References dfunc(), and p1_theta_deriv().
Referenced by core::energy_methods::LK_hack::calculate_derivatives_for_residue_pair().
|
overridevirtual |
read in constraint defiinition
one line definition "Angle atom1 res1 atom2 res2 atom3 res3 function_type function_definition" SML: It appears to be reading the angle in radians, because score ultimately uses std:acos, which returns radians.
Reimplemented from core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References atom1_, atom2_, atom3_, core::conformation::Residue::atom_index(), core::id::AtomID::atomno(), func_, core::scoring::func::FuncFactory::new_func(), core::scoring::constraints::ConstraintIO::parse_residue(), core::pose::Pose::residue(), core::pose::Pose::size(), and core::scoring::constraints::TR().
|
overridevirtual |
apply a resid remapping to this constraint, returns the remapped constraint Does this return an owning pointer to this constraint or a copy? Documentation would be nice.
Reimplemented from core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References atom1_, atom2_, atom3_, core::id::AtomID::atomno(), func_, and core::id::AtomID::rsd().
|
overridevirtual |
Copies the data from this Constraint into a new object and returns an OP atoms are mapped to atoms with the same name in dest pose ( e.g. for switch from centroid to fullatom ) if a sequence_mapping is present it is used to map residue numbers .. nullptr = identity mapping to the new object. Intended to be implemented by derived classes.
Copies the data from this Constraint into a new object and returns an OP atoms are mapped to atoms with the same name in dest pose ( e.g. for switch from centroid to fullatom ) if a sequence_mapping is present it is used to map residue numbers .. NULL = identity mapping to the new object. Intended to be implemented by derived classes.
Reimplemented from core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References atom(), atom1(), atom1_, atom2(), atom2_, atom3(), atom3_, core::conformation::atom_id_to_named_atom_id(), func_, core::conformation::named_atom_id_to_atom_id(), core::id::AtomID::rsd(), core::scoring::constraints::Constraint::score_type(), and core::id::AtomID::valid().
|
overridevirtual |
Determine if the calling class has the same type as the input class, using dynamic casts. This is important in ensuring that two constraints are equal: both this and other must check that the other is the same as it. This is not an optional method and every class should implement it, regaurdless of whether a parent class implements it.
Implements core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
Referenced by operator==().
|
virtual |
References atom1_, atom2_, atom3_, score(), and core::conformation::Conformation::xyz().
|
overridevirtual |
compute score
Implements core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References atom1_, atom2_, atom3_, score(), core::scoring::constraints::Constraint::score_type(), and protocols::kinmatch::xyz().
virtual void core::scoring::constraints::Constraint::score |
Calculates a score for this constraint using XYZ_Func, and puts the UNWEIGHTED score into emap. Although the current set of weights currently is provided, Constraint objects should put unweighted scores into emap because the ScoreFunction will do the weighting itself.
Referenced by score(), and core::scoring::constraints::NamedAngleConstraint::score().
Real core::scoring::constraints::Constraint::score |
Returns the unweighted score of this constraint computed over the given pose.
Real core::scoring::constraints::Constraint::score |
Returns the weighted score of this constraint computed over the given pose.
|
protected |
set func
References func_.
Referenced by core::scoring::constraints::NamedAngleConstraint::read_def().
|
overridevirtual |
Reimplemented from core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
|
overridevirtual |
This method is intended to show the value of the Constraint function evaluated over some reasonable range of values. For example, a constraint between pairs of atoms might show the values of the Constraint function between 4 and 12 angstroms.
Reimplemented from core::scoring::constraints::Constraint.
References atom(), func_, natoms(), core::conformation::membrane::out, and type().
|
overridevirtual |
Prints the definition of a Constraint to the given std::ostream, using the given Pose, and the given func::FuncFactory. This method is intended to be overridden by derived classes if they'd like to use the ConstraintIO machinery. It's also not clear why this method takes a Pose, other than to be symmetric with read_def.
Reimplemented from core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
References atom(), core::conformation::atom_id_to_named_atom_id(), func_, natoms(), core::conformation::membrane::out, and type().
|
overridevirtual |
output violation of constraint to out - returns 1 if violated ( i.e., func.show_violations() > 0 )
show violations of angular constraint. Control verbosity level between 1 .. 100 >80 : write MET 4 CA otherwise: compute angle and call func_->show_violations
Reimplemented from core::scoring::constraints::Constraint.
References atom1_, atom2_, atom3_, core::chemical::ResidueType::atom_name(), core::id::AtomID::atomno(), core::pose::Pose::conformation(), func_, core::conformation::membrane::out, core::pose::Pose::residue_type(), core::id::AtomID::rsd(), and core::conformation::Conformation::xyz().
|
overridevirtual |
Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class.
Reimplemented from core::scoring::constraints::Constraint.
Reimplemented in core::scoring::constraints::NamedAngleConstraint.
Referenced by show(), and show_def().
|
mutableprivate |
Referenced by atom(), atom1(), dist(), fill_f1_f2(), operator==(), read_def(), remap_resid(), remapped_clone(), score(), and show_violations().
|
private |
Referenced by atom(), atom2(), dist(), fill_f1_f2(), operator==(), read_def(), remap_resid(), remapped_clone(), score(), and show_violations().
|
private |
Referenced by atom(), atom3(), dist(), fill_f1_f2(), operator==(), read_def(), remap_resid(), remapped_clone(), score(), and show_violations().
|
private |
Referenced by dfunc(), func(), get_func(), operator==(), read_def(), remap_resid(), remapped_clone(), set_func(), show(), show_def(), and show_violations().