Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PairingLibrary.hh
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 src/protocols/jumping/PairingTemplate
11 /// @brief header file for ClassicAbinitio protocol
12 /// @detailed
13 /// from converting jumping_pairings.cc of rosetta++ into mini
14 ///
15 ///
16 ///
17 /// @author Oliver Lange
18 
19 
20 
21 #ifndef INCLUDED_protocols_jumping_PairingLibrary_hh
22 #define INCLUDED_protocols_jumping_PairingLibrary_hh
23 
24 // Unit Headers
25 
26 // Package Headers
27 
28 // Project Headers
29 #include <core/pose/Pose.fwd.hh>
30 #include <core/types.hh>
31 
34 
35 // AUTO-REMOVED #include <core/scoring/dssp/PairingsList.hh>
36 
37 // ObjexxFCL Headers
38 #include <ObjexxFCL/FArray1D.hh>
39 
40 // Utility headers
41 #include <utility/pointer/ReferenceCount.hh>
42 // AUTO-REMOVED #include <utility/vector1.hh>
43 #include <core/kinematics/RT.hh>
45 
46 //// C++ headers
47 #include <cstdlib>
48 #include <string>
49 #include <map>
50 // AUTO-REMOVED #include <vector>
51 
53 #include <utility/vector1.hh>
54 
55 
56 namespace protocols {
57 namespace jumping {
58 
59 
62 public:
63 
64  //create template with identical set of three upstream and downstream atoms to define their stubs
65  PairingTemplate( std::string const& c, std::string const& s1, std::string const& s2, std::string const& s3);
66  PairingTemplate( std::string const& s1, std::string const& s2, std::string const& s3);
68  ObjexxFCL::FArray1D_float phi;
69  ObjexxFCL::FArray1D_float psi;
70  ObjexxFCL::FArray1D_float omega;
71  ObjexxFCL::FArray1D_char secstruct;
74 };
75 
76 /// @brief returns relative orientation of chains at res1 and res2
77 /// this is the inner product of the respective N-C vectors.
78 //void compute_orientation_and_pleating( core::pose::Pose const&, core::Size res1, core::Size res2, core::Size &orientation, core::Size &pleating);
79 
81 public:
82  virtual ~BasePairingLibrary();
83 
84  virtual void
86  int const orientation,
87  int const pleating,
88  bool bWithTorsion,
90  ) const = 0;
91 
92  virtual void
94  core::scoring::dssp::PairingsList const& pairings,
95  core::kinematics::MoveMap const& mm,
96  bool bWithTorsion,
97  core::fragment::FragSet& frags_accumulator
98  ) = 0;
99 };
100 
102  typedef std::vector< PairingTemplate > PairingTemplateList;
103  typedef std::map< std::pair< int, int >, PairingTemplateList > PairingTemplateMap;
104 public:
106  void read_from_file( std::string const& fn);
107  void read_from_file_no_filters( std::string const& fn); /*Version which does not assume the jump is a beta sheet */
108  //void read_from_database();
109 
110  /// @brief classic rosetta++ accessor
112  int const orientation,
113  int const pleating
114  ) const;
115  /// @brief classic rosetta++ accessor
116  core::kinematics::RT get_random_tmh_jump(int const orientation,
117  int const pos1,
118  int const pos2
119  ) const;
120  void
122  int const jump_number,
123  int const orientation,
124  int const pos1,
125  int const pos2
126  ) const;
127  /// @brief puts all jump-geometries that fit the orientation and pleating into
128  /// list of FragData's. Try to reuse these FragData for different Frames that have same orientation and pleating
129  /// This creates Fragments with single JumpSRFD --- PairingLibrary also stores phi/psi/omega of start and end residue
130  /// use bWithTorsion = true to get FragData with BBTorsionSRFD and JumpSRFD
131  /// length of single FragData is
132  /// noTorsion 1
133  /// withTorsion 3
134  /// bWithTorsion = true length of single FragData is 3 start jump end
135  void
137  int const orientation,
138  int const pleating,
139  bool bWithTorsion,
141  ) const;
142 
143  core::Size
144  size() const {
145  return num_of_pairings_;
146  }
147 
148  void
150  core::scoring::dssp::PairingsList const & pairings,
151  core::kinematics::MoveMap const & mm,
152  bool bWithTorsion,
153  core::fragment::FragSet & frags_accumulator
154  );
155 
156 private:
159 };
160 
162 public:
163 
164 private:
165 };
166 
168 public:
170 private:
173 };
174 
175 
176 } //protocols
177 } //jumping
178 
179 #endif
180