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

#include <MultiConstraint.hh>

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

Classes

struct  dont_copy_constraints
 

Public Member Functions

 MultiConstraint (ScoreType const &t=dof_constraint)
 default Constructor More...
 
 MultiConstraint (ConstraintCOPs const &cst_in, ScoreType const &t=dof_constraint)
 Constructor – performs a shallow copy of the input ConstraintCOPs. More...
 
ConstraintOP clone () const override
 Creates a deep copy of this MultiConstaint, cloning all constraints that it holds. More...
 
virtual MultiConstraintOP empty_clone () const
 
Size natoms () const override
 number of atoms involved in this MultiConstraint container More...
 
Size size () const
 number of constraints that are held by this MultiConstraint More...
 
std::string type () const override
 Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class. More...
 
void read_def (std::istream &data, pose::Pose const &pose, func::FuncFactory const &func_factory) override
 read in constraint defiinition 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 score (func::XYZ_Func const &xyz_func, EnergyMap const &weights, EnergyMap &emap) const override
 compute score More...
 
core::Real dist (core::scoring::func::XYZ_Func const &) const override
 
AtomID const & atom (Size const n) const override
 Returns the AtomID referred to by index. More...
 
utility::vector1< core::Sizeresidues () const override
 Returns the pose numbers of the residues involved in this constraint, in no particular order. More...
 
void setup_for_scoring (func::XYZ_Func const &, ScoreFunction const &) const override
 
virtual void add_individual_constraint (ConstraintCOP cst_in)
 add individual constraint into MultiConstraint 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...
 
void fill_f1_f2 (AtomID const &atom, func::XYZ_Func const &xyz, Vector &F1, Vector &F2, EnergyMap const &weights) const override
 compute atom deriv 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.0) 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...
 
ConstraintCOPs const & member_constraints () const
 
