28 #include <utility/sql_database/DatabaseSessionManager.hh>
29 #include <utility/vector1.hh>
30 #include <basic/database/sql_utils.hh>
31 #include <basic/database/schema_generator/PrimaryKey.hh>
32 #include <basic/database/schema_generator/ForeignKey.hh>
33 #include <basic/database/schema_generator/Column.hh>
34 #include <basic/database/schema_generator/Schema.hh>
37 #include <numeric/xyzVector.hh>
40 #include <cppdb/frontend.h>
41 #include <boost/uuid/uuid_io.hpp>
63 using utility::sql_database::sessionOP;
65 using cppdb::statement;
73 nv_score_(src.nv_score_)
92 using namespace basic::database::schema_generator;
94 Column struct_id(
"struct_id",
new DbUUID());
95 Column resNum(
"resNum",
new DbInteger());
96 Column ten_a_neighbors(
"ten_a_neighbors",
new DbInteger());
97 Column twelve_a_neighbors(
"twelve_a_neighbors",
new DbInteger());
99 Column sasa_r100(
"sasa_r100",
new DbReal());
100 Column sasa_r140(
"sasa_r140",
new DbReal());
101 Column sasa_r200(
"sasa_r200",
new DbReal());
103 Columns primary_key_columns;
104 primary_key_columns.push_back(struct_id);
105 primary_key_columns.push_back(resNum);
106 PrimaryKey primary_key(primary_key_columns);
108 Columns foreign_key_columns;
109 foreign_key_columns.push_back(struct_id);
110 foreign_key_columns.push_back(resNum);
112 reference_columns.push_back(
"struct_id");
113 reference_columns.push_back(
"resNum");
114 ForeignKey foreign_key(foreign_key_columns,
"residues", reference_columns,
true);
116 Schema table(
"residue_burial", primary_key);
117 table.add_foreign_key(foreign_key);
118 table.add_column(ten_a_neighbors);
119 table.add_column(twelve_a_neighbors);
120 table.add_column(neigh_vect_raw);
121 table.add_column(sasa_r100);
122 table.add_column(sasa_r140);
123 table.add_column(sasa_r200);
125 table.write(db_session);
131 dependencies.push_back(
"ResidueFeatures");
139 boost::uuids::uuid
const struct_id,
146 Real const probe_radius_s(1.0);
151 Real const probe_radius_m(1.4);
156 Real const probe_radius_l(2.0);
161 std::string statement_string =
"INSERT INTO residue_burial (struct_id, resNum, ten_a_neighbors, twelve_a_neighbors, neigh_vect_raw, sasa_r100, sasa_r140, sasa_r200) VALUES (?,?,?,?,?,?,?,?);";
162 statement stmt(basic::database::safely_prepare_statement(statement_string,db_session));
165 if(!relevant_residues[resNum])
continue;
168 Size const ten_a_neighbors(tenA.get_node(resNum)->num_neighbors_counting_self_static());
169 Size const twelve_a_neighbors(twelveA.get_node(resNum)->num_neighbors_counting_self_static());
172 nv_score_->residue_energy(res, pose, nv_emap);
174 stmt.bind(1,struct_id);
176 stmt.bind(3,ten_a_neighbors);
177 stmt.bind(4,twelve_a_neighbors);
179 stmt.bind(6,residue_sasa_s[resNum]);
180 stmt.bind(7,residue_sasa_m[resNum]);
181 stmt.bind(8,residue_sasa_l[resNum]);
182 basic::database::safely_write_to_database(stmt);