Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_Mg_Energy.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/rna/RNA_Mg_Energy.hh
11 /// @brief Statistically derived Mg(2+) binding potential for RNA.
12 /// @author Rhiju Das
13 
14 
15 #ifndef INCLUDED_core_scoring_rna_RNA_Mg_Energy_hh
16 #define INCLUDED_core_scoring_rna_RNA_Mg_Energy_hh
17 
18 // Unit Headers
20 
21 // Package headers
27 
28 // Project headers
29 #include <core/pose/Pose.fwd.hh>
30 
31 #include <utility/vector1.hh>
32 
33 
34 // AUTO-REMOVED #include <map>
35 
36 // Utility headers
37 
38 
39 namespace core {
40 namespace scoring {
41 namespace rna {
42 
43 ///
45 public:
47 
48 public:
49 
50  ///
51  RNA_Mg_Energy();
52 
53  /// clone
54  virtual
56  clone() const;
57 
58  /////////////////////////////////////////////////////////////////////////////
59  // scoring
60  /////////////////////////////////////////////////////////////////////////////
61 
62  virtual
63  void
64  setup_for_scoring( pose::Pose & pose, ScoreFunction const & ) const;
65 
66  virtual
67  void
68  setup_for_derivatives( pose::Pose & pose, ScoreFunction const & ) const;
69 
70  virtual
71  void
73 
74  virtual
75  void
77  conformation::Residue const & rsd1,
78  conformation::Residue const & rsd2,
79  pose::Pose const & pose,
80  ScoreFunction const &,
81  EnergyMap & emap
82  ) const;
83 
84 
85  virtual
86  void
88  conformation::Residue const &,
89  pose::Pose const &,
90  ScoreFunction const &,
91  EnergyMap &
92  ) const {}
93 
94 
95  virtual
96  void
98  id::AtomID const & atom_id,
99  pose::Pose const & pose,
100  kinematics::DomainMap const & domain_map,
101  ScoreFunction const & scorefxn,
102  EnergyMap const & weights,
103  Vector & F1,
104  Vector & F2
105  ) const;
106 
107  virtual
108  bool
109  defines_intrares_energy( EnergyMap const & /*weights*/ ) const { return false; }
110 
111  virtual
112  Distance
114 
115  virtual
116  void indicate_required_context_graphs( utility::vector1< bool > & context_graphs_required ) const;
117 
118 private:
119 
120  Size
122  utility::vector1< utility::vector1< Size > > const & atom_numbers_for_vdw_calculation,
123  Size const & pos1,
124  Size const & i ) const;
125 
126  Size
128  char const which_nucleotide,
129  Size const & i ) const;
130 
131  /////////////////////////////////////////////////////////////////////////////
132  // data
133  /////////////////////////////////////////////////////////////////////////////
134 
135 private:
136 
137  //Helper functions just to get things set up.
138  void
140 
141  void
143  conformation::Residue const & rsd1, // The RNA residue
144  conformation::Residue const & rsd2, // The Mg(2+)
145  pose::Pose const & pose,
146  EnergyMap & emap
147  ) const;
148  Real
150  Gaussian_parameter const & mg_potential_gaussian_parameter,
151  Vector const & pos1,
152  Vector const & pos2 ) const;
153 
154  Real
156  Gaussian_parameter const & mg_potential_gaussian_parameter,
157  Real const d) const;
158 
159  Real
161  Size const i, Vector const & i_xyz, Vector const & j_xyz ) const;
162 
163  virtual
164  core::Size version() const;
165 
168 
169  bool const verbose_;
170 
171 };
172 
173 
174 }
175 }
176 }
177 
178 #endif // INCLUDED_core_scoring_ScoreFunction_HH