Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
core::scoring::constraints::AngleConstraint Class Reference

An Angular Constraint. More...

#include <AngleConstraint.hh>

Inheritance diagram for core::scoring::constraints::AngleConstraint:
Inheritance graph
[legend]
Collaboration diagram for core::scoring::constraints::AngleConstraint:
Collaboration graph
[legend]

Public Member Functions

virtual std::string type () const
 Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class. More...
 
virtual ConstraintOP clone () const
 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. More...
 
void read_def (std::istream &data, pose::Pose const &pose, FuncFactory const &func_factory)
 read in constraint defiinition More...
 
virtual ConstraintOP remapped_clone (pose::Pose const &src, pose::Pose const &dest, id::SequenceMappingCOP map=NULL) const
 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. More...
 
bool operator== (Constraint const &other) const
 possibility to compare constraint according to data and not just pointers More...
 
Real score (Vector const &xyz1, Vector const &xyz2, Vector const &xyz3) const
 compute score More...
 
void score (XYZ_Func const &xyz, EnergyMap const &, EnergyMap &emap) const
 compute score More...
 
void fill_f1_f2 (AtomID const &atom, XYZ_Func const &xyz, Vector &F1, Vector &F2, EnergyMap const &weights) const
 compute atom deriv More...
 
 AngleConstraint (AtomID const &a1, AtomID const &a2, AtomID const &a3, FuncOP func_in, ScoreType scotype=angle_constraint)
 Constructor. More...
 
 AngleConstraint (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...
 
Size natoms () const
 number of atoms — always 3 for angles More...
 
virtual ConstraintOP remap_resid (core::id::SequenceMapping const &seqmap) const
 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
 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
 output violation of constraint to out - returns 1 if violated ( i.e., func.show_violations() > 0 ) More...
 
virtual void show (std::ostream &out) const
 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
 Prints the definition of a Constraint to the given std::ostream, using the given Pose, and the given 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...
 
virtual Func const & get_func () const
 Returns the 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
 
- Public Member Functions inherited from core::scoring::constraints::Constraint
 Constraint (ScoreType const &t)
 Constructor for Constraint class. More...
 
virtual ~Constraint ()
 Virtual destructor. More...
 
virtual ConstraintOP clone (FuncOP) const
 
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. 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 core::Real dist (core::pose::Pose const &) const
 return the "raw" distance before handed to the FUNC object More...
 
virtual core::Real dist (XYZ_Func const &) const
 
virtual void setup_for_scoring (XYZ_Func const &, ScoreFunction const &) const
 
virtual void setup_for_derivatives (XYZ_Func const &, ScoreFunction const &) const
 
virtual Real score (conformation::Conformation const &) const
 Returns the score of this constraint computed over the given conformation. Not necessarily implemented in all derived classes, as it's redundant with the score( XYZ_Func, EnergyMap, EnergyMap ) method defined above. Returns 0.0 if not implemented. More...
 
virtual void fill_f1_f2 (AtomID const &atom, XYZ_Func const &xyz_func, Vector &F1, Vector &F2, EnergyMap const &weights) const =0
 Fill the f1 and f2 vectors, necessary for considering the derivative this constraint during minimization. (someone please reference Bill Wedermeyer's paper here, as I'm in an airport and can't fill it in myself!) More...
 
virtual void steal_def (pose::Pose const &)
 
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
 possibility to do object comparison instead of pointer comparison 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)
 

Private Attributes

AtomID atom1_
 
AtomID atom2_
 
AtomID atom3_
 
FuncOP func_
 

Additional Inherited Members

- Public Types inherited from core::scoring::constraints::Constraint
typedef id::AtomID AtomID
 

Detailed Description

An Angular Constraint.

Constructor & Destructor Documentation

core::scoring::constraints::AngleConstraint::AngleConstraint ( AtomID const &  a1,
AtomID const &  a2,
AtomID const &  a3,
FuncOP  func_in,
ScoreType  scotype = angle_constraint 
)
inline

Constructor.

Referenced by clone(), remap_resid(), and remapped_clone().

core::scoring::constraints::AngleConstraint::AngleConstraint ( FuncOP  func_in,
ScoreType  scoretype = angle_constraint 
)
inline

Constructor without atom IDs – if you create an AngleConstraint with this constructor, you must never call its score( XYZFunc ) method! Dangerous and stupid!

Member Function Documentation

id::AtomID const & core::scoring::constraints::AngleConstraint::atom ( Size const  n) const
virtual

return AtomID for atom 1,2,3

Implements core::scoring::constraints::Constraint.

References atom1_, atom2_, and atom3_.

Referenced by remapped_clone(), show(), and show_def().

virtual ConstraintOP core::scoring::constraints::AngleConstraint::clone ( ) const
inlinevirtual

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.

Implements core::scoring::constraints::Constraint.

References AngleConstraint(), atom1_, atom2_, atom3_, func_, and core::scoring::constraints::Constraint::score_type().

Real core::scoring::constraints::AngleConstraint::dfunc ( Real const  theta) const
inline

evaluate dfunc at theta

References func_.

Referenced by fill_f1_f2(), p1_deriv(), and p2_deriv().

void core::scoring::constraints::AngleConstraint::fill_f1_f2 ( AtomID const &  atom,
XYZ_Func const &  xyz,
Vector F1,
Vector F2,
EnergyMap const &  weights 
) const
Real core::scoring::constraints::AngleConstraint::func ( Real const  theta) const
inline

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_.

Referenced by score().

virtual Func const& core::scoring::constraints::AngleConstraint::get_func ( ) const
inlinevirtual

Returns the Func object associated with this Constraint object.

Reimplemented from core::scoring::constraints::Constraint.

References func_.

void core::scoring::constraints::AngleConstraint::helper ( Vector const &  M,
Vector const &  w,
Vector F1,
Vector F2 
)
static

Referenced by p1_theta_deriv().

Size core::scoring::constraints::AngleConstraint::natoms ( ) const
inlinevirtual

number of atoms — always 3 for angles

Implements core::scoring::constraints::Constraint.

Referenced by show(), and show_def().

bool core::scoring::constraints::AngleConstraint::operator== ( Constraint const &  other) const
virtual

possibility to compare constraint according to data and not just pointers

Reimplemented from core::scoring::constraints::Constraint.

References atom1_, atom2_, atom3_, func_, 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
void core::scoring::constraints::AngleConstraint::p1_theta_deriv ( Vector const &  p1,
Vector const &  p2,
Vector const &  p3,
Vector f1,
Vector f2 
)
static

References helper().

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
void core::scoring::constraints::AngleConstraint::read_def ( std::istream &  data,
pose::Pose const &  pose,
FuncFactory const &  func_factory 
)
virtual

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.

References atom1_, atom2_, atom3_, core::conformation::Residue::atom_index(), core::id::AtomID::atomno(), func_, core::scoring::constraints::FuncFactory::new_func(), core::scoring::constraints::ConstraintIO::parse_residue(), core::pose::Pose::residue(), core::pose::Pose::total_residue(), core::scoring::constraints::TRACER(), and type().

ConstraintOP core::scoring::constraints::AngleConstraint::remap_resid ( core::id::SequenceMapping const &  ) const
virtual

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.

References AngleConstraint(), atom1_, atom2_, atom3_, core::id::AtomID::atomno(), func_, and core::id::AtomID::rsd().

ConstraintOP core::scoring::constraints::AngleConstraint::remapped_clone ( pose::Pose const &  src,
pose::Pose const &  dest,
id::SequenceMappingCOP  map = NULL 
) const
virtual

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.

References AngleConstraint(), atom(), atom1_, atom2_, atom3_, core::conformation::atom_id_to_named_atom_id(), func_, core::conformation::named_atom_id_to_atom_id(), core::id::AtomID::rsd(), core::id::NamedAtomID::rsd(), core::scoring::constraints::Constraint::score_type(), and core::id::AtomID::valid().

Real core::scoring::constraints::AngleConstraint::score ( Vector const &  xyz1,
Vector const &  xyz2,
Vector const &  xyz3 
) const

compute score

References func().

Referenced by score().

void core::scoring::constraints::AngleConstraint::score ( XYZ_Func const &  xyz,
EnergyMap const &  ,
EnergyMap emap 
) const
virtual
void core::scoring::constraints::AngleConstraint::show ( std::ostream &  ) const
virtual

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_, and natoms().

void core::scoring::constraints::AngleConstraint::show_def ( std::ostream &  ,
pose::Pose const &   
) const
virtual

Prints the definition of a Constraint to the given std::ostream, using the given Pose, and the given 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.

References atom(), core::conformation::atom_id_to_named_atom_id(), func_, natoms(), and type().

Size core::scoring::constraints::AngleConstraint::show_violations ( std::ostream &  out,
pose::Pose const &  pose,
Size  verbose_level,
core::Real  threshold = 1 
) const
virtual

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::id::AtomID::atomno(), core::pose::Pose::conformation(), func_, core::pose::Pose::residue_type(), and core::id::AtomID::rsd().

virtual std::string core::scoring::constraints::AngleConstraint::type ( ) const
inlinevirtual

Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class.

Reimplemented from core::scoring::constraints::Constraint.

Referenced by read_def(), and show_def().

Member Data Documentation

AtomID core::scoring::constraints::AngleConstraint::atom1_
private
AtomID core::scoring::constraints::AngleConstraint::atom2_
private
AtomID core::scoring::constraints::AngleConstraint::atom3_
private
FuncOP core::scoring::constraints::AngleConstraint::func_
private

The documentation for this class was generated from the following files: