Rosetta
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::constraints::AmbiguousNMRDistanceConstraint Class Reference

#include <AmbiguousNMRDistanceConstraint.hh>

Inheritance diagram for core::scoring::constraints::AmbiguousNMRDistanceConstraint:
Inheritance graph
[legend]

Public Types

typedef utility::vector1< AtomIDAtoms
 
- Public Types inherited from core::scoring::constraints::Constraint
typedef id::AtomID AtomID
 

Public Member Functions

 AmbiguousNMRDistanceConstraint (Atoms const &a1, Atoms const &a2, func::FuncOP func, ScoreType scoretype=atom_pair_constraint)
 c-tor More...
 
 AmbiguousNMRDistanceConstraint (id::NamedAtomID const &a1, id::NamedAtomID const &a2, core::pose::Pose const &, func::FuncOP func, ScoreType scoretype=atom_pair_constraint)
 
 AmbiguousNMRDistanceConstraint ()
 
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...
 
ConstraintOP clone (func::FuncOP func) const override
 Clone the constraint, but where a new Func object is to be used instead. More...
 
bool operator== (Constraint const &other) const override
 Equality operator to test whether two constraints are functionally identical. 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...
 
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...
 
void read_def (std::istream &in, pose::Pose const &pose, func::FuncFactory const &func_factory) override
 
ConstraintOP map_to_CEN (pose::Pose const &src, pose::Pose const &centroid, core::Size &nr_mapped, std::string const &map_atom) const
 returns AtomPairConstraint or AmbigousNMRDistanceConstraint (e.g. for GLY HA1-HA2 ... ) More...
 
void score (func::XYZ_Func const &xyz, EnergyMap const &, EnergyMap &emap) const override
 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...
 
core::Real inv_dist6 (func::XYZ_Func const &xyz) const
 
Real dist (func::XYZ_Func const &xyz) const override
 return the raw "distance" before that distance is handed to the FUNC object More...
 
void fill_f1_f2 (AtomID const &atom, func::XYZ_Func const &xyz, Vector &F1, Vector &F2, EnergyMap const &weights) const override
 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 type () const override
 Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class. More...
 
Size natoms () const override
 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...
 
Size natoms (core::Size i) const
 
Size multiplicity () const
 
Size resid (core::Size i) const
 return residue number: i=1,2 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
 Returns the AtomID referred to by index. 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...
 
Size show_violations (std::ostream &out, pose::Pose const &pose, Size verbose_level, Real threshold=1) const override
 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...
 
func::Func const & get_func () const override
 Returns the func::Func object associated with this Constraint object. More...
 
core::Size effective_sequence_separation (core::kinematics::ShortestPathInFoldTree const &sp) const override
 
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...
 
- Public Member Functions inherited from core::scoring::constraints::Constraint
 Constraint (ScoreType const &t)
 Constructor for Constraint class. More...
 
 ~Constraint () override
 Virtual destructor. More...
 
virtual utility::vector1< core::Sizeresidues () 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_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 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 &)
 

Protected Member Functions

Atoms const & atoms1 () const
 
Atoms const & atoms2 () const
 
void atoms1 (Atoms const &setting)
 
void atoms2 (Atoms const &setting)
 
 AmbiguousNMRDistanceConstraint (AmbiguousNMRDistanceConstraint const &src)
 Explicit copy constructor so that derived classes will recieve a deep copy of the Func this class contains. More...
 

Private Member Functions

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

Private Attributes

Atoms atoms1_
 
Atoms atoms2_
 
func::FuncOP func_
 

Member Typedef Documentation

◆ Atoms

Constructor & Destructor Documentation

◆ AmbiguousNMRDistanceConstraint() [1/4]

core::scoring::constraints::AmbiguousNMRDistanceConstraint::AmbiguousNMRDistanceConstraint ( Atoms const &  a1,
Atoms const &  a2,
func::FuncOP  func,
ScoreType  scoretype = atom_pair_constraint 
)

c-tor

◆ AmbiguousNMRDistanceConstraint() [2/4]

core::scoring::constraints::AmbiguousNMRDistanceConstraint::AmbiguousNMRDistanceConstraint ( id::NamedAtomID const &  a1,
id::NamedAtomID const &  a2,
core::pose::Pose const &  pose,
func::FuncOP  func,
ScoreType  scoretype = atom_pair_constraint 
)

◆ AmbiguousNMRDistanceConstraint() [3/4]

core::scoring::constraints::AmbiguousNMRDistanceConstraint::AmbiguousNMRDistanceConstraint ( )

