20 #include <utility/tag/Tag.hh>
21 #include <utility/vector0.hh>
22 #include <utility/vector1.hh>
23 #include <utility/tools/make_vector.hh>
24 #include <utility/excn/Exceptions.hh>
25 #include <utility/json_spirit/json_spirit_value.h>
29 namespace scoring_grid {
40 atr_grid->parse_my_tag(tag);
72 if (tag->hasOption(
"bb") || tag->hasOption(
"sc") || tag->hasOption(
"ligand") ){
74 if (!(tag->hasOption(
"bb") && tag->hasOption(
"sc") && tag->hasOption(
"ligand") ) ){
75 throw utility::excn::EXCN_RosettaScriptsOption(
"'AtrGrid' requires bb, sc, and ligand if any one of these are used");
82 if(tag->hasOption(
"inner_radius") || tag->hasOption(
"outer_radius")){
84 if(!(tag->hasOption(
"inner_radius") && tag->hasOption(
"outer_radius"))){
85 throw utility::excn::EXCN_RosettaScriptsOption(
"'AtrGrid' requires outer_radius and inner_radius if either of these options are used");
94 using utility::json_spirit::Value;
95 using utility::json_spirit::Pair;
99 Pair bb(
"bb",Value(
bb_));
100 Pair sc(
"sc",Value(
sc_));
101 Pair ligand(
"ligand",Value(
ligand_));
104 return Value(utility::tools::make_vector(radius,bb,sc,ligand,base_data));
110 utility::json_spirit::mArray radius(data[
"radius"].get_array());
113 bb_ = data[
"bb"].get_real();
114 sc_ = data[
"sc"].get_real();
115 ligand_ = data[
"ligand"].get_real();
122 this->
refresh(pose, center, ligand_chain_ids_to_exclude);
128 ligand_chain_ids_to_exclude.push_back(ligand_chain_id_to_exclude);
129 this->
refresh(pose, center, ligand_chain_ids_to_exclude);
151 ligand_chain_ids_to_exclude.begin(),
152 ligand_chain_ids_to_exclude.end(),
154 ) == ligand_chain_ids_to_exclude.end()