17 #include <basic/Tracer.hh>
23 #include <utility/tag/Tag.hh>
25 #include <utility/vector0.hh>
26 #include <utility/excn/Exceptions.hh>
27 #include <utility/vector1.hh>
31 namespace ligand_docking {
33 static basic::Tracer
ligand_area_tracer(
"protocols.ligand_docking.ligand_options.LigandArea", basic::t_debug);
39 Calpha_restraints_(0),
42 high_res_angstroms_(0.1),
43 high_res_degrees_(2.8648),
44 add_nbr_radius_(false),
53 if ( ! tag->hasOption(
"chain") )
throw utility::excn::EXCN_RosettaScriptsOption(
"'LigandArea' requires 'chain' tag");
54 chain_= tag->getOption<
char>(
"chain");
56 if ( ! tag->hasOption(
"cutoff") )
throw utility::excn::EXCN_RosettaScriptsOption(
"'LigandArea' requires 'cutoff' tag");
59 if ( tag->hasOption(
"Calpha_restraints") )
62 if ( tag->hasOption(
"minimize_ligand") )
65 if ( tag->hasOption(
"tether_ligand") )
68 if(tag->getOption<
std::string>(
"add_nbr_radius") ==
"true")
70 else if(tag->getOption<
std::string>(
"add_nbr_radius") !=
"false")
71 throw utility::excn::EXCN_RosettaScriptsOption(
"'add_nbr_radius' option is true or false");
73 if(tag->getOption<
std::string>(
"all_atom_mode") ==
"true")
75 else if(tag->getOption<
std::string>(
"all_atom_mode") !=
"false")
76 throw utility::excn::EXCN_RosettaScriptsOption(
"'all_atom_mode' option is true or false");
78 if ( tag->hasOption(
"high_res_angstroms") )
81 if ( tag->hasOption(
"high_res_degrees") )