Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_TorsionEnergy.cc
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/methods/RNA_TorsionEnergy.cc
11 /// @brief RNA_Torsion energy method class implementation
12 /// @author Rhiju Das
13 
14 // Unit Headers
17 
18 // Package Headers
21 
22 // Project headers
23 
24 // Utility headers
25 // AUTO-REMOVED #include <numeric/conversions.hh>
26 
28 #include <utility/vector1.hh>
29 
30 
31 // C++
32 
33 
34 namespace core {
35 namespace scoring {
36 namespace rna {
37 
38 
39 /// @details This must return a fresh instance of the RNA_TorsionEnergy class,
40 /// never an instance already in use
44 ) const {
45  return new RNA_TorsionEnergy;
46 }
47 
50  ScoreTypes sts;
51  sts.push_back( rna_torsion );
52  return sts;
53 }
54 
55 
56 /// ctor
59  rna_torsion_potential_( ScoringManager::get_instance()->get_RNA_TorsionPotential() )
60 {}
61 
62 /// clone
65 {
66  return new RNA_TorsionEnergy;
67 }
68 
69 
70 ///////////////////////////////////////////////////////////////////////////////
71 void
73  conformation::Residue const & rsd1,
74  conformation::Residue const & rsd2,
75  pose::Pose const & pose,
76  ScoreFunction const &,
77  EnergyMap & emap ) const {
78 
79  EnergyMap emap_temp;
80  emap[ rna_torsion ] += rna_torsion_potential_.residue_pair_energy( rsd1, rsd2, pose );
81 
82 }
83 
84 
85 ///////////////////////////////////////////////////////////////////////////////
86 void
88  conformation::Residue const & rsd,
89  pose::Pose const & pose,
90  ScoreFunction const &,
91  EnergyMap & emap ) const {
92 
94  // emap[ rna_sugar_close ] += rna_torsion_potential_->eval_sugar_close_energy( rsd1, rsd2, pose );
95 
96 
97 }
98 
99 
100 
101 ///////////////////////////////////////////////////////////////////////////////
102 void
104  id::AtomID const & id,
105  pose::Pose const & pose,
106  kinematics::DomainMap const &, // domain_map,
107  ScoreFunction const &,
108  EnergyMap const & weights,
109  Vector & F1,
110  Vector & F2
111 ) const
112 {
113 
114  rna_torsion_potential_.eval_atom_derivative( id, pose, weights, F1, F2 );
115 
116  // Hey, maybe RNA sugar close potential should be a DIFFERENT energy function now.
117  // rna_torsion_potential_->eval_atom_derivative_sugar( id, pose, sfxn, weights, F1, F2 );
118 
119 }
120 
121 
123 
124 /// @brief RNA_PairwiseLowResolutionEnergy distance cutoff
125 Distance
127 {
128  return 0.0; /// Uh, I don't know.
129 }
130 
133 {
134  return 2; // A new torsion potential (integration from Das lab branch -- Aug 2011)
135 }
136 
137 
138 
139 } // rna
140 } // scoring
141 } // core
142