Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Faraggi_SA.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 protocols/frag_picker/Faraggi_SA.cc
11 /// @brief Faraggi maximum SA values from Faraggi et al. Proteins 2008
12 /// @author David E Kim
13 
15 
16 // utility headers
17 #include <utility/exit.hh>
18 
19 // project headers
20 
21 // C++ headers
22 #include <map>
23 
24 namespace protocols {
25 namespace frag_picker {
26 
27 // BEGIN local functions
28 
29 /// @brief setup the faraggi SA max map, see Faraggi et al. Proteins 2008
30 std::map< char, core::Real > setup_faraggi_map() {
31  std::map< char, core::Real > sa_max;
32  sa_max[ 'R' ] = 271.0;
33  sa_max[ 'K' ] = 257.0;
34  sa_max[ 'D' ] = 183.0;
35  sa_max[ 'E' ] = 286.0;
36  sa_max[ 'N' ] = 188.0;
37  sa_max[ 'Q' ] = 215.0;
38  sa_max[ 'H' ] = 238.0;
39  sa_max[ 'Y' ] = 250.0;
40  sa_max[ 'W' ] = 260.0;
41  sa_max[ 'S' ] = 181.0;
42  sa_max[ 'T' ] = 192.0;
43  sa_max[ 'G' ] = 136.0;
44  sa_max[ 'P' ] = 170.0;
45  sa_max[ 'A' ] = 169.0;
46  sa_max[ 'M' ] = 236.0;
47  sa_max[ 'C' ] = 139.0;
48  sa_max[ 'F' ] = 221.0;
49  sa_max[ 'L' ] = 221.0;
50  sa_max[ 'V' ] = 171.0;
51  sa_max[ 'I' ] = 210.0;
52  sa_max[ 'r' ] = 271.0;
53  sa_max[ 'k' ] = 257.0;
54  sa_max[ 'd' ] = 183.0;
55  sa_max[ 'e' ] = 286.0;
56  sa_max[ 'n' ] = 188.0;
57  sa_max[ 'q' ] = 215.0;
58  sa_max[ 'h' ] = 238.0;
59  sa_max[ 'y' ] = 250.0;
60  sa_max[ 'w' ] = 260.0;
61  sa_max[ 's' ] = 181.0;
62  sa_max[ 't' ] = 192.0;
63  sa_max[ 'g' ] = 136.0;
64  sa_max[ 'p' ] = 170.0;
65  sa_max[ 'a' ] = 169.0;
66  sa_max[ 'm' ] = 236.0;
67  sa_max[ 'c' ] = 139.0;
68  sa_max[ 'f' ] = 221.0;
69  sa_max[ 'l' ] = 221.0;
70  sa_max[ 'v' ] = 171.0;
71  sa_max[ 'i' ] = 210.0;
72  return sa_max;
73 }
74 
75 /// @brief faraggi SA max map
76 inline std::map< char, core::Real > & sa_faraggi_max() {
77  // static initialization only happens once
78  static std::map< char, core::Real > * sa_faraggi_max_ = new std::map< char, core::Real >( setup_faraggi_map() );
79  return *sa_faraggi_max_;
80 }
81 
82 // END local functions
83 
85  std::map< char, core::Real >::const_iterator iter = sa_faraggi_max().find( aa );
86  if ( iter == sa_faraggi_max().end() )
87  utility_exit_with_message( "unrecognized sa_faraggi_max aa " + aa );
88  return iter->second;
89 }
90 
91 } // frag_picker
92 } // protocols
93 
94 
95