55 #include <basic/options/option.hh>
56 #include <basic/options/keys/run.OptionKeys.gen.hh>
58 #include <basic/Tracer.hh>
62 #include <numeric/random/random.hh>
65 #include <utility/exit.hh>
66 #include <basic/prof.hh>
67 #include <basic/Tracer.hh>
75 static basic::Tracer
TR(
"protocols.SurfaceDocking.FullatomRelaxMover");
76 static numeric::random::RandomGenerator
RG(27510);
79 namespace surface_docking {
91 TR <<
"FullatomRelaxMover Constructor Called" << std::endl;
100 TR <<
"Setting Defaults" << std::endl;
104 (
"standard",
"score12" );
106 TR <<
"Setting Weighs for score12" << std::endl;
122 using namespace basic::options;
123 using namespace basic::options::OptionKeys;
124 benchmark_ = option[ OptionKeys::run::benchmark ]();
132 Real tolerance=0.001;
171 TR <<
"Finalizing Movers" << std::endl;
174 Size protein_startseqnum;
177 protein_startseqnum=i;
182 TR<<
"Protein Start Location:"<<protein_startseqnum<<std::endl;
221 using namespace moves;
224 TR <<
"Starting FullatomRelax" << std::endl;
228 if ( basic::options::option[ basic::options::OptionKeys::run::benchmark ] ) {upper_limit = 1;}
232 for (
Size j = 1; j <=upper_limit; ++j ){
235 surfaceContact.
apply( pose );
243 for (
Size k = 1; k <= upper_limit; ++k ){
251 TR<<
"Solution State Structure Found"<<std::endl;
257 TR<<
"Calculating Secondary Structure of Solution State:"<<std::endl;
263 job_outputter()->output_name( job2 ) );
264 job2->add_string_string_pair(
"SolState_SecondaryStructure:",
SecStruct_);
266 other_pose( job2,pose,
"SolState_");
269 TR<<
"Preparing for Docking Protein to Surface"<<std::endl;
270 TR<<
"RigidBodyRandomizeMover"<<std::endl;
273 rmover.
apply( pose );
276 smover.
apply( pose );
281 surfaceContact.apply( pose );
284 TR<<
"Protein adsorbed onto the Surface:"<<std::endl;
288 TR<<
"Started HighResolution Surface Docking "<<std::endl;
291 dockmcm->apply(pose);
305 return "FullatomRelaxMover";
314 singlechain_poses = pose_tmp->split_by_chain();
317 for (
Size ii = 1; ii <= singlechain_poses[2]->total_residue(); ++ii ) {
318 SecStruct_+=singlechain_poses[2]->secstruct(ii);