Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BackboneStubConstraint.hh
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file core/scoring/constraints/BackboneStubConstraint.hh
11 ///
12 /// @brief
13 /// @author John Karanicolas, Sarel Fleishman
14 
15 
16 #ifndef INCLUDED_core_scoring_constraints_BackboneStubConstraint_hh
17 #define INCLUDED_core_scoring_constraints_BackboneStubConstraint_hh
18 
22 
23 // AUTO-REMOVED #include <core/pose/Pose.hh>
24 // AUTO-REMOVED #include <utility/vector1.hh>
25 #include <utility/pointer/owning_ptr.hh>
26 
28 #include <utility/vector1.hh>
29 #include <numeric/xyzVector.hh>
30 
31 
32 namespace core {
33 namespace scoring {
34 namespace constraints {
35 
36 
37 ///@brief This constraint favors the backbone landing on a "stub" backbone, which puts the sidechain in a pre-determined desirable location
38 ///
40 {
41 public:
42  virtual std::string type() const {
43  return "BackboneStub";
44  }
45 
47  pose::Pose const & pose,
48  Size const seqpos,
49  AtomID const & fixed_atom_id,
50  conformation::Residue const & target_rsd,
51  core::Real const & superposition_bonus,
52  core::Real const & CB_force_constant
53  );
54 
56 
57  virtual Size natoms() const { return atom_ids_.size(); };
58 
59  virtual AtomID const & atom( Size const index ) const { return atom_ids_[index]; };
60 
61  /// @brief possibility to compare constraint according to data
62  /// and not just pointers
63  bool operator == ( Constraint const & other ) const;
64 
65  virtual
66  void
67  score( XYZ_Func const & xyz_func, EnergyMap const & weights, EnergyMap & emap ) const;
68 
69  virtual
70  void
71  fill_f1_f2(
72  AtomID const & atom,
73  XYZ_Func const & xyz,
74  Vector & F1,
75  Vector & F2,
76  EnergyMap const & weights
77  ) const;
78 
79  virtual void show( std::ostream& out ) const;
80 
81 /// @brief returns the private member seqpos_
82  core::Size seqpos() const;
83  virtual
84  ConstraintOP clone() const;
85 
86  /// @brief Copies the data from this Constraint into a new object and returns an OP
87  /// atoms are mapped to atoms with the same name in dest pose ( e.g. for switch from centroid to fullatom )
88  /// if a sequence_mapping is present it is used to map residue numbers .. NULL = identity mapping
89  /// to the new object. Intended to be implemented by derived classes.
91  pose::Pose const & src,
92  pose::Pose const & dest,
93  id::SequenceMappingCOP map = NULL
94  ) const;
95 
96 
97  /*virtual
98  ConstraintOP
99  remap_resid( core::id::SequenceMapping const & seqmap ) const;
100  */
101 
102 private:
103 
106 
110 
112 
115 
116  /// why is this static?
118 
119 }; // BackboneStubConstraint
120 
121 
122 } // namespace constraints
123 } // namespace scoring
124 } // namespace core
125 
126 #endif // INCLUDED_core_scoring_constraints_BackboneStubConstraint_HH