Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FullatomDisulfidePotential.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/FullatomDisulfidePotential.hh
11 /// @brief Fullatom Disulfide Potential class declaration
12 /// @author Andrew Leaver-Fay
13 
14 #ifndef INCLUDED_core_scoring_disulfides_FullatomDisulfidePotential_hh
15 #define INCLUDED_core_scoring_disulfides_FullatomDisulfidePotential_hh
16 
17 // Unit headers
19 
20 // Package headers
24 // AUTO-REMOVED #include <core/scoring/constraints/CircularHarmonicFunc.hh>
26 
27 // Project headers
28 #include <core/types.hh>
30 // AUTO-REMOVED #include <core/pose/Pose.fwd.hh>
31 
32 // ObjexxFCL headers
33 // AUTO-REMOVED #include <ObjexxFCL/FArray1D.hh>
34 
35 // Utility headers
36 #include <utility/pointer/ReferenceCount.hh>
37 #include <numeric/interpolation/Histogram.fwd.hh>
38 
39 #include <utility/vector1.hh>
40 
41 
42 namespace core {
43 namespace scoring {
44 namespace disulfides {
45 
47 {
48 public:
50 
51 public:
54 
55  void
56  print_score_functions() const;
57 
58  void
60  conformation::Residue const & res1,
61  conformation::Residue const & res2,
62  DisulfideAtomIndices const & res1_atom_indices,
63  DisulfideAtomIndices const & res2_atom_indices,
64  Energy & distance_score_this_disulfide,
65  Energy & csangles_score_this_disulfide,
66  Energy & dihedral_score_this_disulfide,
67  Energy & ca_dihedral_sc_this_disulf,
68  bool & truefalse_fa_disulf
69  ) const;
70 
71  void
73  conformation::Residue const & res1,
74  conformation::Residue const & res2,
75  DisulfideAtomIndices const & res1_atom_indices,
76  DisulfideAtomIndices const & res2_atom_indices,
77  Size const at1,
78  EnergyMap const & weights,
79  Vector & F1,
80  Vector & F2
81  ) const;
82 
83 private:
84 
85  void
87  conformation::Residue const & res1,
88  conformation::Residue const & res2,
89  DisulfideAtomIndices const & res1_atom_indices,
90  DisulfideAtomIndices const & res2_atom_indices,
91  Distance & dist_between_sulfurs, // dist between cys sulfurs
92  Real & cs_bond_angle_1,
93  Real & cs_bond_angle_2,
94  Real & disulf_dihedral_angle, // dihedral (torsion) angle, cbeta-s-s-cbeta
95  Real & disulf_ca_dihedral_angle_1,
96  // dihedral (torsion) angle, calpha1-cbeta1-s1-s2
97  Real & disulf_ca_dihedral_angle_2 // dihedral (torsion) angle, calpha2-cbeta2-s2-s1
98  ) const;
99 
100 private:
101  // for interp300 this is 300, others it is 100.
103 
108 
109 };
110 
112 {
113 public:
115  virtual ~CBSG_Dihedral_Func();
116 
117  virtual
118  Real
119  func( Real const ) const;
120 
122  clone() const { return new CBSG_Dihedral_Func( *this ); };
123 
124  virtual
125  Real
126  dfunc( Real const ) const;
127 private:
128  //Real const cbsg_pos_peak_;
129  //Real const cbsg_pos_sd_;
130  //Real const cbsg_neg_peak_;
131  //Real const cbsg_neg_sd_;
132 
136 
137 };
138 
140 {
141 public:
143 
145 
146  virtual
147  Real
148  func( Real const ) const;
149 
151  clone() const { return new SGSG_Dihedral_Func( *this ); };
152 
153  virtual
154  Real
155  dfunc( Real const ) const;
156 private:
157  /// Access the histogram for this Func
158  //static
159  //numeric::interpolation::HistogramCOP<core::Real,core::Real>::Type
160  //fa_sgsg_dihedral_scores();
161 
166 };
167 
169 {
170 public:
171  CB_Angle_Func();
172 
173  ~CB_Angle_Func();
174 
176  clone() const { return new CB_Angle_Func( *this ); };
177 
178  virtual
179  Real
180  func( Real const ) const;
181 
182 
183  virtual
184  Real
185  dfunc( Real const ) const;
186 private:
187  /// Access the histogram for this Func
188  //static
189  //numeric::interpolation::HistogramCOP<core::Real,core::Real>::Type
190  //fa_csang_scores();
191 
192  //core::scoring::constraints::CircularHarmonicFunc chf_cbang_;
193  //core::scoring::constraints::CircularSigmoidalFunc csf_cbang_;
194 
197 
198  //core::scoring::constraints::CircularSigmoidalFunc csf_cbang2_;
199  //core::scoring::constraints::CircularSigmoidalFunc csf_cbang3_;
200 };
201 
203 {
204 public:
205  SG_Dist_Func();
206 
207  ~SG_Dist_Func();
208 
210  clone() const { return new SG_Dist_Func( *this ); };
211 
212  virtual
213  Real
214  func( Real const ) const;
215 
216  virtual
217  Real
218  dfunc( Real const ) const;
219 
220 private:
221  /// Access the histogram for this Func
222  static
223  numeric::interpolation::HistogramCOP<core::Real,core::Real>::Type
225 
226  /// Access the histogram for this Func's derivative
227  static
228  numeric::interpolation::HistogramCOP<core::Real,core::Real>::Type
230 };
231 
232 
233 
234 } // namespace disulfides
235 } // namespace scoring
236 } // namespace core
237 
238 #endif