Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_FittedTorsionInfo.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 /// @file core/scoring/rna/RNA_FittedTorsionInfo.cc
10 /// @brief Statistically derived torsion information for RNA
11 /// @author Rhiju Das
12 
13 
14 // Unit headers
16 
17 #include <utility/vector1.hh>
18 
19 
20 // Package headers
21 
22 
23 // Project headers
24 
25 // Utility headers
26 
27 // C++
28 
29 ///////////////////////////////////////////////////////
30 // Keep track of information from, e.g., chemical
31 // accessibility experiments -- useful for scoring.
32 ///////////////////////////////////////////////////////
33 
34 namespace core {
35 namespace scoring {
36 namespace rna {
37 
38 
40  rna_tight_torsions_( true ),
41  DELTA_CUTOFF_( 115.0 ),
42  //// Following are torsions that are optimized to minimize rna_torsion + sugar_close.
43  //// [ Due to frustration, impossible to satisfy ideal bond lengths+angles for arbitrary delta. ]
44  ideal_delta_north_( 85.4184 ),
45  ideal_nu2_north_( 37.3643 ),
46  ideal_nu1_north_( 92.2042 ),
47  ideal_delta_south_( 152.467 ),
48  ideal_nu2_south_( -38.085 ),
49  ideal_nu1_south_( 150.133 )
50  {
52  }
53 
55 
56  ///////////////////////////////////////////////////////////////////////////////////////
57  void
59  {
60  // These numbers refer to amplitude, mean, and width of fitted Gaussians.
61 
62  ////////////////////////////////////////////////////////////////////////////
63  // Parameters for alpha,beta,gamma,delta, etc. torsion constraints...
64  ////////////////////////////////////////////////////////////////////////////
65  // "Tight torsion" means use the width of the major peak in the torsion
66  // histogram to determine how strong the harmonic constraint will be. Otherwise, be less restrictive,
67  // and use width of the minor fatter peak that lies under the sharp peak.
68 
69  if ( rna_tight_torsions_ ) {
70  gaussian_parameter_set_alpha_.push_back( Gaussian_parameter(222.03, -64.11, 9.64) );
71  } else {
72  gaussian_parameter_set_alpha_.push_back( Gaussian_parameter(13.12, -73.74, 35.97) );
73  }
74  gaussian_parameter_set_alpha_.push_back( Gaussian_parameter(10.51, 66.01, 18.09) );
75  gaussian_parameter_set_alpha_.push_back( Gaussian_parameter(18.40, 161.80, 18.12) );
76 
77  if ( rna_tight_torsions_ ) {
78  gaussian_parameter_set_beta_.push_back( Gaussian_parameter(181.33, 176.33, 11.54) );
79  } else {
80  gaussian_parameter_set_beta_.push_back( Gaussian_parameter(32.30, 174.52, 43.56) );
81  }
82 
83  if ( rna_tight_torsions_ ) {
84  gaussian_parameter_set_gamma_.push_back( Gaussian_parameter(366.90, 53.08, 6.64) );
85  } else {
86  gaussian_parameter_set_gamma_.push_back( Gaussian_parameter(18.26, 56.59, 20.57) );
87  }
88  gaussian_parameter_set_gamma_.push_back( Gaussian_parameter(21.61, 178.19, 13.61) );
89  gaussian_parameter_set_gamma_.push_back( Gaussian_parameter(3.98, -64.02, 17.76) );
90 
91  gaussian_parameter_set_delta_north_.push_back( Gaussian_parameter(687.92, 82.90, 3.99) );
92  gaussian_parameter_set_delta_south_.push_back( Gaussian_parameter(53.18, 145.25, 6.35) );
93 
94  gaussian_parameter_set_epsilon_north_.push_back( Gaussian_parameter(178.08, -150.17, 14.64) );
95  gaussian_parameter_set_epsilon_north_.push_back( Gaussian_parameter(2.52, 68.28, 32.29) );
96 
97  gaussian_parameter_set_epsilon_south_.push_back( Gaussian_parameter(11.95, -98.45, 26.80) );
98  gaussian_parameter_set_epsilon_south_.push_back( Gaussian_parameter( 0.58, 159.70, 103.86) );
99 
100  if ( rna_tight_torsions_ ) {
101  gaussian_parameter_set_zeta_alpha_sc_minus_.push_back( Gaussian_parameter( 143.97, -71.45, 7.91) );
102  } else {
103  gaussian_parameter_set_zeta_alpha_sc_minus_.push_back( Gaussian_parameter( 78.74, -68.60, 16.19) );
104  }
105  // gaussian_parameter_set_zeta_alpha_sc_minus_.push_back( Gaussian_parameter( 2.43, 178.84, 114.82) );
106  gaussian_parameter_set_zeta_alpha_sc_minus_.push_back( Gaussian_parameter( 2.43, 178.84, 40.00) );
107 
108  gaussian_parameter_set_zeta_alpha_sc_plus_.push_back( Gaussian_parameter(2.08, -137.28, 63.12) );
109  gaussian_parameter_set_zeta_alpha_sc_plus_.push_back( Gaussian_parameter(3.37, 87.07, 32.69) );
110 
111  gaussian_parameter_set_zeta_alpha_ap_.push_back( Gaussian_parameter(13.65, -69.74, 15.28) );
112  gaussian_parameter_set_zeta_alpha_ap_.push_back( Gaussian_parameter(2.69, 63.03, 33.61) );
113 
114  //These need to be flipped by -180.0, due to change in chi def. from r++ to mini.
115  // gaussian_parameter_set_chi_north_.push_back( Gaussian_parameter(228.92, -100.57, 11.43) );
116  // gaussian_parameter_set_chi_north_.push_back( Gaussian_parameter( 1.07, 129.24, 26.11) );
117  gaussian_parameter_set_chi_north_.push_back( Gaussian_parameter(228.92, 79.43, 11.43) );
118  gaussian_parameter_set_chi_north_.push_back( Gaussian_parameter( 1.07, -50.76, 26.11) );
119 
120  // gaussian_parameter_set_chi_south_.push_back( Gaussian_parameter(12.53, -63.40, 25.23) );
121  // gaussian_parameter_set_chi_south_.push_back( Gaussian_parameter( 0.64, 130.09, 28.10) );
122  gaussian_parameter_set_chi_south_.push_back( Gaussian_parameter(12.53, 116.60, 25.23) );
123  gaussian_parameter_set_chi_south_.push_back( Gaussian_parameter( 0.64, -49.91, 28.10) );
124 
125  gaussian_parameter_set_nu2_north_.push_back( Gaussian_parameter(1148.01, 38.82, -2.77) );
126  gaussian_parameter_set_nu2_south_.push_back( Gaussian_parameter(173.15, -37.22, 3.00) );
127 
128  gaussian_parameter_set_nu1_north_.push_back( Gaussian_parameter(631.56, 95.34, 4.20) );
129  gaussian_parameter_set_nu1_south_.push_back( Gaussian_parameter(57.04, 155.51, 6.00) );
130 
131  }
132 
133 
134 
135 }
136 }
137 }