Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_ChemicalShiftEnergy.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/rna/chemical_shift/RNA_ChemicalShiftEnergy.cc
11 /// @brief Energy score based on the agreement between experimentally determined and theoretically calculated NMR chemical_shift
12 /// @author Parin Sripakdeevong (sripakpa@stanford.edu)
13 
14 
15 // Unit headers
18 
20 
21 // Project headers
22 #include <core/pose/Pose.hh>
25 
26 
27 // Utility headers
28 
29 //Auto Headers
30 #include <core/id/AtomID.hh>
32 
33 ////////////////////////////////////////////////////////
34 
35 
36 // C++
37 
38 namespace core {
39 namespace scoring {
40 namespace rna {
41 namespace chemical_shift {
42 
43 
44 /// @details This must return a fresh instance of the RNA_ChemicalShiftEnergy class,
45 /// never an instance already in use
49 ) const {
50  return new RNA_ChemicalShiftEnergy;
51 }
52 
55  ScoreTypes sts;
56  sts.push_back( rna_chem_shift );
57  return sts;
58 }
59 
60 
61 /// c-tor
64  rna_chemical_shift_potential_( ScoringManager::get_instance()->get_RNA_ChemicalShiftPotential() )
65 {}
66 
67 /// clone
70 {
71  return new RNA_ChemicalShiftEnergy;
72 }
73 
74 
75 /////////////////////////////////////////////////////////////////////////////
76 // scoring
77 /////////////////////////////////////////////////////////////////////////////
78 
79 /////////////////////////////////////////////////////////////////////////////
80 void
82 {
83 
84 
85  //MIGHT BENEFIT FROM SOME BOOKKEEPING such as MAPPING atom_namerealatomdata_index/ to atom_index for fast look-up;
86 
87 }
88 
89 
90 /////////////////////////////////////////////////////////////////////////////
91 void
93 {
94 
95 
96  //MIGHT BENEFIT FROM SOME BOOKKEEPING such as MAPPING atom_namerealatomdata_index/ to atom_index for fast look-up;
97  //or precalculate the calc_chem_shift values of the atoms with CS_data
98  //this assumes that the pose conformation does change between the call to setup_for_derivative() and the calls to eval_atom_derivative()
99 
100 }
101 
102 
103 ///////////////////////////////////////////////////////////////////////////////
104 void
106  pose::Pose & pose,
107  ScoreFunction const &,
108  EnergyMap & totals
109 ) const {
110 
112 
113 } // finalize_total_energy
114 
115 ///////////////////////////////////////////////////////////////////////////////
116 void
118  id::AtomID const & atom_id,
119  pose::Pose const & pose,
120  kinematics::DomainMap const & domain_map,
121  ScoreFunction const &,
122  EnergyMap const & weights,
123  Vector & F1,
124  Vector & F2
125  ) const
126 {
127 
128  rna_chemical_shift_potential_.eval_atom_derivative( atom_id, pose, domain_map, weights, F1, F2 );
129 
130 
131 } // eval atom derivative
132 
135 {
136  return 1; // Initial versioning
137 }
138 
139 
140 } // chemical_shift
141 } // rna
142 } // scoring
143 } // core