38 #include <basic/options/option.hh>
39 #include <basic/options/keys/flxbb.OptionKeys.gen.hh>
40 #include <basic/Tracer.hh>
41 #include <utility/tag/Tag.hh>
42 #include <utility/vector1.hh>
47 static basic::Tracer
TR(
"protocols.fldsgn.SheetConstraintsRCG" );
66 return "SheetCstGenerator";
71 RemodelConstraintGenerator(),
74 angle_tolerance_( 0.35 ),
75 cacb_dihedral_tolerance_( 0.9 ),
76 bb_dihedral_tolerance_( 0.52 ),
77 constrain_dist_only_( false ),
83 RemodelConstraintGenerator( rval ),
84 weight_( rval.weight_ ),
86 angle_tolerance_( rval.angle_tolerance_ ),
87 cacb_dihedral_tolerance_( rval.cacb_dihedral_tolerance_ ),
88 bb_dihedral_tolerance_( rval.bb_dihedral_tolerance_ ),
89 constrain_dist_only_( rval.constrain_dist_only_ ),
90 blueprint_( rval.blueprint_ )
95 RemodelConstraintGenerator(),
98 angle_tolerance_( 0.35 ),
99 cacb_dihedral_tolerance_( 0.9 ),
100 bb_dihedral_tolerance_( 0.52 ),
101 constrain_dist_only_( false ),
107 RemodelConstraintGenerator(),
110 angle_tolerance_( 0.35 ),
111 cacb_dihedral_tolerance_( 0.9 ),
112 bb_dihedral_tolerance_( 0.52 ),
113 constrain_dist_only_( false ),
119 RemodelConstraintGenerator(),
122 angle_tolerance_( 0.35 ),
123 cacb_dihedral_tolerance_( 0.9 ),
124 bb_dihedral_tolerance_( 0.52 ),
125 constrain_dist_only_( false ),
139 RemodelConstraintGenerator::parse_my_tag( tag, data, filters, movers, pose );
174 if ( blueprint_file ==
"" ) {
175 utility_exit_with_message(
"SheetCstGenerator requires a blueprint file" );
179 utility_exit_with_message(
"SheetCstGenerator tried to read a blueprint file, but failed to create the proper object." );
278 TR <<
"Blueprint num res=" <<
blueprint_->total_residue() << std::endl;
279 TR <<
"Pose nres protein=" << nres << std::endl;
280 runtime_assert( nres ==
blueprint_->total_residue() );
282 TR <<
"Blueprint file is used for determining constrained residue pairs. " << std::endl;
283 TR <<
"Constrains between CA-CA atoms in sheet are applied for the following residues. " << std::endl;
287 StrandPairingSet spairset(
blueprint_->strand_pairings(), ssinfo );
291 StrandPairing spair=**it;
292 for(
core::Size iaa=spair.begin1(); iaa<=spair.end1(); iaa++ ) {
294 TR << iaa <<
' ' << jaa << std::endl;
300 ( basic::options::option[ basic::options::OptionKeys::flxbb::constraints_sheet_include_cacb_pseudotorsion ].value() ) ){
309 if( spair.orient() ==
'P' ){
313 else if( spair.orient() ==
'A' ){
321 TR <<
"Added dihedral constraint between residues " << iaa <<
" and " << jaa << std::endl;