38 #include <utility/tag/Tag.hh>
46 #include <basic/options/option.hh>
47 #include <basic/options/keys/jd2.OptionKeys.gen.hh>
49 #include <basic/Tracer.hh>
50 #include <utility/vector0.hh>
51 #include <utility/vector1.hh>
56 namespace protein_interface_design {
61 using namespace core::scoring;
62 using namespace protocols::moves;
63 using namespace protocols::forge::build;
64 using namespace protocols::forge::components;
66 static basic::Tracer
TR(
"protocols.protein_interface_design.movers.VLB" );
106 using namespace basic::options;
107 using namespace basic::options::OptionKeys;
108 if( option[ jd2::ntrials ].user() ) ntrials = option[ jd2::ntrials ]() ;
109 while( ntrials > 0 ) {
118 TR <<
"VLB mover status was not properly set! Aborting.";
139 protocols::moves::
Mover( init ) {
162 using namespace protocols::rosetta_scripts;
172 if( tag->getName() ==
"Bridge" ) {
174 string const res1( tag->getOption<
std::string >(
"left" ) );
176 string const res2( tag->getOption<
std::string >(
"right" ) );
179 string const ss( tag->getOption<
std::string >(
"ss",
"" ) );
180 string const aa( tag->getOption<
std::string >(
"aa",
"" ) );
183 instruction =
new Bridge( ival, ss, aa );
185 if( tag->getName() ==
"ConnectRight" ) {
187 string const res1( tag->getOption<
std::string >(
"left" ) );
189 string const res2( tag->getOption<
std::string >(
"right" ) );
192 string const pose_fname( tag->getOption<
std::string >(
"pdb",
"" ) );
193 runtime_assert( pose_fname !=
"" );
196 instruction =
new ConnectRight( left, right, connect_pose );
198 if( tag->getName() ==
"GrowLeft" ) {
206 string const res1( tag->getOption<
std::string >(
"pos" ) );
209 string const ss( tag->getOption<
std::string >(
"ss",
"" ) );
210 string const aa( tag->getOption<
std::string >(
"aa",
"" ) );
212 instruction =
new GrowLeft( pos, ss, aa );
214 if( tag->getName() ==
"GrowRight" ) {
216 string const res1( tag->getOption<
std::string >(
"pos" ) );
219 string const ss( tag->getOption<
std::string >(
"ss",
"" ) );
220 string const aa( tag->getOption<
std::string >(
"aa",
"" ) );
222 instruction =
new GrowRight( pos, ss, aa );
226 if( tag->getName() ==
"SegmentInsert" ) {
243 string const res1( tag->getOption<
std::string >(
"left" ) );
245 string const res2( tag->getOption<
std::string >(
"right" ) );
249 string const ss( tag->getOption<
std::string >(
"ss",
"L^L" ) );
250 string const aa( tag->getOption<
std::string >(
"aa",
"" ) );
251 bool const keep_bb_torsions( tag->getOption<
bool >(
"keep_bb_torsions",
"0" ));
252 string const pose_fname( tag->getOption<
std::string >(
"pdb",
"" ) );
254 runtime_assert( pose_fname !=
"" );
258 string const side( tag->getOption<
std::string >(
"side",
"" ) );
264 instruction =
new SegmentInsert( ival, ss, insert_pose, keep_bb_torsions, connect_side );
268 if( tag->getName() ==
"SegmentRebuild" ) {
270 string const res1( tag->getOption<
std::string >(
"left" ) );
272 string const res2( tag->getOption<
std::string >(
"right" ) );
276 string const ss( tag->getOption<
std::string >(
"ss",
"" ) );
277 string const aa( tag->getOption<
std::string >(
"aa",
"" ) );
282 if( tag->getName() ==
"SegmentSwap" ) {
287 string const res1( tag->getOption<
std::string >(
"left" ) );
289 string const res2( tag->getOption<
std::string >(
"right" ) );
294 string const pose_fname( tag->getOption<
std::string >(
"pdb",
"" ) );
295 runtime_assert( pose_fname !=
"" );
306 runtime_assert(
manager_->compatibility_check() );
307 TR<<
"defined VLB mover with " <<
manager_->size() <<
" instructions." << std::endl;