37 #include <basic/Tracer.hh>
38 #include <utility/vector1.hh>
41 #include <utility/tag/Tag.hh>
46 #include <utility/vector0.hh>
50 static basic::Tracer
TR(
"protocols.flxbb.InterlockAroma");
70 return "InterlockAroma";
75 Mover(
"InterlockAroma" ),
78 max_repulsion_energy_( 30.0 ),
79 min_env_energy_( -0.5 ),
80 limit_aroma_chi2_( true ),
81 output_pdbs_( false ),
89 scorefxn_( rval.scorefxn_ ),
90 input_ss_ ( rval.input_ss_ ),
91 max_repulsion_energy_( rval.max_repulsion_energy_ ),
92 min_env_energy_( rval.min_env_energy_ ),
93 limit_aroma_chi2_( rval.limit_aroma_chi2_ ),
94 output_pdbs_( rval.output_pdbs_ ),
95 verbose_( rval.verbose_ )
144 ss = dssp.get_dssp_secstruct();
151 taskf.push_back(
new LimitAromaChi2Operation );
153 PackerTaskOP ptask( taskf.create_task_and_apply_taskoperations( pose ) );
159 MakePolyXMover bap(
"ALA",
false,
true ,
false );
160 Pose polyala_pose( pose );
161 bap.apply( polyala_pose );
166 (*scorefxn_)( polyala_pose );
172 InterlockingAromaFilter ilfilter;
176 if( ss.at( ii-1 ) !=
'L' && ss.at( ii-1 ) !=
'H' )
continue;
181 ptask->nonconst_residue_task( ii ).restrict_absent_canonical_aas( restrict_to_aa );
182 ptask->set_bump_check(
true );
185 RotamerSetFactory rsf;
187 rotset->set_resid( ii );
191 for( Rotamers::const_iterator rotamer = rotset->begin(); rotamer != rotset->end(); ++rotamer ) {
194 Pose work_pose( polyala_pose );
199 (*scorefxn_)( work_pose );
205 Real dfarep = farepE_mut - farepE_ref;
209 Real denvE = envE_mut - envE_ref;
213 Real dfaatrE = faatrE_mut - faatrE_ref;
215 if( ilfilter.compute( ii, work_pose, ssinfo ) ) {
219 filename <<
"interlock_" << ii <<
"." << rotnum <<
".pdb";
220 work_pose.
dump_pdb( filename.str() );
224 TR << ii <<
" " << rotnum <<
" " << dfarep <<
" " << denvE <<
" " << dfaatrE << std::endl;
248 String const sfxn ( tag->getOption<
String>(
"scorefxn",
"soft_rep" ));
254 TR <<
"max_repulsion_energy: " << max_repulsion_energy_ <<
", min_env_energy: " << min_env_energy_ << std::endl;
258 if( blueprint !=
"" ){
266 output_pdbs_ = tag->getOption<
bool>(
"output_pdbs", 0 );
267 verbose_ = tag->getOption<
bool>(
"verbose", 0 );