ConstraintOP remapped_clone (pose::Pose const &, pose::Pose const &, 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 .. NULL = identity mapping to the new object. Intended to be implemented by derived classes. More...
 
void set_effective_sequence_separation (core::Size setting)
 
core::Size choose_effective_sequence_separation (core::kinematics::ShortestPathInFoldTree const &sp, numeric::random::RandomGenerator &) override
 
core::Size effective_sequence_separation (core::kinematics::ShortestPathInFoldTree const &) const override
 
- Public Member Functions inherited from core::scoring::constraints::Constraint
 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 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...
 
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
 Inequality operator to test whether two constraints are not functionally identical. More...
 

Protected Member Functions

 MultiConstraint (MultiConstraint const &src)
 Explicit copy constructor so that derived classes will recieve a deep copy of the member constraints held in this class. More...
 
 MultiConstraint (MultiConstraint const &src, dont_copy_constraints const &)
 non-public key for special constructor More...
 
ConstraintCOPs cloned_member_constraints () const
 Return a vector of Constraints that are clones of the member constraints. More...
 

Private Attributes

ConstraintCOPs member_constraints_
 
utility::vector1< core::Sizemember_residues_
 
utility::vector1< AtomIDmember_atoms_
 
std::map< AtomID, ConstraintCOPsatomid_to_csts_
 
core::Size report_this_as_effective_sequence_separation_ = 0
 

Additional Inherited Members

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

Constructor & Destructor Documentation

core::scoring::constraints::MultiConstraint::MultiConstraint ( ScoreType const &  t = dof_constraint)

default Constructor

Referenced by clone().

core::scoring::constraints::MultiConstraint::MultiConstraint ( ConstraintCOPs const &  cst_in,
ScoreType const &  t = dof_constraint 
)

Constructor – performs a shallow copy of the input ConstraintCOPs.

Constructor.

References add_individual_constraint().

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

Explicit copy constructor so that derived classes will recieve a deep copy of the member constraints held in this class.

References add_individual_constraint(), and member_constraints_.

core::scoring::constraints::MultiConstraint::MultiConstraint ( MultiConstraint const &  src,
dont_copy_constraints const &   
)
protected

non-public key for special constructor

a copy constructor where the underlying constraints aren't copied. (For subclasses which handle their own constraint copying.

Member Function Documentation

void core::scoring::constraints::MultiConstraint::add_individual_constraint ( ConstraintCOP  cst_in)
virtual
AtomID const& core::scoring::constraints::MultiConstraint::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 member_atoms_.

core::Size core::scoring::constraints::MultiConstraint::choose_effective_sequence_separation ( core::kinematics::ShortestPathInFoldTree const &  sp,
numeric::random::RandomGenerator &  RG 
)
overridevirtual
ConstraintOP core::scoring::constraints::MultiConstraint::clone ( ) const
overridevirtual

Creates a deep copy of this MultiConstaint, cloning all constraints that it holds.

Clone all of the member constraints into a new vector and then invoke the (shallow-copy) constructor that accepts a vector of ConstriantCOPs – if this MultiConstraint doesn't have any member constraints, then return a default-constructed one.

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

Reimplemented in protocols::constraints_additional::AmbiguousMultiConstraint, core::scoring::constraints::SiteConstraint, and core::scoring::constraints::SiteConstraintResidues.

References MultiConstraint().

Referenced by cloned_member_constraints().

ConstraintCOPs core::scoring::constraints::MultiConstraint::cloned_member_constraints ( ) const
protected
core::Real core::scoring::constraints::MultiConstraint::dist ( core::scoring::func::XYZ_Func const &  ) const
inlineoverridevirtual

MultiConstraints don't have a single distance

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

core::Size core::scoring::constraints::MultiConstraint::effective_sequence_separation ( core::kinematics::ShortestPathInFoldTree const &  ) const
inlineoverridevirtual
MultiConstraintOP core::scoring::constraints::MultiConstraint::empty_clone ( ) const
virtual
void core::scoring::constraints::MultiConstraint::fill_f1_f2 ( AtomID const &  atom,
func::XYZ_Func const &  xyz,
Vector F1,
Vector F2,
EnergyMap const &  weights 
) const
overridevirtual

compute atom deriv

function that figures out what constraints this atom is part of and calculates the derivative for those

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

References atomid_to_csts_.

ConstraintCOPs const& core::scoring::constraints::MultiConstraint::member_constraints ( ) const
inline

References member_constraints_.

Referenced by core::scoring::constraints::AmbiguousNMRConstraint::add_individual_constraint(), core::scoring::constraints::AmbiguousConstraint::AmbiguousConstraint(), core::scoring::constraints::AmbiguousNMRConstraint::AmbiguousNMRConstraint(), choose_effective_sequence_separation(), core::scoring::constraints::AmbiguousNMRConstraint::dist(), core::scoring::constraints::KofNConstraint::empty_clone(), core::scoring::constraints::AmbiguousConstraint::fill_f1_f2(), core::scoring::constraints::AmbiguousNMRConstraint::fill_f1_f2(), core::scoring::constraints::KofNConstraint::KofNConstraint(), core::scoring::constraints::KofNConstraint::read_def(), core::scoring::constraints::KofNConstraint::remap_resid(), core::scoring::constraints::AmbiguousNMRConstraint::remap_resid(), core::scoring::constraints::AmbiguousConstraint::remap_resid(), protocols::constraints_additional::AmbiguousMultiConstraint::remap_resid(), core::scoring::constraints::KofNConstraint::score(), core::scoring::constraints::AmbiguousConstraint::score(), protocols::constraints_additional::AmbiguousMultiConstraint::score(), core::scoring::constraints::FabConstraint::show(), core::scoring::constraints::SiteConstraintResidues::show(), core::scoring::constraints::SiteConstraint::show(), core::scoring::constraints::KofNConstraint::show(), core::scoring::constraints::AmbiguousConstraint::show(), protocols::constraints_additional::AmbiguousMultiConstraint::show(), core::scoring::constraints::KofNConstraint::show_def(), core::scoring::constraints::AmbiguousNMRConstraint::show_def(), show_def(), core::scoring::constraints::KofNConstraint::show_violations(), core::scoring::constraints::AmbiguousConstraint::show_violations(), protocols::constraints_additional::AmbiguousMultiConstraint::show_violations(), and core::scoring::constraints::AmbiguousNMRConstraint::show_violations().

Size core::scoring::constraints::MultiConstraint::natoms ( ) const
overridevirtual

number of atoms involved in this MultiConstraint container

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

References member_atoms_.

bool core::scoring::constraints::MultiConstraint::operator== ( Constraint const &  other_cst) const
overridevirtual
void core::scoring::constraints::MultiConstraint::read_def ( std::istream &  data,
pose::Pose const &  pose,
func::FuncFactory const &  func_factory 
)
overridevirtual

read in constraint defiinition

read definition of a multiconstraint. Since a MultiConstraint is essentially a vector of ?????? (Please someone finish this)

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

Reimplemented in core::scoring::constraints::SiteConstraint, and core::scoring::constraints::SiteConstraintResidues.

References add_individual_constraint(), member_constraints_, show_def(), size(), core::scoring::constraints::tr(), and type().

Referenced by core::scoring::constraints::AmbiguousNMRConstraint::read_def().

ConstraintOP core::scoring::constraints::MultiConstraint::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.

Reimplemented in protocols::constraints_additional::AmbiguousMultiConstraint.

References member_constraints_.

ConstraintOP core::scoring::constraints::MultiConstraint::remapped_clone ( pose::Pose const &  ,
pose::Pose const &  ,
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 .. NULL = identity mapping to the new object. Intended to be implemented by derived classes.

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

References empty_clone(), and member_constraints_.

utility::vector1< core::Size > core::scoring::constraints::MultiConstraint::residues ( ) const
inlineoverridevirtual

Returns the pose numbers of the residues involved in this constraint, in no particular order.

Used in determining one-body/two-body/multi-body status. For historical reasons, the default uses a simple protocol based on natoms()/atom() - feel free to reimplement more efficiently.

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

References member_residues_.

Referenced by core::scoring::constraints::SiteConstraint::setup_csts().

bool core::scoring::constraints::MultiConstraint::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.

Reimplemented in protocols::constraints_additional::AmbiguousMultiConstraint, core::scoring::constraints::SiteConstraint, and core::scoring::constraints::SiteConstraintResidues.

Referenced by operator==().

void core::scoring::constraints::MultiConstraint::score ( func::XYZ_Func const &  xyz_func,
EnergyMap const &  weights,
EnergyMap emap 
) const
overridevirtual
void core::scoring::constraints::MultiConstraint::set_effective_sequence_separation ( core::Size  setting)
inline
void core::scoring::constraints::MultiConstraint::setup_for_scoring ( func::XYZ_Func const &  xyz,
ScoreFunction const &  scfxn 
) const
overridevirtual
void core::scoring::constraints::MultiConstraint::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.

Reimplemented in protocols::constraints_additional::AmbiguousMultiConstraint, core::scoring::constraints::SiteConstraint, and core::scoring::constraints::SiteConstraintResidues.

References member_constraints_.

void core::scoring::constraints::MultiConstraint::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 member_constraints(), and type().

Referenced by read_def().

Size core::scoring::constraints::MultiConstraint::show_violations ( std::ostream &  out,
pose::Pose const &  ,
Size  ,
Real  threshold = 1.0 
) 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.

Reimplemented in protocols::constraints_additional::AmbiguousMultiConstraint.

References member_constraints_.

Size core::scoring::constraints::MultiConstraint::size ( ) const
std::string core::scoring::constraints::MultiConstraint::type ( ) const
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 protocols::constraints_additional::AmbiguousMultiConstraint, core::scoring::constraints::SiteConstraint, and core::scoring::constraints::SiteConstraintResidues.

Referenced by read_def(), and show_def().

Member Data Documentation

std::map< AtomID, ConstraintCOPs > core::scoring::constraints::MultiConstraint::atomid_to_csts_
private
utility::vector1< AtomID > core::scoring::constraints::MultiConstraint::member_atoms_
private
ConstraintCOPs core::scoring::constraints::MultiConstraint::member_constraints_
private
utility::vector1< core::Size > core::scoring::constraints::MultiConstraint::member_residues_
private
core::Size core::scoring::constraints::MultiConstraint::report_this_as_effective_sequence_separation_ = 0
private

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