25 #include <basic/database/open.hh>
27 #include <numeric/interpolation/util.hh>
28 #include <numeric/interpolation/spline/SimpleInterpolator.hh>
30 #include <utility/tag/Tag.hh>
31 #include <utility/tools/make_vector.hh>
32 #include <utility/vector0.hh>
33 #include <utility/vector1.hh>
38 namespace scoring_grid {
49 vdw_grid->parse_my_tag(tag);
67 std::string lj_file(basic::database::full_name(
"scoring/qsar/lj_table.txt"));
68 lj_spline_ = numeric::interpolation::spline_from_file(lj_file,0.01).get_interpolator();
94 if(residue.
chain() == chain_id)
127 for(
core::Size atom_index = 1; atom_index <= residue.
natoms() && score < max_score; ++atom_index )
137 lj_spline_->interpolate(max_radius-radius,spline_score,spline_score_deriv);
139 score += spline_score;
155 lj_spline_->interpolate(max_radius-radius,spline_score,spline_score_deriv);
164 using utility::json_spirit::Value;
165 using utility::json_spirit::Pair;
167 Pair cutoff_data(
"cutoff",Value(
cutoff_));
168 Pair spline_data(
"spline",
lj_spline_->serialize());
173 return Value(utility::tools::make_vector(cutoff_data,spline_data,base_data));
178 cutoff_ = data[
"cutoff"].get_real();
179 numeric::interpolation::spline::InterpolatorOP interp =
new numeric::interpolation::spline::SimpleInterpolator;
180 interp->deserialize(data[
"spline"].get_obj());