Referenced by clone().

◆ AmbiguousNMRDistanceConstraint() [4/4]

core::scoring::constraints::AmbiguousNMRDistanceConstraint::AmbiguousNMRDistanceConstraint ( AmbiguousNMRDistanceConstraint const &  src)
protected

Explicit copy constructor so that derived classes will recieve a deep copy of the Func this class contains.

Member Function Documentation

◆ atom()

AtomID const& core::scoring::constraints::AmbiguousNMRDistanceConstraint::atom ( Size const  index) const
inlineoverridevirtual

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

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

◆ atoms1() [1/2]

Atoms const& core::scoring::constraints::AmbiguousNMRDistanceConstraint::atoms1 ( ) const
protected

◆ atoms1() [2/2]

void core::scoring::constraints::AmbiguousNMRDistanceConstraint::atoms1 ( Atoms const &  setting)
protected

References atoms1_.

◆ atoms2() [1/2]

Atoms const& core::scoring::constraints::AmbiguousNMRDistanceConstraint::atoms2 ( ) const
protected

◆ atoms2() [2/2]

void core::scoring::constraints::AmbiguousNMRDistanceConstraint::atoms2 ( Atoms const &  setting)
protected

References atoms2_.

◆ clone() [1/2]

ConstraintOP core::scoring::constraints::AmbiguousNMRDistanceConstraint::clone ( ) const
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.

References AmbiguousNMRDistanceConstraint().

◆ clone() [2/2]

ConstraintOP core::scoring::constraints::AmbiguousNMRDistanceConstraint::clone ( func::FuncOP  ) const
overridevirtual

Clone the constraint, but where a new Func object is to be used instead.

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

References AmbiguousNMRDistanceConstraint(), atoms1_, atoms2_, func(), and core::scoring::constraints::Constraint::score_type().

◆ dfunc()

Real core::scoring::constraints::AmbiguousNMRDistanceConstraint::dfunc ( Real const  theta) const
inlineprivate

References func_.

Referenced by fill_f1_f2().

◆ dist() [1/3]

Real core::scoring::constraints::Constraint::dist

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

  • If such a distance doesn't make sense for this constraint, just return 0

◆ dist() [2/3]

virtual core::Real core::scoring::constraints::Constraint::dist

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

  • If such a distance doesn't make sense for this constraint, just return 0

Referenced by fill_f1_f2(), inv_dist6(), and show_violations().

◆ dist() [3/3]

Real core::scoring::constraints::AmbiguousNMRDistanceConstraint::dist ( func::XYZ_Func const &  ) const
overridevirtual

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

  • If such a distance doesn't make sense for this constraint, just return 0

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

References inv_dist6(), and protocols::kinmatch::xyz().

◆ effective_sequence_separation()

core::Size core::scoring::constraints::AmbiguousNMRDistanceConstraint::effective_sequence_separation ( core::kinematics::ShortestPathInFoldTree const &  sp) const
overridevirtual

◆ fill_f1_f2()

void core::scoring::constraints::AmbiguousNMRDistanceConstraint::fill_f1_f2 ( AtomID const &  atom,
func::XYZ_Func const &  xyz_func,
Vector F1,
Vector F2,
EnergyMap const &  weights 
) const
overridevirtual

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!)

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

References atom(), atoms1_, atoms2_, dfunc(), dist(), core::scoring::constraints::Constraint::score_type(), and protocols::kinmatch::xyz().

◆ func()

Real core::scoring::constraints::AmbiguousNMRDistanceConstraint::func ( Real const  theta) const
inlineprivate

References func_.

Referenced by clone(), and score().

◆ get_func()

func::Func const& core::scoring::constraints::AmbiguousNMRDistanceConstraint::get_func ( ) const
inlineoverridevirtual

Returns the func::Func object associated with this Constraint object.

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

References func_.

◆ inv_dist6()

Real core::scoring::constraints::AmbiguousNMRDistanceConstraint::inv_dist6 ( func::XYZ_Func const &  xyz) const

References atoms1_, atoms2_, dist(), and protocols::kinmatch::xyz().

Referenced by dist(), and score().

◆ map_to_CEN()

ConstraintOP core::scoring::constraints::AmbiguousNMRDistanceConstraint::map_to_CEN ( pose::Pose const &  src,
pose::Pose const &  centroid,
core::Size nr_mapped,
std::string const &  map_atom 
) const

◆ multiplicity()

