Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
qsarOptFunc.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/qsar/qsarOptFunc.hh
11 /// @author Sam DeLuca
12 
13 #ifndef INCLUDED_protocols_qsar_qsarOptFunc_HH
14 #define INCLUDED_protocols_qsar_qsarOptFunc_HH
15 
18 // AUTO-REMOVED #include <basic/database/sql_utils.hh>
19 // AUTO-REMOVED #include <numeric/roc_curve.fwd.hh>
20 //external headers
21 #include <cppdb/frontend.h>
22 
23 #include <map>
24 #include <list>
25 
26 //Auto Headers
27 #include <utility/vector1.hh>
28 #include <utility/sql_database/DatabaseSessionManager.fwd.hh>
29 
30 #ifdef WIN32
31 #include <boost/uuid/uuid.hpp>
32 #endif
33 
34 namespace protocols {
35 namespace qsar {
36 
38 {
39  bool activity;
40  std::map<std::string,core::Real> score_map;
42 };
43 
44 
46 {
47 
48 public:
49 
51  utility::sql_database::sessionOP db_session,
52  core::optimization::Multivec const & initial_values,
53  std::map<std::string,core::Size> const & grid_indices);
54 
55  virtual ~qsarOptFunc() {}
56 
57 
58  void setup_data_map();
59 
60  void set_initial_values(core::optimization::Multivec const & initial_values);
61 
62  // func
63  virtual
65  operator ()( core::optimization::Multivec const & vars ) const;
66 
67  // dfunc
68  virtual
69  void
70  dfunc( core::optimization::Multivec const & vars, core::optimization::Multivec & dE_dvars ) const;
71 
72  /// @brief Error state reached -- derivative does not match gradient
73  virtual
74  void
75  dump( core::optimization::Multivec const & vars, core::optimization::Multivec const & vars2 ) const;
76 
77 private:
78 
79  qsarOptData get_struct_data(boost::uuids::uuid const & struct_id);
80 
81  std::list<qsarOptData> data_map_;
83  std::map<std::string,core::Size> grid_indices_;
84  cppdb::statement score_selection_;
85  cppdb::statement struct_id_selection_;
86  cppdb::statement tag_activity_selection_;
88 
89 };
90 
91 
92 }
93 }
94 
95 
96 #endif /* QSAROPTFUNC_HH_ */