Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResidueDatabaseIO.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/core/chemical/ResidueDatabaseIO.hh
11 /// @author Sam DeLuca
12 /// @author Matthew O'Meara
13 
14 #ifndef INCLUDED_core_chemical_ResidueDatabaseIO_hh
15 #define INCLUDED_core_chemical_ResidueDatabaseIO_hh
16 
17 #include <utility/pointer/ReferenceCount.hh>
20 #include <utility/sql_database/DatabaseSessionManager.fwd.hh>
26 
27 #include <map>
28 
29 namespace core {
30 namespace chemical {
31 
32 
34 public:
35 
37 
38  virtual ~ResidueDatabaseIO();
39 
40  ///@brief generate the table schemas and write them to the database
41  void
43  utility::sql_database::sessionOP db_session) const;
44 
45 private:
46  ///@brief generate the residue_type table schema
47  void
49  utility::sql_database::sessionOP db_session) const;
50 
51  ///@brief generate the residue_type_atom table schema
52  void
54  utility::sql_database::sessionOP db_session) const;
55 
56  ///@brief generate the residue_type_bond table schema
57  void
59  utility::sql_database::sessionOP db_session) const;
60 
61  ///@brief generate the residue_type_cut_bond table schema
62  void
64  utility::sql_database::sessionOP db_session) const;
65 
66  ///@brief generate the residue_type_chi table schema
67  void
69  utility::sql_database::sessionOP db_session) const;
70 
71  ///@brief generate the residue_type_chi_rotamer table schema
72  void
74  utility::sql_database::sessionOP db_session) const;
75 
76  ///@brief generate the residue_type_proton_chi table schema
77  void
79  utility::sql_database::sessionOP db_session) const;
80 
81  ///@brief generate the residue_type_property table schema
82  void
84  utility::sql_database::sessionOP db_session) const;
85 
86  ///@brief generate the residue_type_variant_type table schema
87  void
89  utility::sql_database::sessionOP db_session) const;
90 
91  ///@brief generate the residue_type_icoor table schema
92  void
94  utility::sql_database::sessionOP db_session) const;
95 
96 public:
97  ///@brief write the schema
98  void initialize(utility::sql_database::sessionOP db_session);
99 
101 
103  std::string const & residue_type_set_name,
104  core::chemical::ResidueType const & res_type,
105  utility::sql_database::sessionOP db_session) ;
106 
108  chemical::AtomTypeSetCAP atom_types,
109  chemical::ElementSetCAP elements,
110  chemical::MMAtomTypeSetCAP mm_atom_types,
111  chemical::orbitals::OrbitalTypeSetCAP orbital_atom_types,
112  std::string const & residue_type_set_name,
113  std::string const & residue_type_name,
114  utility::sql_database::sessionOP db_session) ;
115 
116  utility::vector1<std::string> get_all_residues_in_database(utility::sql_database::sessionOP db_session) ;
117 
118 private:
119 
122  std::string residue_name,
123  core::Size atom_index,
124  utility::sql_database::sessionOP db_session) ;
125 
126 
127  void
129  std::string const & residue_type_set_name,
130  core::chemical::ResidueType const & res_type,
131  utility::sql_database::sessionOP db_session) ;
132 
133  void
135  std::string const & residue_type_set_name,
136  std::string const & residue_type_name,
137  core::chemical::ResidueType & res_type,
138  utility::sql_database::sessionOP db_session) ;
139 
140  void
142  std::string const & residue_type_set_name,
143  core::chemical::ResidueType const & res_type,
144  utility::sql_database::sessionOP db_session) ;
145 
146  void
148  std::string const & residue_type_set_name,
149  std::string const & residue_type_name,
150  core::chemical::ResidueType & res_type,
151  utility::sql_database::sessionOP db_session) ;
152 
153  void
155  std::string const & residue_type_set_name,
156  core::chemical::ResidueType const & res_type,
157  utility::sql_database::sessionOP db_session) ;
158 
159  void
161  std::string const & residue_type_set_name,
162  std::string const & residue_type_name,
163  core::chemical::ResidueType & res_type,
164  utility::sql_database::sessionOP db_session) ;
165  void
167  std::string const & residue_type_set_name,
168  core::chemical::ResidueType const & res_type,
169  utility::sql_database::sessionOP db_session) ;
170 
171  void
173  std::string const & residue_type_set_name,
174  std::string const & residue_type_name,
175  core::chemical::ResidueType & res_type,
176  utility::sql_database::sessionOP db_session) ;
177 
178  void
180  std::string const & residue_type_set_name,
181  core::chemical::ResidueType const & res_type,
182  utility::sql_database::sessionOP db_session) ;
183 
184  void
186  std::string const & residue_type_set_name,
187  std::string const & residue_type_name,
188  core::chemical::ResidueType & res_type,
189  utility::sql_database::sessionOP db_session) ;
190 
191  void
193  std::string const & residue_type_set_name,
194  core::chemical::ResidueType const & res_type,
195  utility::sql_database::sessionOP db_session) ;
196 
197  void
199  std::string const & residue_type_set_name,
200  std::string const & residue_type_name,
201  core::chemical::ResidueType & res_type,
202  utility::sql_database::sessionOP db_session) ;
203 
204  void
206  std::string const & residue_type_set_name,
207  core::chemical::ResidueType const & res_type,
208  utility::sql_database::sessionOP db_session) ;
209 
210  void
212  std::string const & residue_type_set_name,
213  std::string const & residue_type_name,
214  core::chemical::ResidueType & res_type,
215  utility::sql_database::sessionOP db_session) ;
216 
217  void
219  std::string const & residue_type_set_name,
220  core::chemical::ResidueType const & res_type,
221  utility::sql_database::sessionOP db_session) ;
222 
223  void
225  std::string const & residue_type_set_name,
226  std::string const & residue_type_name,
227  core::chemical::ResidueType & res_type,
228  utility::sql_database::sessionOP db_session) ;
229 
230 
231  void
233  std::string const & residue_type_set_name,
234  core::chemical::ResidueType const & res_type,
235  utility::sql_database::sessionOP db_session) ;
236 
237  void
239  std::string const & residue_type_set_name,
240  std::string const & residue_type_name,
241  core::chemical::ResidueType & res_type,
242  utility::sql_database::sessionOP db_session) ;
243 
244  void
246  std::string const & residue_type_set_name,
247  core::chemical::ResidueType const & res_type,
248  utility::sql_database::sessionOP db_session) ;
249 
250  void
252  std::string const & residue_type_set_name,
253  std::string const & residue_type_name,
254  core::chemical::ResidueType & res_type,
255  utility::sql_database::sessionOP db_session) ;
256 
257 
258 private:
260 
261  std::map<std::pair<std::string,core::Size>, std::string > atom_name_id_cache_;
262 
263 };
264 
265 
266 
267 }
268 }
269 
270 
271 #endif /* RESIDUE_DBIO_HH_ */