Size core::scoring::constraints::AmbiguousNMRDistanceConstraint::multiplicity ( ) const
inline

References atoms1_, and atoms2_.

◆ natoms() [1/2]

Size core::scoring::constraints::AmbiguousNMRDistanceConstraint::natoms ( ) const
inlineoverridevirtual

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.

References atoms1_, and atoms2_.

Referenced by atom().

◆ natoms() [2/2]

Size core::scoring::constraints::AmbiguousNMRDistanceConstraint::natoms ( core::Size  i) const
inline

References atoms1_, and atoms2_.

◆ operator==()

bool core::scoring::constraints::AmbiguousNMRDistanceConstraint::operator== ( Constraint const &  ) const
overridevirtual

Equality operator to test whether two constraints are functionally identical.

This operator should use floating point comparison and should not decide that two floats are identical if they are within some epsilon > 0. This method allows developes to remove specific constraints from Poses, even if the constraints have been cloned. Remapped constraints should not be considered identical – i.e., if cst1 is between residues i and j and cst2 is between residues i+1 and j+1. All subclasses of Constraint must implement this method.

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

References atoms1_, atoms2_, func_, core::scoring::constraints::Constraint::same_type_as_me(), and same_type_as_me().

◆ read_def()

void core::scoring::constraints::AmbiguousNMRDistanceConstraint::read_def ( std::istream &  data,
pose::Pose const &  pose,
func::FuncFactory const &  func_factory 
)
overridevirtual

◆ remap_resid()

ConstraintOP core::scoring::constraints::AmbiguousNMRDistanceConstraint::remap_resid ( core::id::SequenceMapping const &  ) const
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.

References atom(), atoms1_, atoms2_, func_, core::scoring::constraints::Constraint::score_type(), and core::id::AtomID::valid().

◆ remapped_clone()

ConstraintOP core::scoring::constraints::AmbiguousNMRDistanceConstraint::remapped_clone ( pose::Pose const &  src,
pose::Pose const &  dest,
id::SequenceMappingCOP  map = nullptr 
) const
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.

References atom(), core::pose::atom_id_to_named_atom_id(), core::conformation::atom_id_to_named_atom_id(), atoms1_, atoms2_, func_, core::pose::named_atom_id_to_atom_id(), core::id::AtomID::rsd(), core::scoring::constraints::Constraint::score_type(), and core::id::AtomID::valid().

◆ resid()

Size core::scoring::constraints::AmbiguousNMRDistanceConstraint::resid ( core::Size  i) const
inline

return residue number: i=1,2

References atoms1_, and atoms2_.

Referenced by effective_sequence_separation(), and map_to_CEN().

◆ same_type_as_me()

bool core::scoring::constraints::AmbiguousNMRDistanceConstraint::same_type_as_me ( Constraint const &  other) const
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.

Referenced by operator==().

◆ score() [1/4]

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.

◆ score() [2/4]

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

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 func(), inv_dist6(), core::scoring::constraints::Constraint::score_type(), and protocols::kinmatch::xyz().

◆ score() [3/4]

Real core::scoring::constraints::Constraint::score

Returns the unweighted score of this constraint computed over the given pose.

◆ score() [4/4]

Real core::scoring::constraints::Constraint::score

Returns the weighted score of this constraint computed over the given pose.

◆ show()

void core::scoring::constraints::AmbiguousNMRDistanceConstraint::show ( std::ostream &  ) const
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 atoms1_, atoms2_, func_, and core::conformation::membrane::out.

◆ show_def()

void core::scoring::constraints::AmbiguousNMRDistanceConstraint::show_def ( std::ostream &  ,
pose::Pose const &   
) const
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.

References atoms1_, atoms2_, core::scoring::constraints::combine_NMR_atom_string(), func_, core::conformation::membrane::out, and type().

◆ show_violations()

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

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 core::chemical::ResidueType::atom_name(), atoms1_, atoms2_, dist(), func_, core::conformation::membrane::out, and core::pose::Pose::residue_type().

◆ type()

std::string core::scoring::constraints::AmbiguousNMRDistanceConstraint::type ( ) const
inlineoverridevirtual

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

◆ atoms1_

Atoms core::scoring::constraints::AmbiguousNMRDistanceConstraint::atoms1_
private

◆ atoms2_

Atoms core::scoring::constraints::AmbiguousNMRDistanceConstraint::atoms2_
private

◆ func_

func::FuncOP core::scoring::constraints::AmbiguousNMRDistanceConstraint::func_
private

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