Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FullatomDisulfideEnergy.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/disulfides/FullatomDisulfideEnergy.fwd.hh
11 /// @brief Disulfide Energy class forward declaration
12 /// @author Andrew Leaver-Fay
13 
14 #ifndef INCLUDED_core_scoring_disulfides_FullatomDisulfideEnergy_hh
15 #define INCLUDED_core_scoring_disulfides_FullatomDisulfideEnergy_hh
16 
17 // Unit headers
19 
20 // Package headers
25 #include <core/id/TorsionID.fwd.hh>
27 
28 #include <utility/vector1.hh>
29 
30 
31 namespace core {
32 namespace scoring {
33 namespace disulfides {
34 
36 public:
38 
39 public:
40 
42  virtual ~FullatomDisulfideEnergy();
43 
44  // EnergyMethod Methods:
45  virtual
47  clone() const;
48 
49  /// @brief check that the fullatom disulfid energy container is the right size, and the
50  /// set of disulfides it holds corresponds correctly to the set of disulfides in the Pose.
51  void
53  pose::Pose & pose
54  ) const;
55 
56  virtual
57  void
58  setup_for_scoring( pose::Pose &, ScoreFunction const & ) const;
59 
60  /// @brief Make sure that the FullatomDisulfideEnergyContainer is ready for packing.
61  virtual
62  void
64  pose::Pose & pose,
65  utility::vector1< bool > const & residues_repacking,
66  utility::vector1< bool > const & residues_designing
67  ) const;
68 
69  /// @brief Returns true only for disulfide-bonded residue pairs
70  virtual
71  bool
73  conformation::Residue const & res1,
74  conformation::Residue const & res2,
75  bool res_moving_wrt_eachother
76  ) const;
77 
78  virtual
79  bool
81 
82  /// @brief During minimization, access atom-index information from the ResPairMinimizationData
83  virtual
84  bool
86 
87  /// @brief Pull the atom-index information out of min_data object, and use those indices to
88  /// score the disulfide bond
89  virtual
90  void
92  conformation::Residue const & rsd1,
93  conformation::Residue const & rsd2,
94  ResPairMinimizationData const & min_data,
95  pose::Pose const & pose,
96  ScoreFunction const & sfxn,
97  EnergyMap & emap
98  ) const;
99 
100  /// @brief Initialize the atom-index information for a particular residue pair and store those
101  /// indices in the ResPairMinimizationData data_cache
102  virtual
103  void
105  conformation::Residue const & rsd1,
106  conformation::Residue const & rsd2,
107  pose::Pose const & pose,
108  ScoreFunction const & sfxn,
109  kinematics::MinimizerMapBase const & minmap,
110  ResSingleMinimizationData const & res1_data_cache,
111  ResSingleMinimizationData const & res2_data_cache,
112  ResPairMinimizationData & data_cache
113  ) const;
114 
115  /// @brief Retrieve the atom-index information for this residue pair from the minpair_data object
116  /// and evaluate the derivatives for a particular atom.
117  /*virtual
118  void
119  eval_atom_derivative_for_residue_pair(
120  Size const atom_index,
121  conformation::Residue const & rsd1,
122  conformation::Residue const & rsd2,
123  ResSingleMinimizationData const & minsingle_data1,
124  ResSingleMinimizationData const & minsingle_data2,
125  ResPairMinimizationData const & minpair_data,
126  pose::Pose const & pose, // provides context
127  kinematics::DomainMap const & domain_map,
128  ScoreFunction const & sfxn,
129  EnergyMap const & weights,
130  Vector & F1,
131  Vector & F2
132  ) const;*/
133  virtual
134  void
136  conformation::Residue const & rsd1,
137  conformation::Residue const & rsd2,
140  ResPairMinimizationData const & min_data,
141  pose::Pose const & pose, // provides context
142  EnergyMap const & weights,
143  utility::vector1< DerivVectorPair > & r1_atom_derivs,
144  utility::vector1< DerivVectorPair > & r2_atom_derivs
145  ) const;
146 
147 
148  virtual
149  void
151  id::AtomID const &,
152  pose::Pose const &,
153  kinematics::DomainMap const &,
154  ScoreFunction const &,
155  EnergyMap const &,
156  Vector &,// F1,
157  Vector & // F2
158  ) const;
159 
160 
161  virtual
162  Real
164  id::DOF_ID const &,
165  id::TorsionID const &,
166  pose::Pose const &,
167  ScoreFunction const &,
168  EnergyMap const &
169  ) const;
170 
171  virtual
173 
174  // TwoBodyEnergy Methods:
175  virtual
176  void
178  conformation::Residue const & rsd1,
179  conformation::Residue const & rsd2,
180  pose::Pose const & pose,
181  ScoreFunction const & sfxn,
182  EnergyMap & emap
183  ) const;
184 
185  virtual
186  bool
187  defines_intrares_energy( EnergyMap const & weights ) const;
188 
189  virtual
190  void
192  conformation::Residue const & rsd,
193  pose::Pose const & pose,
194  ScoreFunction const & sfxn,
195  EnergyMap & emap
196  ) const;
197 
198  // LongRangeTwoBodyEnergy methods
200 
201  virtual
202  bool
204  pose::Pose const & pose,
205  Size res1,
206  Size res2
207  ) const;
208 
209 private:
211 virtual
212 core::Size version() const;
213 
214 };
215 
216 
217 
218 } // namespace disulfides
219 } // namespace scoring
220 } // namespace core
221 
222 #endif