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

#include <MultiConstraint.hh>

Public Member Functions

 MultiConstraint (ScoreType const &t=dof_constraint)
 default Constructor More...
 
 MultiConstraint (const ConstraintCOPs &cst_in, ScoreType const &t=dof_constraint)
 Constructor. 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 MultiConstraintOP empty_clone () const
 
Size natoms () const
 number of atoms involved in this MultiConstraint container More...
 
Size size () const
 number of constraints data More...
 
virtual std::string type () const
 Returns a unique string identified for this constraint. Used in several places, including the ConstraintIO class. More...
 
virtual void read_def (std::istream &data, pose::Pose const &pose, func::FuncFactory const &func_factory)
 read in constraint defiinition More...
 
virtual bool operator== (Constraint const &other) const
 possibility to compare constraint according to data and not just pointers More...
 
virtual void score (func::XYZ_Func const &xyz_func, EnergyMap const &weights, EnergyMap &emap) const
 compute score More...
 
virtual AtomID const & atom (Size const n) const
 Returns the AtomID referred to by index. 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 setup_for_scoring (func::XYZ_Func const &, ScoreFunction const &) const
 
virtual void add_individual_constraint (ConstraintCOP cst_in)
 add individual constraint into MultiConstraint 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...
 
virtual void fill_f1_f2 (AtomID const &atom, func::XYZ_Func const &xyz, Vector &F1, Vector &F2, EnergyMap const &weights) const
 compute atom deriv 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...
 
virtual 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 Size show_violations (std::ostream &out, pose::Pose const &pose, Size verbose_level, Real threshold=1.0) 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...
 
ConstraintCOPs const & member_constraints () const
 
virtual ConstraintOP remapped_clone (pose::Pose const &, pose::Pose const &, 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 set_effective_sequence_separation (core::Size setting)
 
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
 
- 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 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::pose::Pose const &) const
 return the "raw" distance before handed to the FUNC object More...
 
virtual core::Real dist (core::scoring::func::XYZ_Func 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 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...
 
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...
 

Protected Attributes

ConstraintCOPs member_constraints_
 

Private Attributes

utility::vector1< core::Sizemember_residues_
 
utility::vector1< AtomIDmember_atoms_
 
std::map< AtomID, ConstraintCOPsAtomID_to_Csts_
 
core::Size report_this_as_effective_sequence_separation_
 

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

default Constructor

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

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

Constructor.

References add_individual_constraint().

Member Function Documentation

void core::scoring::constraints::MultiConstraint::add_individual_constraint ( ConstraintCOP  cst_in)
virtual
virtual AtomID const& core::scoring::constraints::MultiConstraint::atom ( Size const  index) const
inlinevirtual

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 
)
virtual
virtual ConstraintOP core::scoring::constraints::MultiConstraint::clone ( ) const
inlinevirtual
virtual core::Size core::scoring::constraints::MultiConstraint::effective_sequence_separation ( core::kinematics::ShortestPathInFoldTree const &  ) const
inlinevirtual
virtual MultiConstraintOP core::scoring::constraints::MultiConstraint::empty_clone ( ) const
inlinevirtual
void core::scoring::constraints::MultiConstraint::fill_f1_f2 ( AtomID const &  atom,
func::XYZ_Func const &  xyz,
Vector F1,
Vector F2,
EnergyMap const &  weights 
) const
virtual

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.

Reimplemented in core::scoring::constraints::AmbiguousNMRConstraint, core::scoring::constraints::KofNConstraint, and core::scoring::constraints::AmbiguousConstraint.

References AtomID_to_Csts_.

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

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
virtual

possibility to compare constraint according to data and not just pointers

this function only checks whether the member_constraints_ are identical. should mean by inference that the member_residues_, member_atoms_ and AtomID_to_Csts_ are also identical

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

Reimplemented in core::scoring::constraints::AmbiguousConstraint.

References member_constraints_, report_this_as_effective_sequence_separation_, and core::scoring::constraints::Constraint::score_type().

Referenced by core::scoring::constraints::AmbiguousConstraint::operator==().

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

Reimplemented in core::scoring::constraints::AmbiguousNMRConstraint, core::scoring::constraints::KofNConstraint, and core::scoring::constraints::AmbiguousConstraint.

References member_constraints_, and MultiConstraint().

ConstraintOP core::scoring::constraints::MultiConstraint::remapped_clone ( pose::Pose const &  ,
pose::Pose const &  ,
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 empty_clone(), and member_constraints_.

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

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

void core::scoring::constraints::MultiConstraint::score ( func::XYZ_Func const &  xyz_func,
EnergyMap const &  weights,
EnergyMap emap 
) const
virtual
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
virtual
void core::scoring::constraints::MultiConstraint::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.

Reimplemented in core::scoring::constraints::KofNConstraint, core::scoring::constraints::AmbiguousConstraint, core::scoring::constraints::SiteConstraint, core::scoring::constraints::SiteConstraintResidues, and core::scoring::constraints::FabConstraint.

References member_constraints_.

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

Reimplemented in core::scoring::constraints::AmbiguousNMRConstraint.

References begin, 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
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.

Reimplemented in core::scoring::constraints::AmbiguousNMRConstraint, core::scoring::constraints::KofNConstraint, and core::scoring::constraints::AmbiguousConstraint.

References member_constraints_.

Size core::scoring::constraints::MultiConstraint::size ( ) const
inline
virtual std::string core::scoring::constraints::MultiConstraint::type ( ) const
inlinevirtual

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_
protected
utility::vector1< core::Size > core::scoring::constraints::MultiConstraint::member_residues_
private
core::Size core::scoring::constraints::MultiConstraint::report_this_as_effective_sequence_separation_
private

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