Rosetta Core  2014.35
Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::constraints::CoordinateConstraint Class Reference

#include <CoordinateConstraint.hh>

Public Member Functions

 CoordinateConstraint ()
 
 CoordinateConstraint (AtomID const &a1, AtomID const &fixed_atom_in, Vector const &xyz_target_in, core::scoring::func::FuncOP func, ScoreType scotype=coordinate_constraint)
 c-tor More...
 
 ~CoordinateConstraint ()
 
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...
 
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...
 
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...
 
virtual void read_def (std::istream &, pose::Pose const &, func::FuncFactory const &)
 
bool operator== (Constraint const &other_cst) const
 possibility to do object comparison instead of pointer comparison 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 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...
 
virtual void steal_def (pose::Pose const &)
 
Real non_virtual_score (Vector const &xyz) const
 
virtual void score (func::XYZ_Func const &xyz, EnergyMap const &, EnergyMap &emap) const
 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 void fill_f1_f2 (AtomID const &atom, func::XYZ_Func const &xyz, Vector &F1, Vector &F2, EnergyMap const &weights) const
 
Size natoms () const
 Returns the number of atoms involved in defining this constraint. If the constraint doesn't depend on particular atoms (e.g. a residue type constraint) this function can return zero. 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
 Returns the AtomID referred to by index. More...
 
Real dist (pose::Pose const &pose) const
 return the "raw" distance before handed to the FUNC object More...
 
virtual Size show_violations (std::ostream &out, pose::Pose const &pose, Size verbose_level, Real threshold=1) const
 Prints the violations of this constraint to the given std::ostream. What are violations? It's not defined, and it depends on the constraint and the function! also - wtf is threshold? it was defined as a Size in CoordinateConstraint, I don't know which definition is the right one. Documentation would be nice ... More...
 
