Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_CS_Parameters.hh
Go to the documentation of this file.
1 // (c) Copyright Rosetta Commons Member Institutions.
2 // (c) This file is part of the Rosetta software suite and is made available under license.
3 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
4 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
5 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
6 
7 
8 /// @file core/scoring/rna/chemical_shift/RNA_CS_Parameters.hh
9 /// @brief
10 /// @author Parin Sripakdeevong (sripakpa@stanford.edu)
11 
12 
13 
14 #ifndef INCLUDED_core_scoring_rna_RNA_CS_Parameters_HH
15 #define INCLUDED_core_scoring_rna_RNA_CS_Parameters_HH
16 
17 #include <core/types.hh>
18 
19 #include <core/chemical/AA.hh>
20 
22 #include <core/pose/Pose.fwd.hh>
23 #include <core/id/AtomID.fwd.hh>
25 
26 
27 #include <utility/pointer/owning_ptr.hh>
28 #include <utility/pointer/ReferenceCount.hh>
29 
30 
31 
32 //////////////////////////////////////////////////////////////////////////////////
33 //////////////////////////////////////////////////////////////////////////////////
34 //////////////////////////////////////////////////////////////////////////////////
35 
36 namespace core {
37 namespace scoring {
38 namespace rna {
39 namespace chemical_shift {
40 
41 ////////////////////////////////////////////////////////////////////////////////////////////////////
42 ////////////////////////////////////////////////////////////////////////////////////////////////////
43 ////////////////////////////////////////////////////////////////////////////////////////////////////
44 ////////////////////////////////////////////////////////////////////////////////////////////////////
45 
46 
48  //1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
49 
50  //const char* const atomdesc[] = {"OSHI", "XDIR", "YDIR", "ZDIR", "CSCA", "SUGA",
51  // "RCL1", "RCL2", "RCL3", "MACA", "MAQX", "MAQW",
52  // "MAQY", "MAQZ", "MARX", "MARY", "MARZ", "CHCO",
53  // "CHRG"};
54  // Numerical data in the description of atoms (add 4 letter abbs
55  // for new data, used by new calculations in this list)
56  // and add the same abbs in the same order in the enum line above
57  // (before last_atomdesc)
58 
59  // OSHI, offset of the chemical shift calculation
60  // XDIR, YDIR, ZDIR x-axis, y-axis, z-axis
61  // from mean of all atoms tagged 1 to mean of all atoms tagged 2
62  // CSCA has to be nonzero if the chemical shift must be calculated for the atom
63  // SUGA has to be true if an atom counts to the sugar part
64  // Magnetic anisotropy and Ring current are not calculated for base
65  // protons they are however for the sugar protons.
66  // MA is data for MAGNETIC ANISOTROPY MODULE
67  // MACA has to be nonzero if this atom gives no contribution to MA
68  // MAQ/MAR are the Q and R tensors. MAQW = the Qxy tensor!
69  // CHCO must be the atom number to which te hydrogen is attached
70  // if the csd due to the electrical field has to be calculated for
71  // this hydrogen atom
72  // CHRG charge information for an atom
73 
74 
75 
76 ////////////////////////////////////////////////////////////////////////////////////////////////////
77 
79 
80 
81  public:
82 
84 
86 
87  std::string const base_name() const;
88 
89  Size num_rings() const;
90 
91  Real ring_intensity(Size const ring_ID) const;
92 
93  Real ring_radius(Size const ring_ID) const;
94 
95  Real ring_height(Size const ring_ID) const;
96 
97  Size get_atomnames_size() const;
98 
99  std::string const get_atomname(Size const count) const;
100 
101  //Undefinded, commenting out to fix PyRosetta build utility::vector1< std::string > const & get_ring_center_representative_atoms() const;
102 
103  Real atom_data(Size const atom, atomitem const item) const;
104 
105  Real ring_current_coeff() const;
106 
108 
110 
111  chemical::AA aa() const;
112 
113  private:
114 
115 
116  private:
117 
118  chemical::AA const res_aa_; //chemical::AA is enum_type: na_rgu (25), na_rad (26), na_rcy (27), na_ura (28). Usage: chemical::AA const & res_aa = pose1.residue(moving_res_1).aa();,
119  Size const maxatoms_; //Max number of atoms in each nucleotide.
120  core::Real const RCCO_; //This constant does not depend on specific RNA base, but moved here for convenient.
121  core::Real const MACQ_; //This constant does not depend on specific RNA base, but moved here for convenient.
122  core::Real const MACR_; //This constant does not depend on specific RNA base, but moved here for convenient.
123 
126 
127 
128  utility::vector1< core::Real > ring_intensity_; //RCI ring current intensity (relative to benzene?)
129  utility::vector1< core::Real > ring_radius_; //RCR: Radius of the ring (Angstrom)
130  utility::vector1< core::Real > ring_height_; //RCH: Distance of the ring current loops to the molecular plane (Angstrom)
131 
133 
134  utility::vector1< utility::vector1< core::Real > > realatomdata_; //[maxdiffbases][maxatoms][last_atomdesc];
135 
136 };
137 
138 ////////////////////////////////////////////////////////////////////////////////////////////////////
139 
141 
142 
143  //COMM RNA data set without charge
144 
145  public:
146 
148 
149 
151 
152  public:
153 
155  get_RNA_CS_residue_parameters(chemical::AA const res_aa) const;
156 
157 
158  private:
164 
165 };
166 
167 
168 
169 
170 } // chemical_shift
171 } // rna
172 } // scoring
173 } // core
174 
175 
176 #endif