- 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 (core::scoring::func::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 Real score (pose::Pose const &) const
 
virtual core::Real dist (core::scoring::func::XYZ_Func const &) const
 
virtual void setup_for_scoring (core::scoring::func::XYZ_Func const &, ScoreFunction const &) const
 
virtual void setup_for_derivatives (core::scoring::func::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, core::scoring::func::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...
 
std::string to_string () const
 Convenience function, returns the results of show() as a string. Not to be overriden by derived classes. More...
 
virtual
core::scoring::func::Func
const & 
get_func () const
 Returns the func::Func object associated with this Constraint object. 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
 

Private Member Functions

Real func (Real const theta) const
 
Real dfunc (Real const theta) const
 

Private Attributes

AtomID atom_
 
AtomID fixed_atom_
 
Vector xyz_target_
 
core::scoring::func::FuncOP func_
 

Additional Inherited Members

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

Detailed Description

CoordinateConstraint compares the coordinates of a given atom (AtomID atom_) to a fixed coordinate triplet (Vector xyz_target_). Its other argument, fixed_atom_, is somewhat nonobvious. CoordinateConstraints are meant to be used with a Pose that has a nonmoving virtual root residue. An AtomID in this virtual root residue should be passed as fixed_atom_. CoordinateConstraint does not use fixed_atom_, but the ScoreFunction code detects when fixed_atom_ and atom_ move relative to one another, and trigger re-scoring at that time. In other words, CoordinateConstraints are really context-independent one body energies, but we wish them to be evaluated as context-independent two-body energies. (Ideally, ScoreFunction would detect when atom_ moves relative to xyz_target_, but since ScoreFunction functions on atoms and not floating coordinate triplets, this is a good workaround.) – SML

Constructor & Destructor Documentation

core::scoring::constraints::CoordinateConstraint::CoordinateConstraint ( )

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

core::scoring::constraints::CoordinateConstraint::CoordinateConstraint ( AtomID const &  a1,
AtomID const &  fixed_atom_in,
Vector const &  xyz_target_in,
core::scoring::func::FuncOP  func,
ScoreType  scotype = coordinate_constraint 
)

c-tor

core::scoring::constraints::CoordinateConstraint::~CoordinateConstraint ( )

Member Function Documentation

core::id::AtomID const & core::scoring::constraints::CoordinateConstraint::atom ( Size const  index) const
virtual

Returns the AtomID referred to by index.

Note that this function isn't actually used by the constraint scoring machenery. If you're calling it on a generic Constraint (as opposed to specifically on a derived class) you're probably doing something wrong.

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

References atom_, fixed_atom_, and utility_exit_with_message.

Referenced by remapped_clone().

ConstraintOP core::scoring::constraints::CoordinateConstraint::clone ( ) const
virtual

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 CoordinateConstraint().

Real core::scoring::constraints::CoordinateConstraint::dfunc ( Real const  theta) const
private

References func_.

Referenced by fill_f1_f2().

Real core::scoring::constraints::CoordinateConstraint::dist ( pose::Pose const &  ) const
virtual

return the "raw" distance before handed to the FUNC object

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

References atom_, core::pose::Pose::conformation(), xyz, and xyz_target_.

Referenced by fill_f1_f2(), and show_violations().

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

References func_.

Referenced by non_virtual_score().

Size core::scoring::constraints::CoordinateConstraint::natoms ( ) const
virtual

Returns the number of atoms involved in defining this constraint. If the constraint doesn't depend on particular atoms (e.g. a residue type constraint) this function can return zero.

Note that this function isn't actually used by the constraint scoring machenery. If you're calling it on a generic Constraint (as opposed to specifically on a derived class) you're probably doing something wrong.

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

Real core::scoring::constraints::CoordinateConstraint::non_virtual_score ( Vector const &  xyz) const
bool core::scoring::constraints::CoordinateConstraint::operator== ( Constraint const &  other_cst) const
virtual

possibility to do object comparison instead of pointer comparison

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

References atom_, fixed_atom_, func_, core::scoring::constraints::Constraint::score_type(), and xyz_target_.

void core::scoring::constraints::CoordinateConstraint::read_def ( std::istream &  data,
pose::Pose const &  pose,
func::FuncFactory const &  func_factory 
)
virtual
ConstraintOP core::scoring::constraints::CoordinateConstraint::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 atom_, core::id::AtomID::atomno(), CoordinateConstraint(), fixed_atom_, func_, core::id::AtomID::rsd(), core::scoring::constraints::Constraint::score_type(), and xyz_target_.

ConstraintOP core::scoring::constraints::CoordinateConstraint::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 atom(), core::conformation::atom_id_to_named_atom_id(), CoordinateConstraint(), func_, core::conformation::named_atom_id_to_atom_id(), core::id::AtomID::rsd(), core::id::NamedAtomID::rsd(), core::scoring::constraints::Constraint::score_type(), core::id::AtomID::valid(), and xyz_target_.

void core::scoring::constraints::CoordinateConstraint::score ( func::XYZ_Func const &  xyz_func,
EnergyMap const &  weights,
EnergyMap emap 
) const
virtual

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.

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

References atom_, non_virtual_score(), and core::scoring::constraints::Constraint::score_type().

void core::scoring::constraints::CoordinateConstraint::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_, core::id::AtomID::atomno(), fixed_atom_, func_, and core::id::AtomID::rsd().

void core::scoring::constraints::CoordinateConstraint::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 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.

References atom_, core::pose::atom_id_to_named_atom_id(), fixed_atom_, func_, type(), numeric::xyzVector< class >::x(), xyz_target_, numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().

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

Prints the violations of this constraint to the given std::ostream. What are violations? It's not defined, and it depends on the constraint and the function! also - wtf is threshold? it was defined as a Size in CoordinateConstraint, I don't know which definition is the right one. Documentation would be nice ...

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

References atom_, core::id::AtomID::atomno(), dist(), func_, core::pose::Pose::residue_type(), and core::id::AtomID::rsd().

void core::scoring::constraints::CoordinateConstraint::steal_def ( pose::Pose const &  pose)
virtual
std::string core::scoring::constraints::CoordinateConstraint::type ( ) const
virtual

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::CoordinateConstraint::atom_
private
AtomID core::scoring::constraints::CoordinateConstraint::fixed_atom_
private
core::scoring::func::FuncOP core::scoring::constraints::CoordinateConstraint::func_
private
Vector core::scoring::constraints::CoordinateConstraint::xyz_target_
private

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